diff options
Diffstat (limited to 'Master')
97 files changed, 67731 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/latex/tudscr/LICENSE b/Master/texmf-dist/doc/latex/tudscr/LICENSE new file mode 100644 index 00000000000..227e61450bc --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/LICENSE @@ -0,0 +1,26 @@ +============================================================================ + + TUD-KOMA-Script + Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + +============================================================================ + + This work may be distributed and/or modified under the conditions of the + LaTeX Project Public License, version 1.3c of the license. The latest + version of this license is in http://www.latex-project.org/lppl.txt and + version 1.3c or later is part of all distributions of LaTeX 2005/12/01 + or later and of this work. This work has the LPPL maintenance status + "author-maintained". The current maintainer and author of this work + is Falk Hanisch. + +---------------------------------------------------------------------------- + + Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, + Version 1.3c, verteilt und/oder verändert werden. Die neuste Version + dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c + ist Teil aller Verteilungen von LaTeX 2005/12/01 oder später und dieses + Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", + wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und + Autor dieses Werkes ist Falk Hanisch. + +============================================================================ diff --git a/Master/texmf-dist/doc/latex/tudscr/README b/Master/texmf-dist/doc/latex/tudscr/README new file mode 100644 index 00000000000..3a863e5998f --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/README @@ -0,0 +1,187 @@ + +TUD-KOMA-Script +=============== + +TUD-KOMA-Script 2014/12/17 v2.02 +Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + +This material is subject to the LaTeX Project Public License. +See http://www.latex-project.org/lppl.txt for the details of that license. + +English text below + +------------------------------------------------------------------------------- + +Zusammenfassung +--------------- + +Das TUD-KOMA-Script-Bundle stellt sowohl Klassen als auch Pakete bereit, um +LaTeX-Dokumente im Corporate Design der Technischen Universität Dresden zu +erstellen. Es basiert auf dem KOMA-Script-Bundle, welches zwingend vorhanden +sein muss. Außerdem sind die PostScript-Schriftfamilien Univers und DIN-Bold +erforderlich. Mitarbeiter und Studenten der Technischen Universität Dresden +können diese unter https://tu-dresden.de/service/publizieren/cd/4_latex vom +Universitätsmarketing mit dem Hinweis auf die Verwendung von LaTeX anfordern. + +Für die Installation der PostScript-Schriften sei auf den entsprechenden +Release unter https://github.com/tud-cd/tudscr/releases/tag/fonts und das +LaTeX-Forum der Technischen Universität Dresden verwiesen: +http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php + + +Klassen und Pakete +------------------ + +Das Bundle beinhaltet: + ++ die drei Dokumentklassen `tudscrartcl`, `tudscrreprt`, `tudscrbook` als + Wrapper-Klassen von `scrartcl`, `scrreprt` and `scrbook`, ++ das Paket `tudscrsupervisor`, welches Umgebungen und Befehle für die + Erstellung von Aufgabenstellungen, Gutachten und Aushängen bereitstellt, ++ das Paket `tudscrfonts`, das die Schriften des Corporate Designs der + Technischen Universität Dresden für die LaTeX-Standard-Klassen und die + KOMA-Script-Klassen nutzbar macht, ++ das Paket `mathswap` für das Austauschen mathematischer Trennzeichen + innerhalb von Zahlen (ähnlich zu `ionumbers`), ++ das Paket `twocolfix` zur Fehlerbefehbung der Position von Überschriften im + zweispaltigen Layout und ++ eine umfassende Anwenderdokumentation sowie mehrere Tutorials. + +Versionen +--------- + + +**v2.02** (2014/12/17) + ++ Paket `tudscrfonts` ++ Probleme mit der Klasse `standalone` behoben ++ Laden der Schriften des Corporate Designs im OpenType-Format mit `fontspec` + ermöglicht ++ verbesserte Installationsroutine der PostScript-Schriften ++ Seiten im Stil des Corporate Designs werden mithilfe des Paketes + `scrlayer-scrpage` erzeugt ++ verschiedene Optionen und Befehle zur individuellen Gestaltung dieser Seiten ++ Unterstützung der KOMA-Script-Schriftelemente für Titel und Umschlagseite ++ Befehle und Umgebungen für Zusammenfassung, Selbstständigkeitserklärung und + Sperrvermerk wurden verbessert ++ Fussnoten in Überschriften können per Option mit Symbolen gesetzt werden ++ einige Befehle wurden für Kompatibilität zu anderen Paketen umbenannt ++ Funktionalität des Paketes `mathswap` im Dokument umschaltbar + + +**v2.01b** (2014/06/04) + ++ Bug bei Aufgabenstellung behoben (tudscrsupervisor) + + +**v2.01a** (2014/06/03) + ++ Bug bei der Verwendung des Untertitels behoben + + +**v2.01** (2014/04/24) + ++ Fehlerkorrekturen beim Kerning der Ziffern und bei der Schriftstärke auf der + Titelseite + + +**v2.00** (2014/04/22) + ++ Das TUD-KOMA-Script-Bundle wurde von Grund auf überarbeitet und mittels + `docstrip` erzeugt. Viele Fehler wurden entfernt und die Robustheit der + Befehle und Optionen wurde erhöht. Die Verwendung der Schriften, insbesondere + für den mathematischen Satz, wurde entscheidend verbessert. Weiterhin erfuhr + das Handbuch des Bundles eine komplette Überarbeitung, wurde erweitert und um + mehrere Indexe ergänzt. + + +**v1.0** (2012/10/31) + ++ erste Version des TUD-KOMA-Script-Bundles + +------------------------------------------------------------------------------- + +Summary +------- + +The TUD-KOMA-Script bundle provides both classes and packages in order to +create LaTeX documents in the corporate design of the Technische Universität +Dresden. It bases on the KOMA-Script bundle, which must necessarily be present. +In addition, the PostScript font families Univers and DIN-Bold are required. +Employees and students of the Technische Universität Dresden can request these +fonts via https://tu-dresden.de/service/publizieren/cd/4_latex from the +university marketing university marketing with regard to the use of LaTeX. + +To install the PostScript fonts, please refer to the corresponding release +under https://github.com/tud-cd/tudscr/releases/tag/fonts and the LaTeX forum +of the Technische Universität Dresden: +http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php + +Classes and Packages +-------------------- + +The bundle offers: + ++ the three document classes `tudscrartcl`, `tudscrreprt`, `tudscrbook` as + wrapper classes for `scrartcl`, `scrreprt` and `scrbook`, ++ the package `tudscrsupervisor` providing environments and macros to create + tasks, evaluations and notices for scientific theses, ++ the package `tudscrfonts`, which makes the corporate design fonts of the + Technische Universität Dresden available for LaTeX standard classes and + KOMA-Script classes, ++ the package `mathswap` for swapping math delimiters within numbers (similiar + to `ionumbers`), ++ the package `twocolfix` for fixing the positioning bug of headings in + twocolumn layout and ++ an comprehensive user documentation as well as several tutorials. + +Versions +-------- + + +**v2.02** (2014/12/17) + ++ package `tudscrfonts` ++ fixed bug with class `standalone` ++ loading the corporate design fonts in OpenType format with `fontspec` is + possible ++ improved installation routine of PostScript fonts ++ pages in the style of the corporate design are generated using the package + `scrlayer-scrpage` ++ various options and commands to customize these pages ++ support of the KOMA-Script font elements for title and cover ++ commands and environments for abstract, statement of authorship and + restriction note have been improved ++ footnotes in headings can be set as symbols per option `footnotes` ++ some commands have been renamed for compatibility with other packages ++ functionality of the package `mathswap` can be switched within the document + + +**v2.01b** (2014/06/04) + ++ Fixed bug when using task (tudscrsupervisor) + + +**v2.01a** (2014/06/03) + ++ Fixed bug when using the subtitle. + + +**v2.01** (2014/04/24) + ++ Fixes the kerning of the digits and the font weight at the title page. + + +**v2.00** (2014/04/22) + ++ The TUD-KOMA-Script bundle has been redesigned from the ground up and is + generated by using `docstrip`. Many bugs have been removed and the robustness + of the commands and options has been increased. The use of the fonts, + especially for the mathematical set, was significantly improved. The manual + of the bundle underwent a complete overhaul, has been extended and + supplemented by several indexes. + + +**v1.0** (2012/10/31) + ++ first version of the TUD-KOMA-Script bundle 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..9be529aea77 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/dissertation.tex @@ -0,0 +1,32 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman,BCOR=6mm,geometry=no,DIV=13]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\usepackage{blindtext} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{16.12.2014} +\author{Mickey Mouse} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diss} +\graduation[Dr. jur.]{Doktor der Rechte} +\dateofbirth{2.1.1990} +\placeofbirth{Dresden} +\defensedate{15.03.2015} +\referee{Dagobert Duck \and Mac Moneysac} +\maketitle +\TUDoption{abstract}{section,multiple} +\begin{abstract}[pagestyle=empty.tudheadings] +\blindtext +\nextabstract[english] +\blindtext +\end{abstract} +\end{document} 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..14622b9f3c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/document.tex @@ -0,0 +1,17 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{blindtext} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{16.12.2014} +\author{Mickey Mouse} +\title{Der Geldspeicher in Entenhausen} +\maketitle +\blinddocument +\end{document} 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..032f883eb8b --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/evaluation.tex @@ -0,0 +1,46 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\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} +\date{16.12.2014} +\author{Mickey Mouse} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diploma} +\graduation[Dipl.-Ing.]{Diplomingenieur} +\matriculationnumber{12345678} +\matriculationyear{2010} +\dateofbirth{2.1.1990} +\placeofbirth{Dresden} +\referee{Dagobert Duck} +\evaluationform[pagestyle=empty]{% + 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} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap-example.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap-example.tex new file mode 100644 index 00000000000..5120b3e45ee --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap-example.tex @@ -0,0 +1,35 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\usepackage{mathswap} +\begin{document} + +\mathswapoff +\(4.523,58\) +\mathswapon + +\(4.523,58\) + +\(4,523.58\) + +\begingroup + \commaswap{\,} + \dotswap{,} + \(4,523.58\) +\endgroup + +\begingroup% + \selectlanguage{english}% + \(4,523.58\)\par + \(4.523,58\)\par + \commaswap{.} + \dotswap{\,} + \(4.523,58\)% +\endgroup + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathtype-example.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathtype-example.tex new file mode 100644 index 00000000000..7b3903a841d --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathtype-example.tex @@ -0,0 +1,68 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\usepackage{amsmath} +\begin{document} + +\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*} + +\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*} + +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\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*} + +\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\makeatletter +\renewcommand*{\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{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{document} + 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..d82410e5e05 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/notice.tex @@ -0,0 +1,47 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\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} +\date{16.12.2014} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\contactperson{% + Dagobert Duck\office{Dingens-Bau, Zimmer~08} + \emailaddress{dagobert.duck@tu-dresden.de}\telephone{+49 351 463-12345} +\and% + Mac Moneysac\office{Dingens-Bau, Zimmer~15} + \emailaddress{mac.moneysac@tu-dresden.de}\telephone{+49 351 463-54321} +} +\noticeform[Angebot für eine Studien-/Diplomarbeit,pagestyle=empty]{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es gerade in + vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. Es ist momentan + 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. + \begin{center} + \medskip + \includegraphics[width=.7\linewidth]{DDC-21} + \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} 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..4d355893e97 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/task.tex @@ -0,0 +1,47 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\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}\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse\matriculationnumber{12345678} + \dateofbirth{2.1.1990}\placeofbirth{Dresden} + \course{Klinische Prognostik}\discipline{Individualprognose} +\and% + Donald Duck\matriculationnumber{87654321} + \dateofbirth{1.2.1990}\placeofbirth{Berlin} + \course{Statistische Prognostik}\discipline{Makrosoziologische Prognosen} +}\matriculationyear{2010} +\issuedate{1.2.2015}\duedate{1.8.2015} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo}\chairman{Prof. Dr. Primus von Quack} +\taskform[pagestyle=empty]{% + 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} 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..cbdeac883b7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/thesis.tex @@ -0,0 +1,34 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,BCOR=4mm]{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} +\date{16.12.2014} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\subject{master} +\graduation[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} +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\maketitle +\end{document} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/treatise-example.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/treatise-example.tex new file mode 100644 index 00000000000..af1f0733b44 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/treatise-example.tex @@ -0,0 +1,444 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage{babel} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{scrhack} +\usepackage{tudscrsupervisor} + +\AfterPackage*{hyperref}{% +\usepackage[% + automake,% +% mit Tex Live einfach verwendbar +% xindy={language=german-din}, + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar + translate=babel,% + nogroupskip,% + toc,% + section=chapter,% +]{glossaries} +\makeglossaries + +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% + }{% + \end{tabu}\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\newcommand*{\newsymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + description={},% + name={#3},% + symbol={\ensuremath{#4}},% + user1={\ensuremath{\mathrm{#5}}},% + sort={#2},% + #1% + }% +} + +\defglsentryfmt[symbols]{% + \ifmmode% + \glssymbol{\glslabel}% + \else% + \glsgenentryfmt~\glsentrysymbol{\glslabel}% + \fi% +} +\newglossarystyle{symblongtabu}{% + \renewenvironment{theglossary}{% + \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% + }{% + \end{longtabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\glossentrysymbol{##1}} & + \glsentryuseri{##1} & + \glossentryname{##1} & + ##2\tabularnewline% + }% +} +}% Ende von AfterPackage* + +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} + +\usepackage{filecontents} +\begin{filecontents}{\jobname-temp.bib} +@book{goossens94, + author = {Goossens, Michel and Mittelbach, Frank + and Samarin, Alexander}, + title = {The LaTeX Companion}, + date = {1994}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@book{knuth84, + author = {Knuth, Donald E.}, + title = {The \TeX book}, + date = {1984}, + maintitle = {Computers \& Typesetting}, + volume = {A}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@manual{hanisch14, + author = {Hanisch, Falk}, + title = {Ein \LaTeX"=Bundle für Dokumente + im neuen Corporate Design + der Technischen Universität Dresden}, + date = {2014}, + subtitle = {Benutzerhandbuch}, + location = {Dresden}, + language = {german}, +} +\end{filecontents} +\addbibresource{\jobname-temp.bib} + +\usepackage{caption} +\captionsetup{font=sf,labelfont=bf,labelsep=space} +\usepackage{floatrow} +\floatsetup{font=sf} +\floatsetup[table]{style=plaintop} +\captionsetup{singlelinecheck=off,format=hang,justification=raggedright} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\captionsetup[subfloat]{labelformat=brace,list=off} + +\usepackage{booktabs} +\usepackage{array} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{tabu} + +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\usepackage{quoting} + +\usepackage[babel]{microtype} + +\usepackage{xfrac} + +\usepackage{enumitem} +\setlist[itemize]{noitemsep} + +\usepackage{isodate} + +\usepackage{ellipsis} +\let\ellipsispunctuation\relax + +\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} +\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse + \matriculationnumber{12345678} + \dateofbirth{2.1.1990} + \placeofbirth{Dresden} + \course{Klinische Prognostik} + \discipline{Individualprognose} +\and% + Donald Duck + \matriculationnumber{87654321} + \dateofbirth{1.2.1990} + \placeofbirth{Berlin} + \course{Statistische Prognostik} + \discipline{Makrosoziologische Prognosen} +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\date{10.09.2014} + +\makecover +\maketitle + +\newcommand\taskcontent{% + 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. +} +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\TUDoption{abstract}{multiple,section} +\begin{abstract} + Dies ist der deutschsprachige Teil der Zusammenfassung, in dem die + Motivation sowie der Inhalt der nachfolgenden wissenschaftlichen + Abhandlung kurz dargestellt werden. +\nextabstract[english] + This is the english part of the summary, in which the motivation and + the content of the following academic treatise are briefly presented. +\end{abstract} + +\declaration[company=FIRMA] + +\tableofcontents +\listoffigures +\listoftables + +\printacronyms[style=acrotabu] +\printsymbols[style=symblongtabu] + +\setchapterpreamble{% + \renewcommand*\dictumwidth{.4\textwidth}% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} +Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am +Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle +Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung +der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial +\texturn{treatise.pdf} vorgestellt wurden. + +\section{Die Verwendung von Akronymen und Symbolen} +\newacronym{apsp}{APSP}{All-Pairs Shortest Path} +\newacronym{spsp}{SPSP}{Single-Pair Shortest Path} +\newacronym{sssp}{SSSP}{Single-Source Shortest Path} + +In der Graphentheorie wird häufig die Lösung des Problems des kürzesten +Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häugig auch +mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} +und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} +oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. + +\newsymbol{l}{Länge}{l}{m} +\newsymbol{m}{Masse}{m}{kg} +\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newsymbol{t}{Zeit}{t}{s} +\newsymbol{f}{Frequenz}{f}{s^{-1}} +\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} + +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] + +\section{Referenzen und das Literaturverzeichnis} +Das Literaturverzeichnis wir auf Basis der nachfolgend verwendeten +Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden. +In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher +\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch +\cite{hanisch14} zitiert. + +\section{Grafiken und Tabellen in Gleitumgebungen} +Es folgt die Demonstration von Gleitumgebungen, welche sowohl für +Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden +Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite +etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der +Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen +und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geigneten +Stellen zu platzieren. + +\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken} +In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF-Format +in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein +Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl +\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden. +Hierfür ist ein entsprechender Anker am zu referenziereden Objekt nötig, +welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei +ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des +Objektes, welche mit \texttt{\textbackslash caption} erstellt wird, +gesetzt wird. + +\begin{figure} +\centering +\includegraphics{TUD-black} +\caption{Beispielgrafik}\label{fig:example} +\end{figure} + +\subsection{Untergleitobjekte} +Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen +erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei +Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext +sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie +\autoref{fig:ddc} verwiesen werden. + +\begin{figure} +\ffigbox[\FBwidth]% + {\begin{subfloatrow}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{TUD-black}}}% + {\caption{Eine Abbildung}\label{fig:tud}}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{DDC-21}}}% + {\caption{Eine weitere Abbildung}\label{fig:ddc}}% + \end{subfloatrow}}% + {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}% +\end{figure} + +\subsection{Tabellen als Gleitobjekte} +Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden. +Welche Umgebung für die Tabelle selbst dabie genutzt wird ist dabei +nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung +als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie +\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen +Tabellenbreite oder jede andere Tabellenumgebung genutzt werden. +Nachfolgend wird dies an mehreren Beispielen demonstriert. + +\subsubsection{Eine gleitende tabularx-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabularx}-Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor +neue Spaltentypen definiert. + +\newcolumntype{Y}{>{\hspace{0pt}}X} +\newcolumntype{D}{>{\raggedright}Y} +\newcolumntype{E}{>{\centering}Y} +\newcolumntype{F}{>{\raggedleft}Y} + +\begin{table} +\begin{tabularx}{\textwidth}{@{}DEFY@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer T"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte & +Ein längerer Blindtext im Blocksatz zur besseren Demonstration +einer Y"~Spalte\tabularnewline +\bottomrule +\end{tabularx} +\caption{Eine \texttt{tabularx}-Tabelle}\label{tab:tabularx} +\end{table} + +\subsubsection{Eine gleitende tabulary-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabulary}-Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabulary}. + +\begin{table} +\begin{tabulary}{\textwidth}{@{}LCRJ@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer C"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte & +Ein wesentlich längerer und absolut inhaltsleerer Blindtext im +Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte +\tabularnewline +\bottomrule +\end{tabulary} +\caption{Eine \texttt{tabulary}-Tabelle}\label{tab:tabulary} +\end{table} + +\subsubsection{Eine gleitende tabu-Tabelle} +Eine andere Variante zum Setzen einer Tabelle mit variabler Spaltenbreite +und festgelegter Gesamtbreite ist in \autoref{tab:tabu} zu sehen. Diese +würde in der Umgebung \texttt{tabu} gesetzt. Auch für diese wird zuerst +ein neuer Spaltentyp definiert, welcher die Unzulänglichkeiten der +Umgebung reduziert. Außerdem wird \texttt{\textbackslash ttabbox} aus dem +Paket \texttt{floatrow} verwendet, um die Beschriftung auf die Breite der +Tabelle zu begrenzen. + +\makeatletter +\newcolumntype{Z}{} +\renewcommand*\NC@rewrite@Z[1][]{% + \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}% +} +\makeatother + +\begin{table} +\ttabbox{% +\begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}} + \toprule + \textbf{Linksbündig} & \textbf{Zentriert} & + \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline + \midrule + Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte & + Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte & + Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte & + Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte + \tabularnewline + \bottomrule + \end{tabu}% +}{% + \caption[Eine \texttt{tabu}-Tabelle]{% + Eine \texttt{tabu}-Tabelle in Verbindung mit dem Befehl + \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow} + für Beschriftungen in Objektbreite bereitgestellt wird% + }\label{tab:tabu}% +} +\end{table} + +\section{Zitate} +Bei der Verwendung von wörtlichen Zitaten sollten diese als solche +gekennzeichnet werden. +\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.} +\cite[58]{hanisch14} +Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur +das Werk selber sondern zumindest die Seitenzahl und gegebenfalls +der Absatz der originalen Textstelle angegeben werden. +\begin{quoting} +\enquote{% + Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die + Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung + deutlich. + + Wie man sieht, ist der zweite Absatz~-- wie jeder weitere~-- aufgrund + der Einstellung \texttt{parskip=false} eingezogen. +} +\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14} +\end{quoting} +Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz +angegeben werden. Dies kann im Laufe der Arbeit acuh für einen selbst von +Vorteil sein, wenn man beispielsweise die originale Textpassage noch +einmal analysieren möchte. + +\printbibliography[heading=bibintoc]\label{sec:bibliography} + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-bundle.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-bundle.tex new file mode 100644 index 00000000000..2fc21272109 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-bundle.tex @@ -0,0 +1,950 @@ +\setchapterpreamble{% + \begin{abstract} + Zusätzlich zu den eigentlichen Hauptklassen werden im \TUDScript-Bundle + weitere Paket bereitgestellt. Diese werden im Folgenden vorgestellt.% + \end{abstract} +} +\chapter{Zusätzliche Pakete im \TUDScript-Bundle} +\section{Das Paket \Package{tudscrsupervisor} -- Studentische Betreuung} +\begin{Declaration*}{\Package{tudscrsupervisor}} +Dieses Paket stellt für das Erstellen von Aufgabenstellungen und Gutachten +wissenschaftlicher Arbeiten sowie offiziellen Aushängen im \CD passende +Umgebungen und Befehle für den Anwender bereit. Deshalb richtet es sich +vornehmlich an Mitarbeiter an der \TnUD, kann jedoch natürlich auch von +Studenten genutzt werden. + + +\subsection{Aufgabenstellung für eine wissenschaftliche Arbeit} +\begin{Declaration}{\Environment{task}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{\Key{\Environment{task}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aufgabenstellung|!(}% +% +Mit der \Environment{task}"=Umgebung kann ein Aufgabenstellung für eine +wissenschaftliche Arbeit ausgegeben werden. Diese basiert auf der Umgebung +\Environment{tudpage} und akzeptiert deshalb im optionalen Argument alle +Parameter, welche bei der Beschreibung von \Environment{tudpage}'full' +erläutert wurden. + +Für die Aufgabenstellung wird normalerweise eine Überschrift gesetzt, welche +sich aus \Term{taskname} und~-- falls der Typ der Abschlussarbeit angegeben +wurde~-- noch aus \Term{tasktext} und \Macro{thesis} zusammensetzt. Der +Parameter \Key{\Environment{task}}{headline} kann genutzt werden, um diese +automatisch generierte Überschrift anzupassen. + +Zu Beginn der Aufgabenstellung erscheint eine Tabelle mit den angegebenen +Informationen zum Autor respektive 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{discipline}) sowie die +Matrikelnummer (\Macro{matriculationnumber}) und das Immatrikulationsjahr +(\Macro{matriculationyear}) ausgegeben, wobei nicht angegebene Felder bei der +Ausgabe ignoriert werden. Der eigentliche Inhalt der Umgebung~-- sprich 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:exmpl:task} verwiesen. +\end{Example} + +\Rename[macros]{v2.02}{\Macro{branch}}{\Macro{discipline}} +\begin{Declaration}{\Macro{course}\Parameter{Studiengang}} +\begin{Declaration}{\Macro{discipline}\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. Dies wird zumeist für Abschlussarbeiten wie +beispielsweise \masterthesisname{} oder \diplomathesisname{} benötigt. +\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}'auto'% +} +\begin{Declaration}{% + \Key{\Environment{evaluation}}{headline}[\PName{Überschrift}]% +} +\begin{Declaration}{\Key{\Environment{evaluation}}{grade}[\PName{Note}]} +\printdeclarationlist% +\index{Gutachten|!(}% +% +Diese Umgebung wird für das Erstellen eines Gutachtens einer wissenschaftlichen +Arbeit bereitgestellt. Auch diese unterstützt alle Parameter, welche für die +Umgebung \Environment{tudpage}'full' beschrieben wurden. + +Für ein Gutachten wird gewöhnlich eine Überschrift aus \Term{evaluationname} +und~-- falls der Abschlussarbeitstyp angegeben wurde~-- \Term{evaluationtext} +sowie \Macro{thesis} generiert. Diese automatisch generierte Überschrift kann +mit dem Parameter \Key{\Environment{evaluation}}{headline} ersetzt werden. Am +Ende des Gutachtens wird 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 +diese jeweils 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:exmpl:evaluation} +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}'auto'% +} +\begin{Declaration}{\Key{\Environment{notice}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aushang|!(}% +% +Für das Anfertigen eines Aushangs kann diese Umgebung verwendet werden. Diese +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 ausgegeben, welche für gewöhnlich dem Inhalt +von \Term{noticename} entspricht und mit \Key{\Environment{notice}}{headline} +geändert werden kann. Nach der Überschrift wird bereits der Inhalt der Umgebung +ausgegeben. Wurde mit \Macro{contactperson} 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 können sämtliche Parameter verwendet werden, die +auch die \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:exmpl:notice} verwiesen. +\end{Example} + +\Rename[macros]{v2.02}{\Macro{contact}}{\Macro{contactperson}} +\Rename[macros]{v2.02}{\Macro{phone}}{\Macro{telephone}} +\Rename[macros]{v2.02}{\Macro{email}}{\Macro{emailaddress}} +\begin{Declaration}{\Macro{contactperson}\Parameter{Kontaktperson(en)}} +\begin{Declaration}{\Macro{office}\Parameter{Dienstsitz}} +\begin{Declaration}{\Macro{telephone}\Parameter{Telefonnummer}} +\begin{Declaration}{\Macro{emailaddress}\Parameter{E-Mail-Adresse}} +\printdeclarationlist% +% +Am Ende eines Aushangs können mit \Macro{contactperson} Kontaktinformationen +für eine oder mehrere Ansprechpartner angegeben werden. Soll mehr als eine +Kontaktperson genannt werden, so müssen diese innerhalb des Befehls +\Macro{contactperson} mit dem Befehl \Macro{and} getrennt werden. Für jede +Person kann innerhalb von \Macro{contactperson} der Dienstsitz +(\Macro{office}), die dienstliche Telefonnummer (\Macro{telephone}) sowie die +geschäftliche E"~Mail"=Adresse (\Macro{emailaddress}) 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 Befehle +und Umgebungen weitere 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 automatisch generierte +Überschrift mit dem Parameter \Key{\Environment{task}}{headline} der Umgebung +\Environment{task} überschrieben werden. +\TermTable{taskname,tasktext} +\end{Declaration} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{branchname}}{\Term{disciplinename}} +\begin{Declaration}{\Term{authorname}} +\begin{Declaration}{\Term{titlename}} +\begin{Declaration}{\Term{coursename}} +\begin{Declaration}{\Term{disciplinename}} +\printdeclarationlist% +% +Diese Bezeichner werden in der Tabelle mit den Autoreninformationen zu Beginn +der Aufgabenstellung verwendet. Dabei werden \Term{coursename} und +\Term{disciplinename} nur genutzt, wenn für mindestens einen Autor die Befehle +\Macro{course} und/oder \Macro{discipline} verwendet wurden. +\TermTable{authorname,titlename,coursename,disciplinename} +\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% +% +Die Vorlagen für Aufgabenstellung (\Macro{taskform}) beziehungsweise Aushang +(\Macro{noticeform}) nutzen für die gesetzten Überschriften diese Bezeichner. +\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 der Überschrift wird der Bezeichner \Term{evaluationtext} +sowie der mit \Macro{thesis} oder gegebenenfalls mit \Macro{subject} gegebenen +Typ der Abschlussarbeit verwendet. Diese automatisch generierte Überschrift +kann mit dem Parameter \Key{\Environment{evaluation}}{headline} der +Umgebung \Environment{evaluation} durch den Anwender ü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 +darin~-- zur strukturierter Gliederung~-- erzeugten Überschriften mit den +Bezeichnern \Term{taskname}, \Term{contentname} und \Term{assessmentname} +gesetzt. +\TermTable{taskname,contentname,assessmentname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{gradetext}} +\printdeclarationlist% +% +Wird für das Gutachten einer wissenschaftlichen Arbeit die erzielte Note +entweder mit dem Befehl \Macro{grade}\Parameter{Note} oder alternativ dazu mit +dem Parameter \Key{\Environment{evaluation}}{grade}[\PName{Note}] angegeben, so +wird diese innerhalb von \Term{gradetext} verwendet. +\grade{\PName{Note}} +\TermTable*{gradetext}{.7\textwidth} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{contactname}}{\Term{contactpersonname}} +\begin{Declaration}{\Term{noticename}} +\begin{Declaration}{\Term{contactpersonname}} +\printdeclarationlist% +% +Die Bezeichnung des Aushangs selbst ist in \Term{noticename} enthalten. Für +die Generierung einer Überschrift wird dieser verwendet. Falls gewünscht, kann +diese mit dem Parameter \Key{\Environment{notice}}{headline} der Umgebung +\Environment{notice} überschrieben werden. Wurde eine Kontaktperson mit dem +Befehl \Macro{contactperson} angegeben, wird als Überschrift der Kontaktdaten +der Bezeichner \Term{contactpersonname} verwendet. + +\TermTable{noticename,contactpersonname} +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)} +\end{Declaration*} + + +\section{Das Paket \Package{tudscrcolor} -- Farben im \CD}% +\begin{Declaration*}{\Package{tudscrcolor}} +\index{Farben|!}% +% +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. + +Für das \CD sind mehrere Farben vorgesehen. Die prägnanteste aller ist die +Hausfarbe \Color{HKS41}, danach folgen die Farben für Auszeichnungen 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 helleren Tönen mit +einer Abstufung in 10\,\%"~Schritten verwendet werden. Das ohnehin verwendete +Paket \Package{xcolor} stellt genau diese Funktionalität zur Verfügung. Jede +der Farben kann sowohl über \Color*{HKS}\PName{Zahl} als auch über ein +Pseudonym \Color*{cd}\PName{Farbe} angesprochen werden. Diese werden in diesem +\autorefname dokumentiert und dargestellt. +% +\begin{Example*} +Die Grundfarbe \Color*{HKS44} soll in der auf 20\% reduzierten, helleren +Abstufung genutzt werden. Innerhalb eines Befehls, der als Argument eine +gültige Farbe erwartet, muss lediglich \Color*{HKS44}\PValue{!20} angegeben +werden. Dies wird hier exemplarisch mit dieser \colorbox{HKS44!20}{% + Box \Macro*{colorbox}\PParameter{HKS44!20}\PParameter{Box}% +} demonstriert. +\end{Example*} +% +Bei der farbigen Gestaltung des \CDs (\Option{cd}[color]) ist der Hintergrund +von Umschlagseite, Titel sowie Teilen in \Color*{HKS41} und die Schrift auf +selbigen in \Color*{HKS41}\PValue{!30} gehalten. Der Kapitelseitenhintergrund +erscheint in \Color*{HKS41}\PValue{!10}, die Schrift in \Color*{HKS41}. Bei +geringerem Farbeinsatz werden lediglich die Schriften der Gliederungsseiten auf +\Color*{HKS41} gesetzt. + +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 +} +\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}% +} + + +\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 \TUDScript 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 werden 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 +Farbmodus 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} + +\bigskip\noindent +\Attention{% + Beachten Sie, dass die Darstellung der Farben im jeweiligen Farbmodus + (\PValue{CMYK} oder \PValue{RGB}) je nach verwendeter Bildschirm- Drucker- + und Softwarekonfiguration verschieden ausfallen kann. Die verwendeten + RGB-Werte entstammen aus dem Handbuch zum \CD und sind lediglich + Näherungswerte. Abweichungen vom gedruckten \Color*{HKS}-Farbregister und + selbst ermittelten Werten sind technisch nicht zu vermeiden. +} +\end{Declaration*} + + + +\section{Das Paket \Package{tudscrfonts} -- Schriften im \CD} +\begin{Declaration*}[v2.02]{\Package{tudscrfonts}} +\printchangedatlist +% +Dieses Paket stellt die Schriften des \CDs für \hologo{LaTeXe}-Klassen bereit, +welche \emph{nicht} zum \TUDScript-Bundle gehören. Das Paket unterstützt einen +Großteil der in \fullref{sec:fonts} beschriebenen Optionen und Befehle. Die +nutzbaren Paketoptionen sind für den Fließtext \Option{cdfont}~-- ohne die +Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{barfont})~-- und +für die mathematischen Schriften \Option{sansmath} sowie \Option{slantedgreek}. +Da von \Package{tudscrfonts} intern das Paket \Package{tudscrbase} geladen +wird, können diese entweder als Paketoptionen im optionalen Argument von +\Macro*{usepackage}\OParameter{Paketoption}\PParameter{\Package{tudscrfonts}} +oder direkt als Klassenoption angegeben werden. Zusätzlich ist nach dem Laden +des Paketes die späte Optionenwahl mit \Macro{TUDoption} beziehungsweise +\Macro{TUDoptions} möglich. + +Des Weiteren wird das Paket \Package{textcase} geladen, welches die Befehle +\Macro{MakeTextUppercase} und \Macro{NoCaseChange} zur Verfügung stellt. Der +Befehl \Macro{ifdin} wird ebenso wie die in \autoref{sec:fonts} beschriebenen +Textschalter und "~kommandos sowie die Befehle für die griechischen Buchstaben +bereitgestellt. + +Prinzipiell kann das Paket \Package{tudscrfonts} mit jeder beliebigen +\hologo{LaTeXe}-Klasse verwendet werden. Sollen allerdings die Überschriften~-- +wie im \CD vorgesehen~-- in Majuskeln der \DIN gesetzt werden, muss der +Anwender dies für die jeweilige Klasse selbst umsetzen. Dafür sei noch einmal +auf die Textauswahlbefehle \Macro{textdbn} und \Macro{dinbn} sowie den Befehl +\Macro{MakeTextUppercase} zur automatisierten Großschreibung hingewiesen. + +Das Paket \Package{tudscrfonts} ist insbesondere für die Verwendung zusammen +mit den Klassen \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, +\Class{tudfax}, \Class{tudhaus} sowie \Class{tudform} vorgesehen. Die +Schriftinstallation für das \TUDScript-Bundle unterscheidet sich von der für +die gerade genannten Klassen sehr stark. Dabei wurde auch die Bezeichnung der +Schriftfamilien geändert. Dies hatte zwei Gründe, wobei der letztere der +entscheidende ist: +% +\begin{enumerate} +\item + Die bisherige Schriftbenennung entsprach nicht dem offiziellen + \hrfn{http://mirrors.ctan.org/info/fontname/fontname.pdf}% + {\hologo{TeX}-Namensschema} +\item + Bei der Installation für das \TUDScript-Bundle werden sowohl die Metriken + als auch das Kerning der Schriften für Fließtext und den Mathematikmodus + angepasst, was das Ergebnis der erzeugten Ausgabe beeinflusst. Damit jedoch + Dokumente, die mit den Klassen von Klaus Bergmann erstellt wurden, weiterhin + genauso ausgegeben werden wie bisher, mussten die Schriftfamilien einen neuen + Namen erhalten. +\end{enumerate} +% +Wird nun das Paket \Package{tudscrfonts} zusammen mit den alten Klassen von +Klaus Bergmann verwendet hat dies den Vorteil, dass auch in diesen das +angepasste Kerning der Schriften sowie der stark verbesserte Mathematiksatz zum +Tragen kommen. Außerdem kann bei der Verwendung von \Package{tudscrfonts} auf +eine Installation der Schriften des \CDs in der alten Variante verzichtet +werden. +\Attention{% + In diesem Fall kann sich das Ausgabeergebnis im Vergleich zu der Varianten + mit den alten Schriften ändern. Alternativ zur Verwendung des Paketes + \Package{tudscrfonts} können die alten Schriftfamilien auch parallel zu den + neuen installiert werden. Hierfür werden die Skripte + \hrfn{https://github.com/tud-cd/tudscrold/releases/download/fonts/tudfonts_install.bat}{\File{tudfonts\_install.bat}} + beziehungsweise + \hrfn{https://github.com/tud-cd/tudscrold/releases/download/fonts/tudfonts_install.sh}{\File{tudfonts\_install.sh}} + bereitgestellt. +} +\end{Declaration*} + + + +\section{Das Paket \Package{tudscrcomp} -- Kompatibilität alter Klassen} +\begin{Declaration*}{\Package{tudscrcomp}} +\index{Version!v1.0|(}% +\index{Kompatibilität!Version v1.0|(}% +\index{Kompatibilität!\Class{tudbook}|(}% +% +\noindent\Attention{% + Sollten Sie die \Class{tudbook}-Klasse oder \TUDScript in der Version~v1.0 + nie genutzt haben, können Sie dieses \autorefname ohne Weiteres überspringen. + Sämtliche hier vorgestellten Optionen und Befehle sind in der aktuellen + Version von \TUDScript obsolet. +} + +\bigskip\noindent +Zu Beginn der Entwicklung von \TUDScript bildete die Klasse \Class{tudbook} +die Basis. Ziel war es, sämtliche Funktionalitäten dieser beizubehalten und +zusätzlich den vollen Funktionsumfang der \KOMAScript-Klassen nutzbar zu +machen. Bei der kompletten Neuimplementierung der \TUDScript-Klassen wurde sehr +viel verändert und verbessert. Einige der Optionen und Befehle waren jedoch +bereits in der \TUDScript-Version~v1.0 Relikte, um die Kompatibilität zur +\Class{tudbook}-Klasse zu gewährleisten. Mit der Version~v2.00 wurden einige +aus Gründen der Konsistenz lediglich umbenannt, andere wiederum wurden +vollständig entfernt oder über neue Befehle und Optionen in ihrer +Funktionalität ersetzt und erweitert. + +Das Paket \Package{tudscrcomp} dient der Überführung von alten Dokumenten, die +entweder mit der \Class{tudbook}-Klasse oder mit der Version~v1.0 erstellt +wurden, auf \TUDScript~\vTUDScript. Es werden einige Optionen und Befehle +bereitgestellt, welche von den alten Klassen definiert wurden und das +entsprechende Verhalten nachahmen. Damit soll die Kompatibilität bei der +Änderung der Dokumentklasse sichergestellt werden. Die Intention ist, alte +Dokumente möglichst schnell und einfach auf die \TUDScript-Klassen portieren zu +können. Des Weiteren ist beschrieben, wie sich die Funktionalität ohne die +Verwendung des Paketes mit den Mitteln von \TUDScript umsetzen lassen. Für den +Satz neuer Dokumente wird empfohlen, auf den Einsatz dieses Paketes komplett 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{discipline} 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 ist \Macro{supervisor}\PParameter{\PName{Name} \Macro{and} \PName{Name}} +statt \Macro{supervisorII}\Parameter{Name} zu verwenden. +\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}} +\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{Version!v1.0|)} +\index{Kompatibilität!Version v1.0|)} +\index{Kompatibilität!\Class{tudbook}|)} +\end{Declaration*} + + + +\section{Das Paket \Package{mathswap}} +\begin{Declaration*}{\Package{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 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. Für ein Beispiel zur Verwendung des Paketes sei auf das Tutorial +\Tutorial{mathswap} in \autoref{sec:exmpl:mathswap} hingewiesen. + +\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} +\begin{Declaration}[v2.02]{\Macro{mathswapon}} +\begin{Declaration}[v2.02]{\Macro{mathswapoff}} +\printdeclarationlist% +% +\ChangedAt*{v2.02!\Package{mathswap}: Funktionalität im Dokument umschaltbar}% +Die Funktionalität von \Package{mathswap} kann innerhalb des Dokumentes mit +diesen beiden Befehlen an- und abgeschaltet werden. Beim Laden des Paketes ist +es standardmäßig aktiviert. +\end{Declaration} +\end{Declaration} +\end{Declaration*} + + + +\section{Das Paket \Package{twocolfix}} +\begin{Declaration*}{\Package{twocolfix}} +\index{Zweispaltensatz|?}% +% +Der \hologo{LaTeXe}-Kernel enthält einen Fehler, der Kapitelüberschriften im +zweispaltigen Layout höher setzt, als im einspaltigen. Der +\hrfn{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}{Fehler} +ist zwar schon länger bekannt, allerdings noch nicht in \Package{fixltx2e} +ü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 \hrfn{http://www.komascript.de/node/1681} +{nicht weiter verfolgt}. +\end{Declaration*} + + + +\addsec*{Zukünftige Arbeiten} +Diese Dinge sollen langfristig in das \TUDScript-Bundle eingearbeitet werden. + + +%\chapter[Die Briefklasse \Class*{tudscrlttr}]{Die Briefklasse} +%\begin{Declaration*}{\Class{tudscrlttr}} +\subsection*{\Class*{tudscrlttr} auf Basis von \Class*{scrlttr2}} +\ToDo[imp,nxt]{Klasse \Class*{tudscrlttr}}[v2.x] +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. +%\end{Declaration*} + + + +%\section{Das Paket \Package{tudscrposter} -- Poster im \CD}% +%\begin{Declaration*}{\Package{tudscrposter}} +\subsection*{Das Paket \Package*{tudscrposter}} +\ToDo[imp,nxt]{% + Paket \Package*{tudscrposter} als Ersatz für \Class{tudmathposter}% +}[v2.x] +Die Funktionalität der Klasse \Class{tudmathposter} soll in ein eigenständiges +Paket mit dem Namen \Package*{tudscrposter}(tudscr) o.\,ä. überführt werden. +%\end{Declaration*} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-examples.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-examples.tex new file mode 100644 index 00000000000..4407168e698 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-examples.tex @@ -0,0 +1,117 @@ +\setchapterpreamble{% + \begin{abstract} + \hypersetup{linkcolor=red} + Dieses Kapitel soll den Einstieg und den ersten Umgang mit \TUDScript + erleichtern. Dafür werden einige Minimalbeispiele gegeben, die einzelne + Funktionalitäten darstellen. Diese sind so reduziert ausgeführt, dass sie + sich dem Anwender direkt erschließen sollten. Des Weiteren werden + weiterführende und kommentierte Anwendungsbeispiele bereitgestellt. Diese + Tutorials sind nicht unmittelbar im Handbuch enthalten sondern werden als + externe Dateien bereitgehalten, welche direkt via Hyperlink geöffnet werden + können. + \end{abstract} +} +\chapter{Minimalbeispiele und Tutorials} +\label{sec:exmpl} +\index{Minimalbeispiel|(} + +\section{Dokument} +\index{Minimalbeispiel!Dokument} +Hier wird gezeigt, wie die Präambel eines minimalen \hologo{LaTeXe}-Dokumentes +gestaltet werden sollte. Dieser Ausschnitt kann prinzipiell als Grundlage für +ein neu zu erstellendes Dokument verwendet werden. Lediglich das Einbinden des +Paketes \Package{blindtext} mit \Macro*{usepackage}\PParameter{blindtext} und +die Verwendung des daraus stammenden Befehls \Macro*{blinddocument} können +weggelassen werden. +\IncludeExample{document} + +\section{Dissertation} +\label{sec:exmpl:dissertation} +\index{Minimalbeispiel!Dissertation} +Eine Abschlussarbeit oder ähnliches könnte wie hier gezeigt begonnen werden. +\IncludeExample{dissertation} + +\section{Abschlussarbeit (kollaborativ)} +\label{sec:exmpl: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:exmpl:task} +\index{Minimalbeispiel!Aufgabenstellung} +\index{Minimalbeispiel!Kollaboratives Schreiben} +Eine Aufgabenstellung für eine wissenschaftliche Arbeit ist mithilfe der +Umgebung \Environment{task} oder dem Befehl \Macro{taskform} aus dem Paket +\Package{tudscrsupervisor} folgendermaßen dargestellt werden. +\IncludeExample{task} + +\section{Gutachten} +\label{sec:exmpl:evaluation} +\index{Minimalbeispiel!Gutachten} +Nach dem Laden des Paketes \Package{tudscrsupervisor} kann ein Gutachten für +eine wissenschaftliche Arbeit mit der \Environment{evaluation}"=Umgebung oder +dem Befehl \Macro{evaluationform} erstellt werden. +\IncludeExample{evaluation} + +\section{Aushang} +\label{sec:exmpl:notice} +\index{Minimalbeispiel!Aushang} +Das Paket \Package{tudscrsupervisor} stellt die Umgebung \Environment{notice} +für das Anfertigen allgemeiner Aushänge sowie den Befehl \Macro{noticeform} +für die Ausschreibung wissenschaftlicher Arbeiten bereit. +\IncludeExample{notice} +\index{Minimalbeispiel|)} + +\section{Vorlage für eine wissenschaftlichen Arbeit} +\label{sec:exmpl:treatise} +\index{Tutorial|(} +\index{Tutorial!Abschlussarbeit} +Die meisten Anwender der \TUDScript-Klassen sind Studenten oder angehörige der +\TnUD, die ihre ersten Schritte mit \hologo{LaTeXe} beim Verfassen einer +wissenschaftlichen Arbeit oder ähnlichem machen. Während der Einstiegsphase in +\hologo{LaTeXe} kann ein Anfänger sehr schnell aufgrund der großen Anzahl an +empfohlenen Pakete sowie der teilweise diametral zueinander stehenden Hinweise +überfordert sein. Mit dem Tutorial \Tutorial{treatise} soll versucht werden, +ein wenig Licht ins Dunkel zu bringen. Es erhebt jedoch keinerlei Anspruch, +vollständig oder perfekt zu sein. Einige der darin vorgestellten Möglichkeiten +lassen sich mit Sicherheit auch anders, einfacher und/oder besser lösen. +Dennoch ist es gerade für Neulinge~-- vielleicht auch für den einen oder +anderen \hologo{LaTeX}"=Veteran~-- als Leitfaden für die Erstellung einer +wissenschaftlichen Arbeit gedacht. + +\section{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} +\label{sec:exmpl:mathtype} +\index{Tutorial!Mathematiksatz} +Das Tutorial \Tutorial{mathtype} richtet sich an alle Anwender, die in ihrem +\hologo{LaTeX}"=Dokument mathematische Formeln setzen wollen. In diesem wird +ausführlich darauf eingegangen, wie mit wenigen Handgriffen ein typographisch +sauberer Mathematiksatz zu bewerkstelligen ist. + +\section{Änderung der Trennzeichen im Mathematikmodus} +\label{sec:exmpl:mathswap} +\index{Tutorial!Trennzeichen Mathematikmodus} +Sollen beim Verfassen eines \hologo{LaTeX}"=Dokumentes Daten in einem +Zahlenformat importiert werden, welches nicht den Gepflogenheiten der +Dokumentsprache entspricht, kommt es meist zu unschönen Ergebnissen bei der +Ausgabe. Einfachstes Beispiel sind Daten, in denen als Dezimaltrennzeichen ein +Punkt verwendet wird, wie es im englischsprachigen Raum der Fall ist. Sollen +diese in einem Dokument deutscher Sprache eingebunden werden, müssten diese +normalerweise allesamt angepasst und das ursprüngliche Dezimaltrennzeichen +durch ein Komma ersetzt werden. Dieser Schritt wird mit dem \TUDScript-Paket +\Package{mathswap} automatisiert. Wie dies genau funktioniert, wird im Tutorial +\Tutorial{mathswap} erläutert. +\index{Tutorial|)} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-hints.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-hints.tex new file mode 100644 index 00000000000..1a8d3cac5a9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-hints.tex @@ -0,0 +1,816 @@ +\newcommand*\TaT{\hyperref[sec:tips]{Tipps \& Tricks}} +\chapter{Praktische Tipps \& Tricks} +\manualhyperdef{sec:tips}% +\section{\NoCaseChange{\hologo{LaTeX}}-Editoren} +\label{sec:tips: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~(UTF"~8) +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} +% +Für \Application{\hologo{TeX}studio} wird im \GitHubRepo* das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/TeXstudio/tudscr4texstudio.zip}% +{\File{tudscr4texstudio.zip}} bereitgestellt, welches Dateien zur Erweiterung +der automatischen Befehlsvervollständigung für \TUDScript enthält. Diese müssen +unter Windows in \Path{\%APPDATA\%\textbackslash texstudio} beziehungsweise +unter unixoiden Betriebssystemen in \Path{.config/texstudio} eingefügt werden. + +Möchten Sie das grafische \hologo{LaTeX}-Frontend~\Application{\hologo{LyX}} +für das Erstellen eines Dokumentes mit \TUDScript verwenden, so werden dafür +spezielle Layout-Dateien benötigt, um die Klassendateien verwenden zu können. +Diese sind zusammen mit einem exemplarischen \hologo{LyX}-Dokument als Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/LyX/tudscr4lyx.zip}% +{\File{tudscr4lyx.zip}} im \GitHubRepo* verfügbar. Die Layout-Dateien müssen +dafür im \Application{\hologo{LyX}}"=Installationspfad in den passenden +Unterordner kopiert werden. Dieser ist bei Windows +\Path{\%PROGRAMFILES(X86)\%\textbackslash{}LyX~2.0\textbackslash{}Resources\textbackslash{}layouts} +beziehungsweise bei unixoiden Betriebssystemen \Path{/usr/share/lyx/layouts}. + + + +\section{Literaturverwaltung in \NoCaseChange{\hologo{LaTeX}}} +\ChangedAt{v2.02!\TaT: Literaturverwaltung} +% +Die simpelste Variante, eine Literaturdatenbank in \hologo{LaTeX} zu verwalten, +ist dies mit dem verwendeten \hologo{LaTeX}-Editors manuell zu erledigen. Dies +ist allerdings nicht sonderlich komfortabel. Einfacher ist es, dies mit einer +darauf spezialisierten Anwendung zu bewerkstelligen. Für die Referenzverwaltung +in \hologo{LaTeX} gibt es dafür zwei sehr gute Programme +% +\begin{itemize} +\item \Application{Citavi} +\item \Application{JabRef} +\end{itemize} +% +Das Programm \Application{Citavi} ermöglicht den Import von bibliographischen +Informationen aus dem Internet. Allerdings sind diese teilweise unvollständig +oder mangelhaft. Mit \Application{JabRef} hingegen muss die Literaturdatenbank +manuell erstellt werden. Allerdings lassen sich einzelne Einträge aus +.bib-Dateien sehr importieren. Beide Anwendungen unterstützen den Export +beziehungsweise die Erstellung von Datenbanken im Stil von \Package{biblatex}. +Für \Application{JabRef} muss diese durch den Anwender explizit aktiviert +werden.\footnote{Optionen/Einstellungen/Erweitert/BibLaTeX-Modus} +Zur Verwendung der beiden Programme in Verbindung mit \Package{biblatex} und +\Application{biber} gibt es ein gutes Tutorial unter diesem +\href{http://www.suedraum.de/latex/stammtisch/degenkolb_latex_biblatex_folien-final.pdf}{Link}. + + + +\section{Worttrennungen in deutschsprachigen Texten} +\manualhyperdef'{sec:tips:hyphenation} +% +\ChangedAt{v2.02!\TaT: Worttrennungen} +% +Die möglichen Trennstellen von Wörtern werden von \hologo{LaTeXe} mithilfe +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 vielerlei +Trennungsmuster ergänztes Wörterbuch aus dem Paket \Package{dehyph-exptl} +genutzt. + +Das Paket \Package{hyphsubst} muss bereits \emph{vor} der Dokumentklasse selbst +geladen werden. Außerdem wird das Paket \Package{babel} benötigt. Damit auch +Wörter mit Umlauten richtig getrennt werden, ist zusätzlich die Verwendung des +Paketes \Package{fontenc} mit der \PValue{T1}"~Schriftkodierung erforderlich. +Der Beginn einer Dokumentpräambel könnte folgendermaßen aussehen: +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +§\dots§ +\end{Code} +\end{quoting} +% +Eine Anmerkung noch zur Trennung von Wörtern mit Bindestrichen. Normalerweise +sind die beiden von \hologo{LaTeXe} verwendeten Zeichen für Bindestrich und +Trennstrich identisch. Leider wird der Trennungsalgorithmus von \hologo{LaTeXe} +bei Wörtern, welche bereits einen Bindestrich enthalten, außer Kraft gesetzt. +In der Folge werden~-- in der deutschen Sprache durchaus öfter anzutreffende~-- +Wortungetüme wie die \enquote{Donaudampfschifffahrts-Gesellschafterversammlung} +normalerweise nur direkt nach dem angegebenen Bindestrich getrennt. + +Allerdings gibt es die Möglichkeit, das genutzte Zeichen für den Trennstrich +zu ändern. Dafür ist das Laden der \PValue{T1}"~Schriftkodierung mit dem Paket +\Package{fontenc} zwingend erforderlich. Wenn von der verwendeten Schrift +nichts anderes eingestellt ist, liegen sowohl Binde- als auch Trennstrich auf +Position~\PValue{45} der Zeichentabelle. In der \PValue{T1}"~Schriftkodierung +befindet sich auf der Position~\PValue{127} glücklicherweise für gewöhnlich das +gleiche Zeichen noch einmal. Dies ist jedoch von der verwendeten Schrift +abhängig. Wird der Ausdruck \Macro{defaulthyphenchar}\PValue{=127} in der +Dokumentpräambel verwendet, kann dieses Zeichen für den Trennstrich genutzt +werden. Bei den Schriften des \CDs der \TnUD ist dies bereits automatisch +eingestellt. + +Sollte trotz aller Maßnahmen dennoch einmal ein bestimmtes Wort falsch getrennt +werden, so kann die Worttrennung dieses Wortes manuell und global geändert +werden. Dies wird mit \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\baselineskipglue\noindent +\begin{tabular}{@{}ll} +\textbf{Beschreibung} & \textbf{Befehl}\tabularnewline +ausschließliche Trennstellen & \PValue{\bsc-}\tabularnewline +zusätzliche Trennstellen & \PValue{"'-}\tabularnewline +Umbruch ohne Trennstrich & \PValue{"'"'}\tabularnewline +Bindestrich ohne Umbruch & \PValue{"'\textasciitilde}\tabularnewline +Bindestrich, der weitere Trennstellen erlaubt & \PValue{"'=}\tabularnewline +\end{tabular} + + + +\section{Lokale Änderungen von Befehlen und Einstellungen} +\index{Gruppierungen} +% +\ChangedAt{v2.02!\TaT: Lokale Änderungen} +% +Ein zentraler Bestandteil von \hologo{LaTeX} ist die Verwendung von Gruppen +oder Gruppierungen. Innerhalb dieser bleiben alle vorgenommenen Änderungen an +Befehlen, Umgebungen oder Einstellungen lokal. Dies kann sehr nützlich sein, +wenn beispielsweise das Verhalten eines bestimmten Makros einmalig oder +innerhalb von selbst definierten Befehlen oder Umgebungen geändert werden, im +Normalfall jedoch die ursprüngliche Funktionalität behalten soll. +\begin{Example} +\index{Schriftauszeichnung} +Der Befehl \Macro{emph} wird von \hologo{LaTeX} für Hervorhebungen im Text +bereitgestellt und führt normalerweise zu einer kursiven oder~-- falls kein +Schriftschnitt mit echten Kursiven vorhanden ist~-- kursivierten Auszeichnung. +Soll nun in einem bestimmten Abschnitt die Auszeichnung mit fetter Schrift +erfolgen, kann der Befehl \Macro{emph} innerhalb einer Gruppierung geändert +und verändert werden. Wird diese beendet, verhält sich der Befehl wie gewohnt. +\begin{Code} +In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. + +\begingroup +\renewcommand*\emph[1]{\textbf{#1}}% +In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. +\endgroup + +In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. +\end{Code} +\end{Example} +Eine Gruppierung kann entweder mit \Macro*{begingroup} und \Macro*{endgroup} +oder einfach mit einem geschweiften Klammerpaar \texttt{\{\dots\}} definiert +werden. + + + +\section{Bezeichnungen der Gliederungsebenen durch \Package{hyperref}} +\index{Querverweise} +% +\ChangedAt{v2.02!\TaT: Bezeichnungen der Gliederungsebenen} +% +Das Paket \Package{hyperref} stellt für Querverweise unter anderem den Befehl +\Macro{autoref}\Parameter{label} zur Verfügung. Mit diesem wird~-- im +Gegensatz zur Verwendung von \Macro{ref}~-- bei einer Referenz nicht nur die +Nummerierung selber sondern auch das entsprechende Element wie Kapitel oder +Abbildung vorangestellt. Bei der Benennung des referenzierten Elementes wird +sequentiell geprüft, ob das Makro \Macro*{}\PName{Element}\PValue{autorefname} +oder \Macro*{}\PName{Element}\PValue{name} existiert. Soll die Bezeichnung +eines Elementes geändert werden, muss man den entsprechende Bezeichner anpassen. +% +\begin{Example} +Bezeichnungen von Gliederungsebenen können folgendermaßen verändert werden. +\begin{Code} +\renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} +\renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} +\renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt} +\end{Code} +\end{Example} + + + +\section{URL-Umbrüche im Literaturverzeichnis mit \Package{biblatex}} +\index{Literaturverzeichnis} +% +\ChangedAt{v2.02!\TaT: URL-Umbrüche im Literaturverzeichnis} +% +Wird das Paket \Package{biblatex} verwendet, kann es unter Umständen dazu +kommen, das eine URL nicht vernünftig umbrochen werden. Ist dies der Fall, +können die Zählern \Counter{biburlnumpenalty}, \Counter{biburlucpenalty} und +\Counter{biburllcpenalty} erhöht werden. Die möglichen Werte liegen zwischen 0 +und 10000, wobei es bei höheren Werte der Zähler zu mehr URL-Umbrüchen an +Ziffern (\Counter{biburlnumpenalty}), Groß- (\Counter{biburlucpenalty}) und +Kleinbuchstaben (\Counter{biburllcpenalty}) kommt. Genaueres hierzu ist der +Dokumentation des \Package{biblatex}"=Paketes zu entnehmen. + + + +\section{Zeilenabstände in Überschriften} +\label{sec:tips:headings} +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. + + + +\section{Warnung wegen zu geringer Höhe der Kopf-/Fußzeile} +\label{sec:tips:headline} +Wird das Paket \Package{setspace} verwendet, kann es passieren, dass nach der +Änderung des Zeilenabstandes \emph{innerhalb} des Dokumentes eine oder beide +der folgenden Warnungen erscheinen: +% +\begin{quoting} +\begin{Code} +scrlayer-scrpage Warning: \headheight to low. +scrlayer-scrpage Warning: \footheight to low. +\end{Code} +\end{quoting} +% +Dies liegt an dem durch den vergrößerten Zeilenabstand erhöhten Bedarf für die +Kopf- und Fußzeile, die Höhen können in diesem Fall direkt mit der Verwendung +von \Macro{recalctypearea} angepasst werden. Allerdings ändert das den +Satzspiegel im Dokument, was eine andere und durchaus berechtigte Warnung von +\Package{typearea} zur Folge hat. Falls die Änderung des Durchschusses wirklich +nötig ist, sollte dies in der Präambel des Dokumentes einmalig passieren. Dann +entfallen auch die Warnungen. + + + +\section{Einrückung von Tabellenspalten verhindern}% +\manualhyperdef'{sec:tips:table} +\index{Tabellen} +% +Normalerweise wird in einer Tabelle vor \emph{und} nach jeder Spalte durch +\hologo{LaTeXe} etwas horizontaler Raum mit \Macro{hskip}\Macro{tabcolsep} +eingefügt.% +\footnote{% + Der Abstand zweier Spalten beträgt folglich \PValue{2}\Macro{tabcolsep}.% +} +Dies geschieht auch \emph{vor} der ersten und \emph{nach} der letzten Spalte. +Diese optische Einrückung an den äußeren Rändern kann unter Umständen stören, +insbesondere bei Tabellen, die willentlich~-- beispielsweise mit den Paketen +\Package{tabularx}, \Package{tabulary} oder auch \Package{tabu}~-- über die +komplette Seitenbreite aufgespannt werden. + +Das Paket \Package{tabularborder} versucht, dieses Problem automatisiert zu +beheben, ist jedoch nicht zu allen \hologo{LaTeXe}-Paketen für den Tabellensatz +kompatibel, unter anderem auch nicht zu den drei zuvor genannten. Allerdings +lässt sich dieses Problem manuell durch den Anwender lösen. + +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 +für das Entfernen der Einrückungen genutzt werden, indem~\PValue{@\{\}} an den +entsprechenden Stellen bei der Angabe der Spaltentypen vor der ersten und nach +der letzten Tabellenspalte verwendet wird. +% +\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} + + + + +\section{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. Möchte man das für +bestimmte Umgebungen oder Befehle automatisiert gestalten, ist das Paket +\Package{noindentafter} zu empfehlen. + + + +\section{Unterbinden des Zurücksetzens von Fußnoten}% +\label{sec:tips: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. Auch andere \hologo{LaTeX}-Zähler~-- wie beispielsweise der +bereits vorgestellte \Counter{symbolheadings}~-- lassen sich mit diesem +Paket manipulieren. + + + +\section{Setzen von Einheiten mit \Package{siunitx}} +\label{sec:tips: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{quoting} +\begin{Code} +\sisetup{% + locale = DE,% + input-decimal-markers={,},input-ignore={.},% + group-separator={\,},group-minimum-digits=3% +} +\end{Code} +\end{quoting} +% +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. + + + +\section{Warnung beim Erzeugen des Inhaltsverzeichnisses} +\index{Inhaltsverzeichnis}% +% +\ChangedAt{v2.02!\TaT: Warnung beim Erzeugen des Inhaltsverzeichnisses} +% +Erstellt man ein Inhaltsverzeichnis für ein Dokument mit einer dreistelligen +Seitenanzahl, so erhält man bei der Verwendung von \Macro{tableofcontents} +viele Warnungen mit der Meldung: +% +\begin{quoting} +\begin{Code} +overfull \hbox +\end{Code} +\end{quoting} +% +Das liegt daran, dass die Seitenzahl in einer Box mit der Breite +\Macro*{@pnumwidth} gesetzt wird. Der hierfür standardmäßig verwendete Wert +von~\PValue{1.55em} ist in diesem Fall zu klein. Dieser kann folgendermaßen +geändert werden: +% +\begin{quoting} +\begin{Code} +\makeatletter +\renewcommand*\@pnumwidth{1.7em} +\makeatother +\end{Code} +\end{quoting} +% +Dabei sollte der eingesetzte Wert nicht zu groß ausfallen. + + + +\section{Leer- und Satzzeichen nach \NoCaseChange{\hologo{LaTeX}}-Befehlen}% +\label{sec:tips:xspace} +\index{Typographie} +% +Normalerweise \enquote{schluckt} \hologo{LaTeX} die Leerzeichen nach einem +Makro ohne Argumente. Dies ist jedoch nicht immer~-- genau genommen 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 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{quoting} +\begin{Code} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\end{Code} +\end{quoting} +% +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{quoting} +\begin{Code} +\newcommand*\zB{z.\,B\xperiod} +\end{Code} +\end{quoting} + + + +\section{Das Setzen von Auslassungspunkten} +\manualhyperdef{sec:tips:dots} +\index{Typographie} +% +\ChangedAt{v2.02!\TaT: Das Setzen von Auslassungspunkten} +% +Auslassungspunkte werden mit \hologo{LaTeXe} mit den Befehlen \Macro{dots} oder +\Macro{textellipsis} gesetzt. Für gewöhnlich folgt diesen \emph{immer} ein +Leerzeichen, was nicht in jedem Fall gewollt ist. Das Paket \Package{ellipsis} +schafft hier Abhilfe, wobei die Option \Option*{xspace} führt dazu, dass nach +der Verwendung eines der beiden Befehle automatisch ein Leerzeichen gesetzt +wird. +% +\begin{quoting} +\begin{Code} +\usepackage[xspace]{ellipsis} +\end{Code} +\end{quoting} +% +Im Ursprung ist es für das Setzen englischsprachiger Texte gedacht, wo zwischen +Auslassungspunkten und Satzzeichen ein Leerzeichen gesetzt wird. Im Deutschen +ist dies anders: +% +\begin{quoting} +\enquote{% + Um eine Auslassung in einem Text zu kennzeichnen, werden drei Punkte gesetzt. + Vor und nach den Auslassungspunkten wird jeweils ein Wortzwischenraum + gesetzt, wenn sie für ein selbständiges Wort oder mehrere Wörter stehen. Bei + Auslassung eines Wortteils werden sie unmittelbar an den Rest des Wortes + angeschlossen. Am Satzende wird kein zusätzlicher Schlusspunkt gesetzt. + Satzzeichen werden ohne Zwischenraum angeschlossen.% +}~[Duden, 23. Aufl.] +\end{quoting} +% +Um dieses Verhalten zu erreichen, sollte noch Folgendes in der Präambel +eingefügt werden: +% +\begin{quoting} +\begin{Code} +\let\ellipsispunctuation\relax +\newcommand*\qdots{[\dots{}]\xspace} +\end{Code} +\end{quoting} +% +Der Befehl \Macro*{qdots} wird definiert, um Auslassungspunkte in eckigen +Klammern ([\dots{}]) setzen zu können, wie sie für das Kürzen von wörtlichen +Zitaten häufig verwendet werden. + + + +\section{Finden von unbekannten \NoCaseChange{\hologo{LaTeX}}-Symbolen} +\index{Symbole} +Für \hologo{LaTeX} stehen jede Menge Symbole zur Verfügung, die allerdings +nicht immer einfach zu finden sind. In der Zusammenfassung +\hrfn{http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}% +{\File{symbols-a4.pdf}} werden viele Symbole aus mehreren Paketen aufgeführt. +Allerdings ist das Auffinden eines speziellen Symbols nicht sehr komfortabel. +Alternativ kann \hrfn{http://detexify.kirelabs.org/classify.html}{Detexify} +verwendet werden. Auf dieser Web-Seite wird das gesuchte Symbol einfach +gezeichnet, die dazu ähnlichsten werden zurückgegeben. + + + +\section{Warnung bei der Verwendung von \Package{multicol}} +% +\ChangedAt{v2.02!\TaT: Warnung bei der Verwendung von \Package{multicol}} +% +Das einzig momentan bekannte Problem der \TUDScript"=Klasse tritt in Verbindung +mit dem Paket \Package{multicol}|?| auf. Dieses greift~-- ähnlich zu dem für +die Seitenstile verwendeten Paket \Package{scrlayer-scrpage}~-- sehr stark in +die Ausgaberoutine von \hologo{LaTeXe} ein. Bei Spaltenumbrüchen innerhalb der +\Environment{multicols}"=Umgebung kommt es sehr häufig zu folgender Warnung: +% +\begin{quoting} +\begin{Code} +Underfull \hbox (badness 10000) has occurred while \output is active +\end{Code} +\end{quoting} +% +Wird \Package{scrlayer-scrpage} nicht verwendet, unterbleibt die Warnung. Beide +Pakete haben in der Kombination miteinander augenscheinlich ein Problem. Die +Autoren der beiden Pakete wurden über dieses Problem informiert, signalisierten +jedoch verständlicherweise wenig Bereitschaft, der Ursache auf den Grund zu +gehen. Leider kann für die \TUDScript-Klassen auf \Package{scrlayer-scrpage} +nicht verzichtet werden, es ist von essentieller Bedeutung für die Seitenstile +im \CD der \TnUD. Am Ausgabeergebnis ändert sich nichts. Im Zweifelsfall werden +jedoch eine Menge bedeutungsloser Warnungen generiert. + +Es gibt allerdings eine Möglichkeit, diese zu unterdrücken. Hierfür wird auf +die Funktionalitäten von \Package{etoolbox} zurückgegriffen, was ohnehin von +den \TUDScript-Klassen geladen wird. In der Präambel kann folgender Quelltext +verwendet werden: +% +\begin{quoting} +\begin{Code} +\makeatletter +\apptocmd{\prepare@multicols}{\hbadness10000}{}{} +\makeatother +\end{Code} +\end{quoting} +% +Dadurch werden die durch \hologo{LaTeXe} generierten Warnungen innerhalb der +\Environment{multicols}"=Umgebung deaktiviert. Es muss dabei beachtet werden, +dass dies für alle Boxen~-- und nicht nur jene beim Spaltenumbruch~-- gilt. + + + +\section{Fehlermeldung: ! No room for a new \textbackslash write} +% +\ChangedAt{v2.02!\TaT: Fehler beim Schreiben von Hilfsdateien} +% +Für das Erstellen und Schreiben externer Hilfsdateien steht \hologo{LaTeXe} nur +eine begrenzte Anzahl sogenannter Ausgabe-Streams zur Verfügung. Allein für +jedes zu erstellende Verzeichnis reserviert \hologo{LaTeX} selbst jeweils einen +neuen Stream. Auch einige bereits zuvor in diesem Handbuch vorgestellte, sehr +hilfreiche Pakete~-- wie beispielsweise \Package{hyperref}, \Package{biblatex}, +\Package{glossaries}, \Package{todonotes} oder auch \Package{filecontents}~-- +benötigen eigene Hilfsdateien und öffnen für das Erstellen dieser einen +Ausgabe-Stream oder mehr. + +Lädt der Anwender mehrere, in eine Hilfsdatei schreibende Pakete, kann es zur +der Fehlermeldung +% +\begin{quoting} +\begin{Code} +! No room for a new \write . +\end{Code} +\end{quoting} +% +kommen. Abhilfe schafft hier das Paket \Package{scrwfile}(koma-script), welches +einige Änderungen am \hologo{LaTeX}-Kern vornimmt, um die Anzahl der benötigten +Hilfsdateien für das Schreiben aller Verzeichnisse zu reduzieren. Es muss +einfach in der Präambel eingebunden werden. Sollten mit diesem Paket +unerwarteter Weise Probleme auftreten, ist dessen Anleitung in \scrguide zu +finden. Eine weitere Möglichkeit, das beschriebene Problem der geringen Menge +an Ausgabe-Streams zu umgehen, stellt das Paket \Package{morewrites} dar. +Allerdings ist dessen Verwendung nicht in allen Fällen von Erfolg gekrönt. + + + +\section{Ä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} + + + +\section{Platzierung von Gleitobjekten} +\manualhyperdef'{sec:tips:floats}{}% +\index{Gleitobjekte|?}% +% +Mit den beiden Paketen \Package{flafter} sowie \Package{placeins} gibt es die +Möglichkeit, den für \hologo{LaTeX} zur Verfügung stehenden Raum für die +Platzierung von Gleitobjekten einzuschränken. Darüber hinaus kann diese auch +durch die im Folgenden aufgezählten Befehle beeinflusst werden. Die Makros +lassen sich mit \Macro*{renewcommand*}\Parameter{Befehl}\Parameter{Wert} sehr +einfach ändern. + +\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 +(\Length*{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 die Längen durch den Anwender geändert werden. +\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} + + + +\section{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } +\manualhyperdef'{sec:tips:svg}% +\index{Grafiken}% +% +In \hrfn{http://www.ctan.org/pkg/svg-inkscape}{\Package{svg-inkscape}} wird das +automatisierte Einbinden von \Application{Inkscape}-Grafiken in ein +\hologo{LaTeX}"=Dokument erläutert. Hier wird ein daraus abgeleiteter und +verbesserter Ansatz vorgestellt. Nutzer von unixartigen Systemen können +alternativ auch das Paket \Package{svg} nutzen, welches den folgend erläuterten +Befehl \Macro{includesvg} definiert. + +Die mit \Application{Inkscape} erstellte Grafik soll automatisch kompiliert und +eingebunden werden. Dies soll allerdings nicht bei jeder Kompilierung des +Hauptdokumentes erfolgen, sondern lediglich, wenn die originale Bilddatei +geändert beziehungsweise aktualisiert wurde. Hierfür wird \Package{filemod} +verwendet. Die automatisierte Übersetzung einer Grafik im SVG"~Format in eine +PDF"~Datei und die daran anschließende Einbindung dieser in das Dokument ist +mit der Definition von \Macro{includesvg}\OParameter{Breite}\Parameter{Datei} +in der Präambel des Dokumentes wie folgt möglich: +% +\manualhyperdef{macros:includesvg}% +\begin{quoting} +\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} +\end{quoting} +% +Mit \Macro*{immediate}\Macro*{write18}\Parameter{externer Aufruf} wird 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 des Betriebssystems 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. + + + +\section{Probleme bei der Verwendung von \Package{auto-pst-pdf}} +\manualhyperdef'{sec:tips:auto-pst-pdf} +% +\ChangedAt{v2.02!\TaT: Hinweise zu \Package{auto-pst-pdf}} +% +Bei der Verwendung von \hologo{pdfLaTeX} liest das Paket \Package{auto-pst-pdf} +die Präambel ein und erstellt anschließend über den PostScript"=Pfad +\Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf} eine PDF-Datei, +welche lediglich alle in den vorhandenen \Environment{pspicture}"=Umgebungen +erstellten Grafiken enthält. +Das Paket \Package{ifpdf} +stellt das Makro \Macro{ifpdf} bereit, mit welchem unterschieden werden kann, +ob \hologo{pdfLaTeX} als Dokumentprozessor verwendet wird. Abhängig davon +können unterschiedliche Quelltexte ausgeführt werden, was genutzt wird, um die +nachfolgend beschriebenen Probleme zu beheben. +% +\begin{quoting} +\begin{Code} +\usepackage{ifpdf} +\end{Code} +\end{quoting} + +\minisec{Die gleichzeitige Verwendung von \Package{floatrow}} +Das Paket \Package{floatrow} stellt Befehle bereit, mit denen die Beschriftung +von Gleitobjekten sehr bequem gesetzt werden können. Diese Setzen ihren Inhalt +erst in einer Box, um deren Breite zu ermitteln. Anschließend wird dieser +ausgegeben. In Kombination mit \Package{auto-pst-pdf} führt das zu einer +doppelten Erstellung der gewünschten Abbildung. Um dies zu vermeiden, müssen +die durch \Package{floatrow} bereitgestellten Befehle \enquote{unschädlich} +gemacht werden. Die fraglichen Befehlen akzeptieren allerdings bis zu drei +optionale Argumente \emph{vor} den beiden obligatorischen, was für die +Benutzerschnittstelle für die (Re-)Definition durch \hologo{LaTeXe} +normalerweise nicht vorgesehen ist. Deshalb wird das Paket \Package{xparse} +geladen, mit welchem dies möglich wird. Genaueres dazu ist der dazugehörigen +Paketdokumentation zu entnehmen. Verwendet man folgenden Quelltextauszug in der +Dokumentpräambel, kann man die \Package{floatrow}-Befehle auch in Verbindung +mit der \Environment{pspicture}"=Umgebung wie gewohnt verwenden. +% +\begin{quoting} +\begin{Code} +\usepackage{floatrow} +\usepackage{xparse} +\ifpdf\else + \RenewDocumentCommand{\fcapside}{ooo+m+m}{#4#5} + \RenewDocumentCommand{\ttabbox}{ooo+m+m}{#4#5} + \RenewDocumentCommand{\ffigbox}{ooo+m+m}{#4#5} +\fi +\end{Code} +\end{quoting} + +\minisec{Die parallele Nutzung von \Package{tikz} und \Package{todonotes}} +Mit dem Paket \Package{tikz}(pgf)~-- und auch allen anderen Paketen die +selbiges nutzen wie beispielsweise \Package{todonotes}~-- gibt es in Verbindung +mit \Package{auto-pst-pdf} ebenfalls Probleme. Dies lässt sich lösen, indem man +diese Pakete lediglich in der Präambel einbindet, wenn \hologo{pdfLaTeX} aktiv +ist. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code} +\ifpdf + \usepackage{tikz}%\dots gegebenenfalls weitere auf tikz basierende Pakete +\fi +\end{Code} +\end{quoting} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-index.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-index.tex new file mode 100644 index 00000000000..d8a2348d1cd --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-index.tex @@ -0,0 +1,77 @@ +\Index{Optionen}{options}% +\Index{Befehle}[Befehle etc.]{macros}% +\Index{Makro}[Befehle etc.]{macros}% +\Index{Umgebungen}[Befehle etc.]{macros}% +\Index{Befehle!Parameter}[Parameter]{keys}% +\Index{Umgebungen!Parameter}[Parameter]{keys}% +\Index{Parameter}{keys}% +\Index{Bezeichner}{terms}% +\Index{Schriftelemente}{fonts}% +\Index{Farben}{colors}% +\Index{Klassen}[Dateien etc.]{files}% +\Index{Pakete}[Dateien etc.]{files}% +\Index{Dateien}[Dateien etc.]{files}% +\Changelog{Änderungen} +\Changelog{Changelog} +\Changelog{Version} +\index{Abbildungen|see{Grafiken}}% +\index{Aktualisierung|see{Update}}% +\index{Aufzählungen|see{Listen}}% +\index{Cover|see{Umschlagseite}}% +\index{Dezimaltrennzeichen|see{Trennzeichen}}% +\index{Distribution!Mac\hologo{TeX}|see{Mac\hologoRobust{TeX}~{\idxfont(Distribution)}}} +\index{Distribution!\hologo{TeX}~Live|see{\hologoRobust{TeX}~Live~{\idxfont(Distribution)}}} +\index{Distribution!\hologo{MiKTeX}|see{\hologoRobust{MiKTeX}~{\idxfont(Distribution)}}} +\index{Fachreferent|see{Referent}}% +\index{Farbraum|see{Farben!Farbmodell}}% +\index{Grafiken!Beschriftung|see{Gleitobjekte}} +\index{Großbuchstaben|see{Schriftauszeichnung}}% +\index{Klassenoptionen|see{Optionen}}% +\index{Kleinbuchstaben|see{Schriftauszeichnung}}% +\index{Kurzfassung|see{Zusammenfassung}}% +\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{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{Tabellen!Beschriftung|see{Gleitobjekte}} +\index{Tausendertrennzeichen|see{Trennzeichen}}% +\index{Trennmuster|see{Worttrennung}}% +\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 + (\scrguide*). + \end{abstract} +} +\addchap*{\indexname} +\addxcontentsline{toc}{part}{\indexname} +\PrintIndexPrologue{% + Die aufgelisteten Schlagworte sollen sowohl Antworten bei generellen Fragen + als auch Lösungen für typische Probleme beim Umgang mit \hologo{LaTeXe} sowie + dem \TUDScript-Bundle liefern. +% Falls ein gesuchter Begriff hier nicht auftaucht, ist das Forum erster +% Anlaufpunkt. +} +\PrintIndex +\PrintChangelog diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-installation.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-installation.tex new file mode 100644 index 00000000000..36de3d01b56 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-installation.tex @@ -0,0 +1,292 @@ +\chapter{Weiterführende Installationshinweise} +\label{sec:install:ext} +% +\noindent\Attention{% + Im Folgenden werden unterschiedliche Varianten erläutert, wie die jeweils + aktuelle Version von \TUDScript genutzt werden kann, falls bereits eine + frühere Variante \textbf{lokal} installiert ist. Unabhängig davon, für welche + Möglichkeit Sie sich entscheiden, ist eine abermalige Installation der + PostScript"=Schriften für eine fehlerfreie Verwendung von \TUDScript zwingend + notwendig, wenn Sie bisher \TUDScript vor der Version~v2.02 verwendet haben. + Das liegt daran, dass der Installationsprozess der Schriften des \CDs für die + Version~v2.02 nochmals angepasst werden musste. Dieser Schritt ließ sich + leider nicht vermeiden. Für zukünftige Versionen kann darauf hoffentlich + verzichtet werden, sodass Aktualisierungen ausschließlich über CTAN + eingespielt werden können. Die Installation der PostScript"=Schriften ist in + \autoref{sec:install} beschrieben. +} + +\bigskip\noindent +Bis zur Version~v2.01 wurde \TUDScript ausschließlich über das \Forum zur +lokalen Nutzerinstallation angeboten. In erster Linie hat das historische +Hintergründe und hängt mit der Entstehungsgeschichte von \TUDScript zusammen. + +Eine lokale Nutzerinstallation bietet mehr oder weniger genau einen Vorteil. +Treten bei der Verwendung von \TUDScript Probleme auf, können diese im Forum +gemeldet und diskutiert werden. Ist für ein solches Problem tatsächlich eine +Fehlerkorrektur respektive eine Aktualisierung von \TUDScript nötig, kann +diese schnell und unkompliziert über das \GitHubRepo bereitgestellt und durch +den Anwender sofort genutzt werden. + +Dies hat allerdings für Anwender, welche das Forum relativ wenig oder gar +nicht besuchen, den großen Nachteil, dass diese nicht von Aktualisierungen, +Verbesserungen und Fehlerkorrekturen neuer Versionen profitieren können. Auch +sämtliche nachfolgenden Bugfixes und Aktualisierungen des \TUDScript-Bundles +müssen durch den Anwender manuell durchgeführt werden. Daher wird in Zukunft +die Verbreitung via \hrfn{http://www.ctan.org/pkg/tudscr}{CTAN} präferiert, so +dass \TUDScript stets in der aktuellen Version verfügbar ist~-- eine durch den +Anwender aktuell gehaltene \hologo{LaTeX}"=Distribution vorausgesetzt. Der +einzige Nachteil bei diesem Ansatz ist, dass die Verbreitung eines Bugfixes +über das \hrfn{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} +und die anschließende Bereitstellung durch die verwendete Distribution für +gewöhnlich mehrere Tage dauert. + +Die gängigen \hologo{LaTeX}"=Distributionen durchsuchen im Regelfall zuerst das +lokale \Path{texmf}"=Nutzerverzeichnis nach Klassen und Paketen und erst daran +anschließend den \Path{texmf}"=Pfad der Distribution selbst. Dabei spielt es +keine Rolle, in welchem Pfad die neuere Version einer Klasse oder eines Paketes +liegt. Sobald im Nutzerverzeichnis die gesuchte Datei gefunden wurde, wird die +Suche beendet. +\Attention{% + In der Konsequenz bedeutet dies, dass sämtliche Aktualisierungen über CTAN + nicht zum Tragen kommen, falls \TUDScript als lokale Nutzerversion + installiert wurde. +} + +Deshalb wird Anwendern, die \TUDScript in der Version~v2.01 oder älter nutzen +und sich nicht \emph{bewusst} für eine lokale Nutzerinstallation entschieden +haben, empfohlen, diese zu deinstallieren. Der Prozess der Deinstallation wird +in \autoref{sec:local:uninstall} erläutert. Wird diese einmalig durchgeführt, +können Updates des \TUDScript-Bundles durch die Aktualisierungsfunktion der +Distribution erfolgen. Wie das \TUDScript-Bundle trotzdem als lokale +Nutzerversion installiert oder aktualisiert werden kann, ist in +\autoref{sec:local:install} beziehungsweise \autoref{sec:local:update} zu +finden. Der Anwender sollte in diesem Fall allerdings genau wissen, was er +damit bezweckt, da er in diesem Fall für die Aktualisierung von \TUDScript +selbst verantwortlich ist. + + + +\section{Lokale Deinstallation des \TUDScript-Bundles} +\label{sec:local:uninstall} +\index{Deinstallation} +% +Um die lokale Nutzerinstallation zu entfernen, kann für Windows +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.bat}% +{\File{tudscr\_uninstall.bat}} sowie für unixartige Betriebssysteme +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.sh}% +{\File{tudscr\_uninstall.sh}} verwendet werden. Nach der Ausführung des +jeweiligen Skriptes kann in der Konsole beziehungsweise im Terminal mit +% +\begin{quoting} +\Path{kpsewhich --all tudscrbase.sty} +\end{quoting} +% +überprüft werden, ob die Deinstallation erfolgreich war oder immer noch eine +lokale Nutzerinstallation vorhanden ist. Es werden alle Pfade ausgegeben, in +welchen die Datei \File*{tudscrbase.sty} gefunden wird. Erscheint nur noch der +Pfad der Distribution, ist die \TUDScript-Version von CTAN aktiv und der +Anwender kann mit dem \TUDScript-Bundle arbeiten. Falls es nicht +schon passiert ist, müssen dafür lediglich die Schriften des \CDs installiert +werden (\autoref{sec:install}). + +Wird \emph{nur} das lokale Nutzerverzeichnis oder gar kein Verzeichnis +gefunden, so wird höchstwahrscheinlich eine veraltete Distribution +verwendet. In diesem Fall \emph{muss} \TUDScript lokal aktualisiert +(\autoref{sec:local:update}) beziehungsweise bei der erstmaligen Verwendung +lokal installiert (\autoref{sec:local:install}) werden. Sollte neben dem +Pfad der Distribution immer noch mindestens ein weiterer Pfad angezeigt werden, +so ist weiterhin eine lokale Nutzerversion installiert. In diesem Fall hat der +Anwender zwei Möglichkeiten: +% +\begin{enumerate} +\item Entfernen der lokalen Nutzerinstallation (manuell) +\item Update der lokalen Nutzerversion +\end{enumerate} +% +Die erste Variante wird nachfolgend erläutert, die zweite Möglichkeit wird in +\autoref{sec:local:update} beschrieben. Nur die manuelle Deinstallation der +lokalen Nutzerversion \TUDScript ermöglicht dabei die Verwendung der jeweils +aktuellen CTAN"=Version. Hierfür ist etwas Handarbeit durch den Anwender +vonnöten. Der in der Konsole beziehungsweise im Terminal mit +% +\begin{quoting} +\Path{kpsewhich --all tudscrbase.sty} +\end{quoting} +% +gefundene~-- zum Ordner der Distribution \emph{zusätzliche}~-- Pfad hat die +folgende Struktur: +% +\begin{quoting} +\Path{\emph{<Installationspfad>}/tex/latex/tudscr/tudscrbase.sty} +\end{quoting} +% +Um die Nutzerinstallation vollständig zu entfernen, muss als erstes zu +\Path{\emph{<Installationspfad>}} navigiert werden. Anschließend ist in diesem +Pfad Folgendes durchzuführen: +% +\settowidth{\tempdim}{\Path{tex/latex/tudscr/}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] +\item[\Path{tex/latex/tudscr/}]alle .cls- und .sty-Dateien löschen +\item[\Path{tex/latex/tudscr/}]Ordner \Path{logo} vollständig löschen +\item[\Path{doc/latex/}] Ordner \Path{tudscr} vollständig löschen +\item[\Path{source/latex/}] Ordner \Path{tudscr} vollständig löschen +\end{description} +% +Das Verzeichnis \Path{\emph{<Installationspfad>}/tex/latex/tudscr/fonts} +\textbf{sollte erhalten bleiben}. Andernfalls müssen die Schriften des \CDs +abermals wie unter \autoref{sec:install} beschrieben installiert werden. +Zum Abschluss ist in der Kommandozeile beziehungsweise im Terminal der Befehl +\Path{texhash} aufzurufen. Damit wurde die lokale Version entfernt und es wird +von nun an die Version von \TUDScript genutzt, welche durch die verwendete +Distribution bereitgestellt wird. + + + +\section{Lokale Installation des \TUDScript-Bundles} +\label{sec:local:install} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +% +Für die lokale Installation von \TUDScript inklusive der Schriften des \CDs +werden für Windows sowie unixartige Betriebssysteme die passenden Skripte +angeboten. Eine lokale Installation sollte nur von Anwender ausgeführt werden, +die genau wissen, aus welchen Gründen dies geschehen soll. + + +\subsection{Lokale Installation von \TUDScript unter Windows} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} +oder \Distribution{\hologo{MiKTeX}} werden neben Schriftarchiven die Dateien aus +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_full.zip}% +{\File*{TUD-KOMA-Script\_\vTUDScript\_Windows\_full.zip}} benötigt. Vor der +Verwendung des Skripts \File{tudscr\_\vTUDScript\_install.bat} sollte +sichergestellt werden, dass sich \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 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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} + \item[\File{7za.exe}]Stand-Alone-Version von 7-zip zum Entpacken der Archive% + \footnote{% + Windows stellt keine Bordmittel zum Extrahieren von Archiven auf + Kommandozeilen-/Skript-Ebene zur Verfügung.% + }% +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert, falls kein anderes +Verzeichnis explizit angegeben wird. Für Hinweise bei Problemen mit der +Schriftinstallation sei auf \autoref{sec:install:fonts:win} verwiesen. + + + +\subsection{Lokale Installation von \TUDScript unter Linux und OS~X} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} +oder \Distribution{Mac\hologo{TeX}} werden neben Schriftarchiven die Dateien aus +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_full.zip}% +{\File*{TUD-KOMA-Script\_\vTUDScript\_Unix\_full.zip}} benötigt. Vor der +Verwendung des Skripts \File{tudscr\_\vTUDScript\_install.sh} sollte +sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben +Verzeichnis befinden: +% +\begin{description}[labelwidth=\tempdim,labelsep=1em] +\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.sh}}% + \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit Klassen- und Paketdateien + \item[\File{tudscr\_\vTUDScript\_install.sh}]Installationsskript + (Terminal: \Path{bash tudscr\_\vTUDScript\_install.sh}) + \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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert. Für Hinweise bei +Problemen mit der Schriftinstallation sei auf \autoref{sec:install:fonts:unix} +verwiesen. + + + +\section{Lokales Update des \TUDScript-Bundles} +\label{sec:local:update} +\index{Update!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +% +%\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.02} +%Für eine lokale Aktualisierung von \TUDScript auf \vTUDScript{} muss das Archiv +%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip}% +%{TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip} respektive +%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip}% +%{TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip} entpackt und anschließend +%\File{tudscr\_\vTUDScript\_update.bat} oder +%\File{tudscr\_\vTUDScript\_update.sh} ausgeführt werden. +%\Attention{% +% Das lokale Update funktioniert nur, wenn bereits mindestens Version~v2.02 +% entweder lokal oder über die Distribution installiert ist.% +%} + +\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.00} +Mit der Version~v2.02 gab es einige tiefgreifende Änderungen. Deshalb wird für +vorausgehende Versionen~-- sprich v2.00 und v2.01~-- kein dediziertes Update +angeboten. Die Aktualisierung kann durch den Anwender entweder~-- wie in +\autoref{sec:local:install} erläutert~-- mit einer skriptbasierten oder mit +einer manuellen Neuinstallation lokal erfolgen. Für die zweite Variante muss +der Inhalt des Archivs +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/tudscr\_\vTUDScript.zip}% +{\File{tudscr\_\vTUDScript.zip}} in das lokale \Path{texmf}"=Nutzerverzeichnis +kopiert werden. Des Weiteren wurde die Installation der Schriften überarbeitet. +Deshalb wird auch für diese eine Neuinstallation (\autoref{sec:install}) +empfohlen. + + +\subsection{Update des \TUDScript-Bundles von Version \NoCaseChange{v}1.0} +\begin{Declaration*}{\Class{tudscrbookold}} +\begin{Declaration*}{\Class{tudscrreprtold}} +\begin{Declaration*}{\Class{tudscrartclold}} +\index{Update!Version v1.0}% +\index{Hauptklassen} +\index{Version!v1.0}% +% +Ist \TUDScript in der veralteten und obsoleten Version~v1.0 installiert, so +wird dringend zu einer Deinstallation dieser geraten. Dafür werden die Skripte +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.bat}{\File{tudscr\_uninstall.bat}} +respektive +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr_uninstall.sh}{\File{tudscr\_uninstall.sh}} +bereitgestellt. Andernfalls wird es zu Problemen kommen. Die aktuelle +Version~\vTUDScript{} kann nach der Deinstallation der Version~v1.0 wie unter +\autoref{sec:install} beschrieben installiert werden. + +Sollen die obsoleten \TUDScript-Klassen in der Version~v1.0 nach einer +Aktualisierung weiterhin genutzt werden, so müssen diese erst wie zuvor +beschrieben de"~~und anschließend neu installiert werden. Dafür kann das Archiv +\hrfn{https://github.com/tud-cd/tudscrold/releases/download/v1.0/TUD-KOMA-Script_v1.0old.zip}% +{\File*{TUD-KOMA-Script\_v1.0old.zip}} verwendet werden, welches sowohl die +genannten Skripte zur Deinstallation als auch die zur neuerlichen Installation +der veralteten Klassen benötigten \File{tudscr\_v1.0old\_install.bat} oder +\File{tudscr\_v1.0old\_install.sh} enthält. Nach Abschluss des Vorgangs sind +die alten Klassen der Version~v1.0 mit \Class{tudscrbookold}, +\Class{tudscrreprtold} und \Class{tudscrartclold} verwendbar und können +parallel zur aktuellen Version~\vTUDScript{} genutzt werden. + +Im Vergleich zur Version~v1.0 hat sich an der Benutzerschnittstelle nicht sehr +viel verändert. Treten nach dem Umstieg von der Version~v1.0 auf die +Version~\vTUDScript{} dennoch Probleme auf, sollte der Anwender als erstes in +die Beschreibung des Paketes \Package{tudscrcomp}'full' sehen. Diese Paket +stellt eine Schnittstelle bereit, mit der es möglich ist, alte und ursprünglich +nicht mehr vorgesehene Befehle und Optionen dennoch zu nutzen. Allerdings +werden einige von diesen auch durch das Paket \Package{tudscrcomp} nicht mehr +bereitgestellt, weil diese schlichtweg verworfen wurden. Diese sind in +\autoref{sec:obsolete} aufgeführt und es werden im alten Dokument notwendige +Anpassungen beschrieben. Sollten dennoch Fehler oder Probleme beim Umstieg auf +die neue \TUDScript-Version auftreten, ist eine Meldung im Forum die beste +Möglichkeit, um Hilfe zu erhalten. +\end{Declaration*} +\end{Declaration*} +\end{Declaration*} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-introduction.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-introduction.tex new file mode 100644 index 00000000000..7f821f36daf --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-introduction.tex @@ -0,0 +1,291 @@ +\chapter{Einleitung} +\index{Distribution} +Zur fehlerfreien Verwendung der \TUDScript-Klassen der Version~\vTUDScript{} +werden sowohl die \KOMAScript"=Klassen~\vKOMAScript{} oder später als auch die +beiden Hausschriften des \CDs \Univers und \DIN zwingend benötigt. Außerdem +müssen weitere Pakete durch die genutzte \hologo{LaTeX}"=Distribution +bereitgestellt werden. + +Bei den aktuellen Distributionen \Distribution{\hologo{TeX}~Live}[2014], +\Distribution{Mac\hologo{TeX}}[2014] und \Distribution{\hologo{MiKTeX}}[2.9] +ist das mit großer Sicherheit kein Problem. Nutzen Sie jedoch eine ältere +Distribution, könnte dies zu Problemen führen. Dann sollte bestenfalls eine der +aktuellen Distributionen installiert werden. Ist dies nicht möglich, müssen die +unter \autoref{sec:packages:needed} aufgeführten Pakete sowie \TUDScript +(\autoref{sec:local:install}) in der jeweils benötigten Version lokal +installiert werden. + +Das Vorlagenpaket von Klaus Bergmann ist für die Verwendung nicht notwendig. +Allerdings beinhaltet dieses weitere Klassen zum Erstellen von Folien +und Briefen.% +\footnote{% + \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, \Class{tudfax}, + \Class{tudhaus}, \Class{tudform} +} +Das \TUDScript"=Bundle ist hauptsächlich für das Erstellen wissenschaftlicher +Texte und Arbeiten gedacht und soll die ursprünglichen 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 bei \hrfn{https://github.com/tud-cd/tud-cd}{GitHub} als +auch auf der \hrfn{http://tu-dresden.de/service/publizieren/cd/4_latex} +{\hologo{LaTeX}-Seite der \TnUD} 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. Damit 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. Damit kann +das Verhalten von Optionen im Dokument~-- innerhalb einer Gruppe auch lokal~-- +geändert werden. + +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 folglich 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. + + + +\section{Installation des \TUDScript-Bundles} +\label{sec:install}% +\index{Installation}\index{Update}% +% +\ChangedAt{% + v2.01!\TUDScript-Bundle auf CTAN veröffentlicht,% + v2.02!Installationsroutine der PostScript-Schriften verbessert% +} +% +Das \TUDScript-Bundle ist seit der Version~v2.01~-- aufgrund lizenzrechtlicher +Bedingungen \emph{ohne} die geschützten Schriften \Univers und \DIN~-- im +\foreignlanguage{english}{% + \hrfn{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} +} zu finden und dadurch in aktuellen \hologo{LaTeX}"=Distributionen wie +\Distribution{\hologo{TeX}~Live}[2014], \Distribution{Mac\hologo{TeX}}[2014] +oder auch \Distribution{\hologo{MiKTeX}}[2.9] enthalten. Aus diesem Grund ist +eine komplett lokale Nutzerinstallation wie in den vorherigen Versionen nicht +mehr notwendig. Auch manuelle Updates des \TUDScript-Bundles sind~-- für den +Fall, dass die \hologo{LaTeX}"=Distribution durch den Nutzer aktuell gehalten +wird~-- prinzipiell nicht mehr nötig. + +Zur problemlosen Verwendung des \TUDScript-Bundles ist~-- neben \KOMAScript{} in +der Version~\vKOMAScript und den in \autoref{sec:packages:needed} aufgeführten +\hologo{LaTeX}-Paketen~-- lediglich eine Installation der PostScript"=Schriften +des \CDs der \TnUD notwendig. Diese müssen über das Universitätsmarketing auf +\hrfn{http://tu-dresden.de/service/publizieren/cd/1_basiselemente/03_hausschrift/schriftbestellung.html}% +{Anfrage} mit dem Hinweis auf die Verwendung von \hologo{LaTeX} bestellt +werden. Sobald Sie die notwendigen Archive \File{Univers\_PS.zip} und +\File{DIN\_Bd\_PS.zip} erhalten haben, können die Schriften für Windows +(\autoref{sec:install:fonts:win}) beziehungsweise unixoide Betriebssysteme +(\autoref{sec:install:fonts:unix}) installiert werden. Die benötigten Skripte +werden als \hrfn{https://github.com/tud-cd/tudscr/releases/tag/fonts}{Release} +im \GitHubRepo* bereitgestellt.% +\footnote{% + Das Einbinden von installierten Systemschriften im Open-Type-Format mit dem + Paket \Package{fontspec} für \hologo{LuaLaTeX} oder \hologo{XeLaTeX} wird + mittlerweile zwar unterstützt, empfehlenswert ist diese Variante allerdings + nur bedingt. Genaueres dazu in \autoref{sec:fonts:fontspec}.% +} +Dort sind auch die Quelldateien von \TUDScript und der Installationsskripte zu +finden. + +\Attention{% + Wurde \TUDScript in einer früheren Ausführung als lokale Nutzerinstallation + eingerichtet oder soll es in der Version \vTUDScript{} lokal installiert + werden, so sei auf \autoref{sec:install:ext} verwiesen.% +} + +\minisec{Anmerkung zu Windows} +Sollte Windows genutzt werden und noch keine \hologo{LaTeX}"=Distribution auf +ihrem System installiert sein, so rate ich persönlich zur Verwendung von +\Distribution{\hologo{TeX}~Live}|?| statt \Distribution{\hologo{MiKTeX}}|?|. +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 wie beispielsweise \Package{glossaries} vereinfacht +beziehungsweise verbessert. + +\minisec{Anmerkung zu Linux und OS~X} +Nach dem gegebenenfalls notwendigen Entpacken eines heruntergeladenen Archivs +\emph{müssen} Installationsskripte für unixartigen Betriebssystemen über das +Terminal ausgeführt werden. Nachdem dieses geöffnet wurde, sollte in diesem zum +entsprechenden Pfad (beispielsweise \Path{cd Downloads/\PName{Unterordner}}) +navigiert werden. Danach können sämtliche Skripte direkt mit der Verwendung von +\Path{bash \PName{Skript}.sh} aus dem Terminal ausgeführt werden. + + +\subsection{Installation der PostScript-Schriften unter Windows} +\label{sec:install:fonts:win} +\index{Installation!Schriften} +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-KOMA-Script_fonts_Windows.zip}% +{\File*{TUD-KOMA-Script\_fonts\_Windows.zip}} vorgesehen. Dieses ist sowohl für +\Distribution{\hologo{TeX}~Live} als auch \Distribution{\hologo{MiKTeX}} +nutzbar und enthält~-- bis auf die Schriftdateien selbst~-- alle benötigten +Dateien. Diese sollten nach dem Entpacken des Archivs in das gleiche +Verzeichnis kopiert werden. Vor der Verwendung des Skripts +\File{tudscrfonts\_install.bat} sollte sichergestellt werden, dass sich +\emph{alle} der folgenden Dateien im selben Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscrfonts\_install.bat}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscrfonts\_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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} + \item[\File{7za.exe}]Stand-Alone-Version von 7-zip zum Entpacken der Archive% + \footnote{% + Windows stellt keine Bordmittel zum Extrahieren von Archiven auf + Kommandozeilen-/Skript-Ebene zur Verfügung.% + }% +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert, falls kein anderes +Verzeichnis explizit angegeben wird. + +\minisec{Anmerkung zu \ifdin{TeX~Live}{\hologo{TeX}~Live}} +Sollte das Installationsskript fehlerfrei durchlaufen, die Schriften dennoch +nicht verfügbar sein, so kann man mit \Path{updmap-sys -{}-syncwithtrees} +die Synchronisierung aller Schriftdateien anstoßen. Anschließend sollte man +noch \Path{updmap-sys -{}-force} aufrufen. Sind die Schriften danach immer noch +nicht verfügbar, so wurden auf dem System bestimmt schon andere Schriften lokal +installiert. In diesem Fall sollte man den Vorgang noch einmal für lokale +Schriften mit \Path{updmap -{}-syncwithtrees} und \Path{updmap -{}-force} +ausführen. Dies hat jedoch zur Folge, dass der Befehl \Path{updmap-sys} von nun +an wirkungslos bleibt und auch in Zukunft bei der globalen Installation neuer +Schriften diese mit \Path{updmap} lokal registriert werden müssen. + +\minisec{Anmerkung zu \ifdin{MiKTeX}{\hologo{MiKTeX}}} +Für den Fall, dass \Distribution{\hologo{MiKTeX}} verwendet wird, ist sehr +ratsam, das \TUDScript-Bundle~-- wie sämtliche manuell installierte Pakete und +Schriftarten auch~-- nicht in das Standardnutzerverzeichnis oder gar in den +Pfad der \Distribution{\hologo{MiKTeX}}"=Distribution selbst sondern in einen +separaten Ordner zu installieren und diesen bei \Distribution{\hologo{MiKTeX}} +als lokalen \Path{texmf}-Baum anzumelden. Das mitgelieferte Installationsskript +für diesen Schritt automatisiert aus. Am besten ist, den voreingestellten +Installationspfad zu verwenden. + +Es kann vorkommen, dass die für den Schriftinstallationsprozess notwendigen +Pakete \Package{fontinst}, \Package{cmbright} sowie \Package{iwona} noch nicht +installiert sind. Ist die automatische Nachinstallation fehlender Pakete +aktiviert, so reicht es im Normalfall, nach einem ersten vollständigen +Durchlauf das Skript abermals zu starten. Andernfalls müssen diese Pakete +manuell über den Paketmanager installiert werden. + +Das Installationsskript scheitert außerdem bei einigen Anwendern~-- aufgrund +eingeschränkter Nutzerzugriffsrechte~-- beim Eintragen der Schriften in die +Map-Datei. Dies muss gegebenenfalls durch den Nutzer über die Kommandozeile +\Path{initexmf -{}-edit-config-file updmap} erfolgen. In der sich öffnenden +Datei sollte sich der Eintrag \Path{Map tudscr.map} befinden. Ist dies nicht +der Fall, ist diese Zeile manuell einzutragen und die Datei zu speichern. +Danach muss in der Kommandozeile noch \Path{initexmf -{}-mkmaps} ausgeführt +werden. + + +\subsection{Installation der PostScript-Schriften unter Linux und OS~X} +\label{sec:install:fonts:unix} +\index{Installation!Schriften} +Für die Erstellung des Installationsskripts für Linux und OS~X geht mein Dank +an Jons-Tobias Wamhoff, welcher sich für die erstmalige Portierung des Skripts +von Windows zu unixartigen Systemen freiwillig zur Verfügung stellte. +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-KOMA-Script_fonts_Unix.zip}% +{\File*{TUD-KOMA-Script\_fonts\_Unix.zip}} vorgesehen. Dieses ist sowohl für +\Distribution{\hologo{TeX}~Live} als auch \Distribution{Mac\hologo{TeX}} +nutzbar und enthält~-- bis auf die Schriftdateien selbst~-- alle benötigten +Dateien. Diese sollten nach dem Entpacken des Archivs in das gleiche +Verzeichnis kopiert werden. Vor der Verwendung des Skripts +\File{tudscrfonts\_install.sh} sollte sichergestellt werden, dass sich +\emph{alle} der folgenden Dateien im selben Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscrfonts\_install.sh}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscrfonts\_install.sh}]Installationsskript + (Terminal: \Path{bash tudscrfonts\_install.sh}) + \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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert. + + +\subsection{Probleme bei der Installation der PostScript-Schriften} +Treten bei der Installation wider Erwarten Probleme auf, so sollte eine +Logdatei erstellt werden. Unter Windows muss das Skript, welches Probleme +verursacht, aus der Kommandozeile mit +\Path{\PName{Skript}.bat > \PName{Skript}.log} aufgerufen werden, wobei hierbei +das doppelte Betätigen der Eingabetaste nötig ist. Für unixartige Systeme +ist der Aufruf \Path{./\PName{Skript}.sh > \PName{Skript}.log} aus dem Terminal +heraus zu verwenden. Die erstellte Logdatei kann mit einer kurzen +Fehlerbeschreibung direkt an \Email{\tudscrmail} gesendet werden. + + + +\section{Schnelleinstieg} +Das Handbuch gliedert sich in drei Teile. In \autoref{part:main} ist die +Dokumentation von \TUDScript zu finden. Hier werden alle neuen Optionen, +Umgebungen und Befehle, die über die Funktionalität von \KOMAScript{} +hinausgehen, erläutert. \autoref{part:additional} enthält zum einen einfache +Minimalbeispiele, um den prinzipiellen Umgang und die Funktionalitäten von +\TUDScript zu demonstrieren. Zum anderen werden hier auch ausführliche und +dokumentierte Tutorials vor allem für \hologo{LaTeX}-Neulinge angeboten. +Insbesondere das Tutorial \Tutorial{treatise} ist mehr als einen Blick wert, +wenn eine wissenschaftliche Arbeit mit \hologo{LaTeXe} verfasst werden soll. +Abschließend werden verschiedenste Pakete vorgestellt, die nicht speziell für +das \TUDScript-Bundle selber sondern auch für andere \hologo{LaTeX}-Klassen +verwendet werden können und demzufolge für alle \hologo{LaTeX}-Anwender +interessant sein könnten. Außerdem werden hier einige Tipps \& Tricks beim +Umgang mit \hologo{LaTeX} beschrieben, um kleinere oder größere Probleme zu +lösen. + +Die Klassen \Class{tudscrbook}, \Class{tudscrreprt} und \Class{tudscrartcl} +sind Wrapper"=Klassen der bekannten \KOMAScript-Klassen \Class{scrbook}, +\Class{scrreprt} sowie \Class{scrartcl} und können einfach anstelle deren +verwendet werden. Auf diesen basierende Dokumente können durch das Umstellen +der Dokumentklasse einfach in das \CD der \TnUD überführt werden. Bei +Fragestellungen bezüglich Layout, Schriften oder ähnlichem ist in jedem Fall +ein weiterer Blick in das hier vorliegende Handbuch empfehlenswert. diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-mainclasses.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-mainclasses.tex new file mode 100644 index 00000000000..63feffb17be --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-mainclasses.tex @@ -0,0 +1,2601 @@ +\chapter[Die Klassen tudscrbook, tudscrreprt und tudscrartcl]{Die Hauptklassen} +\begin{Declaration*}{\Class{tudscrbook}} +\begin{Declaration*}{\Class{tudscrreprt}} +\begin{Declaration*}{\Class{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 Optionen, Umgebungen und Befehle~-- beispielsweise \Option{parskip} für +die Absatzeinstellungen oder \Option{BCOR} zur Festlegung der Bindekorrektur~-- +unterstützen. Zusätzlich zu den \KOMAScript"=Klassen werden weitere Pakete +zwingend benötigt, welche unter \autoref{sec:packages:needed} aufgeführt sind +und auf jeden Fall durch \TUDScript geladen werden. + +Es sei hier abermals auf die Anwenderdokumentation \scrguide 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. +\end{Declaration*} +\end{Declaration*} +\end{Declaration*} + +\begin{Declaration}{\Macro{TUDoptions}\Parameter{Optionenliste}} +\begin{Declaration}{\Macro{TUDoption}\Parameter{Option}\Parameter{Werteliste}} +\printdeclarationlist% +\index{Optionen|!}% +\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 demzufolge 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. + +Mit diesen beiden Befehlen kann im Bedarfsfall das Verhalten von einer Option +oder mehreren Optionen im Dokument geändert werden. Werden diese Befehle in +einer Umgebung oder einer Gruppe verwendet, bleiben die gemachten Einstellungen +innerhalb dieser lokal begrenzt. +\end{Declaration} +\end{Declaration} + + +\section{Die Schriften des \CDs} +\label{sec:fonts} +\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 ursprünglich 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 ingenieur- und +naturwissenschaftliche 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{iwona} für die Schrift \DIN und zusätzlich \Package{cmbright} für + die \Univers"=Schriftfamilie% +} +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. In +\autoref{sec:exmpl:mathtype} sowie \autoref{sec:exmpl:mathswap} sind weitere +Hinweise zum typographisch guten Mathematiksatz zu finden. + + +\subsection{Schriften für den Textsatz} +\begin{Declaration}[% + v2.02!Werte für Optionen \Option{barfont} und \Option{fontspec} ergänzt% +]{\Option{cdfont}[\PSet]}[true]% +\printdeclarationlist% +\label{sec:text}% +\index{Schrift}\index{Schrift!Fließtext} +\index{Schrift!Corporate Design}\index{Schrift!Stärke}% +% +Mit der Option \Option{cdfont} können durch den Anwender alle zentralen +Schrifteinstellungen für die \TUDScript-Klassen vorgenommen werden. Dies +betrifft sowohl die Schriften für Überschriften als auch den Fließtext sowie +die Mathematikschriften. Die verwendete Schriftstärke im charakteristischen +Querbalken der Kopfzeile lässt sich hiermit ebenfalls einstellen. +% +\begin{values} +\itemfalse + Es werden die \hologo{LaTeX}"=Standardschriften und nicht die Hausschriften + des \CDs verwendet. Der Anwender 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 Großbuchstaben und \DIN gesetzt und nur die Schriftart des + Fließtextes kann angepasst werden. +\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{lmodern} 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[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 eingestellten serifenlosen Schriftfamilie zum Einsatz. +\item[din] + Mit dieser Einstellung wird die Schrift \DIN in den Überschriften verwendet. + Diese ist standardmäßig aktiviert. +\end{values} +% +\ChangedAt{v2.02} +Für den Text im Querbalken gibt es folgende Einstellmöglichkeiten: +% +\begin{values} +\item[barfont] + Für den Querbalken der Kopfzeile wird unabhängig von der Verwendung der + Hausschriften die Schrift \Univers in normaler Schriftstärke verwendet, + siehe \Option{barfont}[true]. +\item[heavybarfont] + Die im Querbalken der Kopfzeile verwendete Stärke der Schrift \Univers wird + erhöht, siehe \Option{barfont}[heavy]. +\end{values} +% +Die verwendeten Mathematikschriften lassen sich mit folgenden Werte +beeinflussen: +% +\begin{values} +\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} +% +\ChangedAt{v2.02} +Außerdem kann mit folgenden Werten das verwendete Schriftformat eingestellt +werden: +% +\begin{values} +\item[fontspec/lualatex/xelatex] + Es wird das Paket \Package{fontspec} geladen und die Schriften des \CDs im + OpenType"=Format verwendet. Hierfür muss entweder \hologo{LuaLaTeX} oder + \hologo{XeLaTeX} als Dokumentprozessor genutzt werden. Wird diese Einstellung + aktiviert, sind die Hinweise zur Option \Option{fontspec}'full' unbedingt + zu beachten. +\item[nofontspec/pdflatex] + Es werden die Schriften des \CDs im PostScript"=Format verwendet, wenn diese + wie unter \autoref{sec:install} beschrieben installiert wurden. Diese + Einstellung ist standardmäßig aktiviert und sollte nur in Ausnahmefällen + geändert werden. +\end{values} +\end{Declaration} + +\subsubsection{Auszeichnungen in Überschriften} +\begin{Declaration}[% + v2.02!Fußnoten in Überschriften können mit Symbolen gesetzt werden% +]{\Option{footnotes}[\PSet]}[nosymbolheadings]% +\begin{Declaration}[v2.02]{\Counter{symbolheadings}}% +\printdeclarationlist% +\index{Überschriften}\index{Überschriften!Fußnoten}\index{Fußnoten}% +% +Für die Überschriften wird die \KOMAScript-Option \Option{footnotes} erweitert. +Normalerweise kann diese die Werte \PValue{multiple} und \PValue{nomultiple} +annehmen, wobei Letzteres der Standardfall ist. Die \TUDScript-Hauptklassen +erweitern die Option dahingehend, dass auf die Verwendung von Symbolen anstelle +von Zahlen innerhalb der Überschriften umgeschaltet werden kann. Hierfür wird +der Zähler \Counter{symbolheadings} definiert, der mit dem Beginn eines neuen +Kapitels zurückgesetzt wird. +% +\begin{values} +\item[nosymbolheadings/numberheadings] + Die Fußnoten der Überschriften werden fortlaufend mit denen des Fließtextes + gesetzt. +\item[symbolheadings] + Für die Überschriften werden symbolische Fußnoten mit einem eigenen Zähler + verwendet. +\end{values} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{ifdin}\Parameter{Dann-Teil}\Parameter{Sonst-Teil}}% +\printdeclarationlist% +\index{Überschriften}\index{Schrift!Überschriften}\index{Schriftauszeichnung}% +\index{Kolumnentitel}\index{Layout!Kolumnentitel} +% +Der Befehl \Macro{ifdin} 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 Ausgabe +im Fließtext und dem Eintrag für das Inhaltsverzeichnis sowie der Ausprägung +der automatischen Kolumnentitel unterschieden werden soll. +\end{Declaration} + +\begin{Declaration}{\Macro{MakeTextUppercase}\Parameter{Text}}% +\begin{Declaration}{\Macro{NoCaseChange}\Parameter{Text}}% +\printdeclarationlist% +\index{Überschriften}\index{Schrift!Überschriften}\index{Schriftauszeichnung}% +% +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 damit in Großbuchstaben der Schrift \DIN gesetzt. Sollen bestimmte +Kleinbuchstaben erhalten bleiben, ist der Befehl \Macro{NoCaseChange} zu nutzen. +\end{Declaration} +\end{Declaration} +% +\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} + +\subsubsection{Auszeichnungen im Text} +\begin{Declaration}[v2.02]{\Font{titlepage}} +\begin{Declaration}[v2.02]{\Font{thesis}} +\begin{Declaration}[v2.02]{\Font{parttitle}} +\printdeclarationlist% +\index{Schriftelemente} +% +Die \TUDScript-Klassen definieren mit \Macro{newkomafont} diese neuen +Schriftelemente. Dabei wird \Font{titlepage} auf der Titelseite für alle +Felder verwendet, welche kein spezielles Schriftelement verwenden und +\Font{thesis} für das mit \Macro{thesis} angegebene Feld, in welchem der Typ +einer Abschlussarbeit angegeben wird (siehe \autoref{sec:title}). Mit +\Font{parttitle} kann die Schrift für die Bezeichnung des Teils bei +aktivierter \Option{parttitle}-Option beeinflusst werden. Alle Schriften lassen +sich mit \Macro{addtokomafont}\Parameter{Schriftelement} anpassen. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\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~-- wenn er +nicht in einer Gruppe oder einer Umgebung verwendet und damit lokal begrenzt +wird~-- global auf das Dokument aus. 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} +\begin{Declaration}{\Option{sansmath}[\PBoolean]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\label{sec:math} +\index{Schrift!Mathematiksatz}\index{Mathematiksatz|!} +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben} +% +Diese Option dient zur Verwendung serifenloser Mathematikschriften. Dafür +werden zum einen die griechischen Buchstaben aus \Package{cmbright} und zum +anderen die Symbole aus \Package{iwona} 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}% +)% +% +Griechische Majuskeln werden sowohl in aufrechter als auch in geneigter Form +bereitgestellt. Unabhängig von den beiden 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} + +\subsubsection{Zusätzliche Hinweise zum Mathematiksatz} +Weitere Hinweise zum typographisch guten Mathematiksatz sind außerdem in +\autoref{sec:exmpl:mathswap} sowie \autoref{sec:exmpl:mathtype} zu finden. + + +\subsection{Die Schriften des \CDs im OpenType-Format} +\label{sec:fonts:fontspec} +\index{OpenType-Schriften} +% +\ChangedAt{v2.02!OpenType-Schriften mit \Option{fontspec} verwendbar} +Das \TUDScript-Bundle unterstützt die Verwendung der Schriften des \CDs sowohl +im PostScript- als auch im OpenType"=Format. Sind die OpenType"=Schriften über +das Betriebssystem installiert, können diese mit dem Paket \Package{fontspec} +eingebunden werden. Wäre dies ohne Probleme möglich, wäre die Installation der +PostScript"=Schriften mithilfe eines Skriptes damit obsolet. Allerdings sind +einerseits für die Kompilierung eines Dokumentes über den klassischen Prozess +via \Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf}~-- wie es +beispielsweise für die Erstellung von Grafiken mit \Package{pstricks} notwendig +ist~-- die Schriften im PostScript"=Format nötig. Andererseits liefern die +Schriftfamilien des \CDs keinerlei mathematische Glyphen, sodass diese bei der +PostScript"=Schriftinstallation aus den Schriftpaketen \Package{cmbright} und +\Package{iwona} entnommen werden müssen. + +Die Verwendung der Schriften des \CDs im OpenType"=Format sollte folglich nur +genutzt werden, wenn eine Installation der PostScript"=Schriften \emph{absolut} +nicht möglich ist. Sollten die PostScript"=Schriften installiert sein, gibt es +auch beim Einsatz von \hologo{LuaLaTeX} oder \hologo{XeLaTeX} keinen triftigen +Grund, die Option \Option{fontspec} zu verwenden. + +\begin{Declaration}[v2.02]{\Option{fontspec}[\PBoolean]}[false]% +\printdeclarationlist% +% +Wird die Option aktiviert, werden die OpenType"=Varianten von \Univers und \DIN +anstelle der PostScript"=Schriften verwendet. Diese sollte nur in absoluten +Ausnahmefällen genutzt werden. Hierfür müssen die OpenType"=Schriften auf dem +Betriebssystem installiert sein. +\begin{values} +\itemfalse* + Die Hausschriften im Stil des \CDs der \TnUD werden im PostScript"=Format + eingebunden. Sowohl Kerning als auch der mathematische Satz funktionieren + problemlos. +\itemtrue* + Es werden die OpenType"=Varianten der Hausschriften verwendet. Dazu wird das + Paket \Package{fontspec} geladen, welches lediglich mit \hologo{LuaLaTeX} + oder \hologo{XeLaTeX} jedoch nicht mit \hologo{pdfLaTeX} als genutzt werden + kann. Sowohl beim mathematischen Satz als auch beim Kerning der Schriften + kann es zu Problemen kommen. Die Verwendung dieser Einstellung sollte nur + erfolgen, wenn eine Installation der PostScript"=Schriften nicht möglich ist. +\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 +\hyperref[sec:title]{die Umschlagseite und den Titel in \autoref{sec:title}}, +die \hyperref[sec:part]{Teileseiten in \autoref{sec:part}} sowie die +\hyperref[sec:chapter]{Kapitelseiten in \autoref{sec:chapter}}. +Außerdem können entweder mit den \PageStyle{tudheadings}"=Seitenstilen oder +mit der \Environment{tudpage}-Umgebung aus \autoref{sec:tudheadings} eigene +Seiten im selben Stil erzeugt werden. Wird das Paket \Package{tudscrsupervisor} +verwendet und mit den entsprechenden Befehlen oder Umgebungen aus diesem eine +Aufgabenstellung, ein Gutachten oder ein Aushang erstellt, so erscheinen auch +diese in besagtem Seitenstil. + + +\subsection{Das Erscheinungsbild von Titel, Teilen und Kapiteln} +\begin{Declaration}{\Option{cd}[\PSet]}[true] +\printdeclarationlist% +\index{Layout}% +% +Mit dieser Option wird festgelegt, 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}[v2.02]{\Length{pageheadingsvskip}} +\begin{Declaration}[v2.02]{\Length{headingsvskip}} +\printdeclarationlist% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}\index{Überschriften!Position}% +% +Diese beiden Längen haben Auswirkung auf die vertikale Position verschiedener +Überschriften. Mit \Length{pageheadingsvskip} können sowohl der Titel auf der +Titelseite (\Option{titlepage}[true]) als auch die Überschriften von Teilen und +Kapiteln, welche als einzelne Kapitelseite (\Option{chapterpage}[true]) gesetzt +werden, verschoben werden. Demgegenüber erlaubt es \Length{headingsvskip}, +sowohl den Titel innerhalb eines Titelkopfes (\Option{titlepage}[false]) als +auch die Überschrift eines Kapitels bei deaktivierter Kapitelseite +(\Option{chapterpage}[false]) in ihrer vertikalen Position anzupassen. + +Normalerweise werden alle der zuvor genannten Überschriften im Layout relativ +tief im Textbereich gesetzt. Mit negativen Werten wird diese 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, da dies \emph{nicht} automatisch +durch die Hauptklassen überprüft wird. +\end{Declaration} +\end{Declaration} + +\subsubsection{Einstellungen für Titel, Umschlagseite, Teile und Kapitel} +Das Verhalten aller Elemente% +\footnote{% + Titel (\Macro{maketitle}), Umschlagseite (\Macro{makecover}), + Teileseite (\Macro{part}, \Macro{addpart}), + Kapitelseite (\Macro{chapter}, \Macro{addchap})% +} +wird normalerweise von der Option \Option{cd}[\PSet] bestimmt. Bedarfsweise +können einzelne Elemente andererseits auch individuell mit abweichenden +Wertzuweisungen angepasst werden. Soll ein bestimmtes Elemente des Layouts +anders erscheinen als der Rest des Dokumentes, so kann der entsprechende Wert +mithilfe der folgenden Optionen überschrieben werden. Die gültigen +Wertzuweisungen für die einzelnen Elemente entsprechend dabei den möglichen +Werten für die Option \Option{cd}. + +\begin{Declaration}{\Option{cdtitle}[\PSet]} +\printdeclarationlist% +\index{Titel}\index{Layout!Titel}% +% +Mit \Option{cdtitle} kann der Wert des Schlüssels \Option{cd} für die +Titelseite überschrieben werden. Es kann zwischen dem Standardtitel~-- welcher +durch \KOMAScript{} bereitgestellt wird~-- und dem Titel im \CD umgeschaltet +werden. Die neue Titelseite unterstützt alle durch \KOMAScript{} definierten +Befehle für den Titel.% +\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} +} +Zusätzlich werden viele neue Felder für den Titel definiert, welche vor allem +für den Titel einer wissenschaftlichen Arbeit von Relevanz sind. Genaueres dazu +ist in \autoref{sec:title} nachzulesen. Unabhängig von der gewählten Variante +der Titelseite wird diese immer mit \Macro{maketitle} erzeugt. +\end{Declaration} + +\begin{Declaration}[v2.02]{\Option{cdcover}[\PSet]} +\printdeclarationlist% +\index{Umschlagseite|!}% +\index{Titel!Umschlagseite}\index{Layout!Umschlagseite}% +% +Die \TUDScript-Klassen führen zusätzlich den Befehl \Macro{makecover} ein, mit +dem sich neben dem Titel eine separate Umschlagseite erzeugen lässt. Diese ist +in ihrer Gestalt der Titelseite sehr ähnlich, wird normalerweise jedoch in +einem anderen Satzspiegel als dem des Buchblocks gesetzt. Mit der Option +\Option{cdcover} kann~-- unabhängig von \Option{cd}~-- das Erscheinungsbild +der Umschlagseite geändert werden. Wird \Option{cdcover}[false] gewählt, +entspricht die Umschlagseite dem originalen \KOMAScript-Titel. Die Verwendung +des Befehls \Macro{makecover} sowie die dazugehörigen Parameter werden +detailliert in \autoref{sec:title} erläutert. +\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} + +\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 wirkt sich lediglich bei aktiviertem doppelseitigem Satz und +ausschließlich rechts eröffnenden Seiten für Teile beziehungsweise Kapitel +aus.% +\footnote{\Option{twoside} und \Option{open}[right]} +In diesem Fall kann der Stil der darauffolgenden, linken Seite~-- sprich der +Rückseite~-- beeinflusst werden. Das Normalverhalten 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}\textsl{:}]\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}% +% +Sollten beim farbigen Layout die Optionen \Option{twoside} sowie auch +\Option{open}[right] gesetzt sein, 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 bei der Ausgabe zu farbigen Blättern (Vorder- und Rückseite) der + entsprechenden Elemente des Layouts. +} +Die Option wirkt sich ebenfalls auf die Rückseite des Titels aus.% +\footnote{% + siehe \Macro{uppertitleback} und \Macro{lowertitleback} der + \KOMAScript"=Dokumentation (\scrguide*) +} +Der Stil dieser zusätzlich eingefügten Rückseiten ist abhängig von der Option +\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 Elemente des Layouts sind farbig. +\end{values} +\end{Declaration} + +\subsection{Seiten im Stil des \CDs} +\begin{Declaration}[v2.02]{\PageStyle{tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{plain.tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{empty.tudheadings}} +\printdeclarationlist% +\label{sec:tudheadings} +% +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}) in der dazugehörigen Kopfzeile mit Querbalken. Durch die +Verwendung von \Package{scrlayer-scrpage} lassen sich einzelne Seiten oder auch +ganze Dokumente sehr einfach in diesem Stil setzen. Hierzu muss lediglich einer +der Seitenstile mit \Macro{pagestyle}\Parameter{Seitenstil} geladen werden. + +Allen Seitenstilen ist der typische Kopf gemein. Der Fuß des Seitenstils +\PageStyle{empty.tudheadings} ist immer leer, \PageStyle{tudheadings} und +\PageStyle{plain.tudheadings} übernehmen die Einstellungen für den Fuß aus der +Anwenderschnittstelle von \Package{scrlayer-scrpage}.% +\footnote{% + Es können die Befehle \Macro{lefoot}, \Macro{cefoot} und \Macro{refoot} sowie + \Macro{lofoot}, \Macro{cofoot} und \Macro{rofoot} verwendet werden. +} +Wie diese zu verwenden ist, ist der \KOMAScript"=Anleitung zu entnehmen. +Alternativ zu einer eigenen Definition der Fußzeile kann außerdem die Option +\Option{cdfoot} verwendet werden. + +Sobald einer der neu definierten Seitenstile aktiviert wurde, sind diese +zusätzlich unter den Namen \PageStyle{headings}, \PageStyle{plain} und +\PageStyle{empty} verwendbar. Das hat den Vorteil, dass bei Optionen oder +Befehlen, die automatisch zwischen \PageStyle{headings}, \PageStyle{plain} +und \PageStyle{empty} umschalten, durch die einmalige Auswahl von einem der +Stile \PageStyle{tudheadings}, \PageStyle{plain.tudheadings} oder +\PageStyle{empty.tudheadings} nun zwischen diesen Stilen umgeschaltet wird. Um +auf das normale Verhalten zurückzuschalten, muss einer der beiden Seitenstile +\PageStyle{scrheadings} oder \PageStyle{plain.scrheadings} aktiviert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\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}\index{Layout!Kopfzeile}\index{Kopfzeile!Felder}% +\index{Querbalken}\index{Layout!Querbalken}\index{Querbalken!Felder}% +% +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}[% + v2.02!\protect\DDC-Logo automatisch in Kopf oder Fuß% +]{\Option{ddc}[\PSet]}[false] +\begin{Declaration}[v2.02]{\Option{ddchead}[\PSet]}[false] +\begin{Declaration}[% + v2.02!neue Werte für die Farbwahl des Logos von \protect\DDC% +]{\Option{ddcfoot}[\PSet]}[false] +\printdeclarationlist% +\index{Zweitlogo}\index{Layout!Zweitlogo}\index{\DDC-Logo}% +% +Diese Optionen fügen das Logo von \DDC entweder im Kopf oder im Fuß der Seiten +mit dem Stil \PageStyle{tudheadings} ein. Mit \Option{ddc} wird dieses +automatisch entweder im Kopf oder~-- falls ein Zweitlogo mit \Macro{headlogo} +angegeben wurde~-- im Fuß gesetzt. Die anderen beiden Optionen setzen das Logo +zwingend entweder im Kopf (\Option{ddchead}) oder im Fuß (\Option{ddcfoot}), +wobei erstgenannte ein optionales Zweitlogo dabei unterdrückt. Die Verwendung +einer der drei Optionen führt zur Deaktivierung der anderen beiden, sie +schließen sich folglich gegenseitig aus. Die möglichen Werte für diese Optionen +sind: +% +\begin{values} +\itemfalse + Bei den \PageStyle{tudheadings}-Seitenstile erscheint kein Logo von \DDC. +\itemtrue* + Das Logo von \DDC wird im Kopf beziehungsweise im Fuß verwendet. Die Wahl der + Farbe des Logos geschieht passend zur farblichen Ausprägung der Seite selbst. +\end{values} +% +Soll die Farbe des \DDC-Logos manuell erfolgen, können folgende Werte verwendet +werden: +% +\begin{values} +\item[color/colour] + Im Kopf oder Fuß wird die achtfarbige 4C"~Variante des \DDC-Logos genutzt. +\item[colorblack/colourblack] + Es wird das achtfarbige Logo mit schwarzem \DDC-Schriftzug anstelle des + grauen verwendet. Für den Fuß wird der grüne Claim ebenfalls durch einen + schwarzen ersetzt. Dies ist insbesondere für kleine Darstellungen des Logos + im Fuß sinnvoll. +\item[gray/grey/cdgray/cdgrey] + Dies Ausgabe des \DDC-Logos erfolgt in Graustufen. +\item[black] + Verwendung des Logos in Graustufen mit schwarzem Schriftzug. +\item[blue/cddarkblue] + Der Schriftzug und das Logo werden in der primären Hausfarbe \Color{HKS41} + und den entsprechenden Abstufungen gesetzt +\item[white] + Das \DDC-Logo sowie der dazugehörige Schriftzug sind vollständig weiß. +\end{values} +% +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{headlogo}\LParameter\Parameter{Dateiname}% +} +\printdeclarationlist% +\index{Zweitlogo|?}\index{Layout!Zweitlogo}\index{\DDC-Logo}% +% +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 auf die +Höhe der Erstlogos skaliert. Über das optionale Argument können weitere +Formatierungsbefehle an den verwendeten Befehl \Macro{includegraphics} +durchgereicht werden, um beispielsweise die Größe des Zweitlogos anzupassen. +Welche Parameter angepasst werden können, ist der Dokumentation des +\Package{graphicx}-Paketes zu entnehmen. + +Sollte die Option \Option{ddc} aktiviert sein, wird das \DDC-Logo nicht im Kopf +sondern automatisch im Fuß gesetzt. Die Option \Option{ddchead} setzt dieses +auf jeden Fall im Kopf und überschreibt damit das mit \Macro{headlogo} +angegebene Zweitlogo. +\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. + +Für den Fall, dass ein randloser Ausdruck technisch nicht möglich ist, +kann die letztere der beiden Variante 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} + +\begin{Declaration}[v2.02]{\Option{barfont}[\PSet]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\index{Kopfzeile!Schrift}% +\index{Layout!Kopfzeile}% +% +Mit dieser Option kann die Schrift im Querbalken der Kopfzeile für Seiten, +welche in einem der \PageStyle{tudheadings}"=Seitenstilen gesetzt wird, +beeinflusst werden. +% +\begin{values} +\itemfalse + Sollte mit \Option{cdfont}[false] die Verwendung der Hausschrift im Stil des + \CDs der \TnUD deaktiviert worden sein, wird die Kopfzeile im Querbalken in + den Serifenlosen der genutzten Schrift gesetzt. Sind die Hausschriften + aktiviert, hat diese Einstellung keinen Einfluss. +\itemtrue*[cdfont/light/lightfont/noheavyfont] + Im Querbalken wird für \Macro{faculty} \textubn{Univers~65~Bold} verwendet, + für die Felder \Macro{department}, \Macro{institute}, \Macro{chair} und + \Macro{extraheadline} kommt \textuln{Univers~45~Light} zum Einsatz. +\item[heavy/heavyfont] + Der Inhalt von \Macro{faculty} wird weiterhin in \textubn{Univers~65~Bold} + gesetzt, für die restlichen Felder wird \texturn{Univers~55~Regular} genutzt. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.02!Parameter \Key{\Environment{tudpage}}{head} und + \Key{\Environment{tudpage}}{foot} entfernt +]{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{color}[\PName{Farbe}]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{pagestyle}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddc}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddchead}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddcfoot}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{barfont}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{widehead}[\PBoolean]} +\printdeclarationlist% +\index{Layout}\index{Layout!Seitenstil}% +\index{Kopfzeile}\index{Layout!Kopfzeile}% +\index{Fußzeile}\index{Layout!Fußzeile}% +\index{Schrift}\index{Kopfzeile!Schrift} +% +Diese Umgebung dient zum Setzen einer oder mehrerer Seiten innerhalb des +Dokumentes mit dem Kopf im \CD. Sie hat ihren Ursprung in einer früheren +Version, als die \PageStyle{tudheadings}"=Seitenstile noch nicht verfügbar +waren. Diese können mittlerweile anstelle der \Environment{tudpage}"=Umgebung +verwendet werden. + +Dabei lassen sich verschiedene Parameter als optionales Argument angegeben. +Wird das Paket \Package{babel} genutzt, kann die in der Umgebung verwendete +Sprache mit \Key{\Environment{tudpage}}{language}[\PName{Sprache}] geändert +werden, was zur lokalen Anpassung der sprachspezifischen Trennungsmuster und +Bezeichner führt. Wurde das Paket \Package{multicol} geladen, wird mit dem +Parameter \Key{\Environment{tudpage}}{columns}[\PName{Anzahl}] der Inhalt der +Umgebung mehrspaltig gesetzt. + +Mit dem Parameter \Key{\Environment{tudpage}}{color} kann die Farbe des Kopfes +auf eine beliebige 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 standardmäßig schwarz. Außerdem kann mit +\Key{\Environment{tudpage}}{pagestyle} der Seitenstil angepasst werden. +Gültige Werte sind \PValue{headings}, \PValue{plain}, \PValue{empty} oder einer +der \PageStyle{tudheadings}"=Seitenstile. Soll lokal ein anderes Zweitlogo als +das mit \Macro{headlogo} gegebene erscheinen, so kann der Parameter +\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}] verwendet werden. + +Die anderen Parameter entsprechen in ihrem Verhalten prinzipiell den +gleichnamigen Klassenoptionen, wirken sich jedoch nur lokal innerhalb der +\Environment{tudpage}"=Umgebung aus. Dies sind namentlich sowohl die Optionen +\Option{cdfont}'full' sowie \Option{ddc}, \Option{ddchead} und +\Option{ddcfoot}'full' als auch \Option{barfont} und \Option{widehead}'page'. +Das Verhalten sowie die jeweils gültigen Wertzuweisungen können in den +entsprechenden Abschnitten der Dokumentation nachgelesen werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\ToDo[imp,nxt]{% + Titelseite und Cover auf Drittlogos und dergleichen mit scrlayer erweitern. +}[v2.x] + + +\subsection{Der Titel und die Umschlagseite} +\label{sec:title}%\label{sec:cover}% +\index{Titel|!(} +\index{Umschlagseite|!}% +\index{Titel!Umschlagseite}\index{Layout!Umschlagseite}% +% +Für den Titel werden alle Felder unterstützt, die bereits durch \KOMAScript{} +bereitgestellt werden. Darüber hinaus werden für die \TUDScript-Klassen weitere +Felder definiert, die Auswirkungen auf die Gestalt des Titels haben. Diese +werden nachfolgend in diesem \autorefname erläutert. Der Titel~-- bestehend aus +möglichem Schmutztitel, der eigentlichen Titelseite und der nachgelagerten +Elementen~-- kann mit dem Befehl \Macro{maketitle} ausgegeben werden. Außerdem +kann im zweispaltigen Satz der \Macro{maketitleonecolumn} verwendet werden, +welcher einen einspaltigen Einfügung nach dem Titel selbst ermöglicht. + +Zusätzlich zum Titel lässt sich mit \Macro{makecover} eine Umschlagseite +erzeugen. Diese kann insbesondere für gebundene Arbeiten verwendet werden. Es +wird~-- im Vergleich zum Titel~-- lediglich einer reduzierte Anzahl an Feldern +auf dieser ausgegeben. + +\ChangedAt{v2.02} +Für alle Felder des Titels und der Umschlagseite lässt sich die verwendete +Schrift anpassen. Dabei werden sowohl die bereits durch \KOMAScript{} +bereitgestellten Schriftelemente \Font{titlehead}, \Font{subject}, +\Font{title}, \Font{subtitle}, \Font{author}, \Font{date}, \Font{publishers} +und \Font{dedication} als auch die neuen \Font{titlepage} und \Font{thesis} +unterstützt. +% +\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} +\end{Code} +\end{Example} + +\begin{Declaration}[% + v2.01!Bugfix für Schriftstärke auf Titelseite,% + v2.02!Unterstützung der Schriftelemente \Font*{titlehead}{,} + \Font*{subject}{,} \Font*{title}{,} \Font*{subtitle}{,} \Font*{author}{,} + \Font*{date}{,} \Font*{publishers}{,} \Font*{dedication}{,} + \Font*{titlepage} und \Font*{thesis}% +]{\Macro{maketitle}\OLParameter{Seitenzahl}} +\begin{Declaration}[v2.02]{% + \Key{\Macro{maketitle}}{pagenumber}[\PName{Seitenzahl}]% +} +\begin{Declaration}[v2.02]{\Key{\Macro{maketitle}}{cdfont}[\PSet]} +\printdeclarationlist% +\index{Layout!Titel}% +\index{Satzspiegel!doppelseitig}% +% +Der Befehl \Macro{maketitle} setzt für \Option{cdtitle}[false] den normalen +\KOMAScript"=Titel{}, ansonsten wird die Titelseite im \CD der \TnUD erzeugt. +Letztere Variante ist im Vergleich zum Standardtitel um eine Vielzahl von +Feldern erweitert worden und erlaubt insbesondere die Angabe von Daten für das +Deckblatt einer akademischen Abschlussarbeit. Die einzelnen Felder werden in +diesem \autorefname erläutert. 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. + +Das optionale Argument erlaubt~-- ebenso wie bei den \KOMAScript"=Klassen~-- +die Änderung der Seitenzahl der Titelseite. Diese wird jedoch nicht ausgegeben, +sondern beeinflusst lediglich die Zählung. Sie sollten hier unbedingt eine +ungerade Zahl wählen, da sonst die gesamte Zählung durcheinander gerät. +Zusätzlich kann der Parameter \Key{\Macro{maketitle}}{cdfont} im optionalen +Argument verwendet werden, um die Nutzung der Schriften des \CDs zu regulieren. +Er entspricht in seinem Verhalten der gleichnamigen Klassenoption. Die gültigen +Wertzuweisungen können der Beschreibung der Option \Option{cdfont}'full' +entnommen werden. Die Einstellungen dieses Parameters wirkt sich nur lokal und +einzig auf die Umschlagseite aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{maketitleonecolumn}\OParameter{Seitenzahl}\Parameter{Einspaltentext}% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{maketitleonecolumn}}{pagenumber}[\PName{Seitenzahl}]% +} +\begin{Declaration}[v2.02]{\Key{\Macro{maketitleonecolumn}}{cdfont}[\PSet]} +\printdeclarationlist% +\index{Layout!Titel}% +\index{Satzspiegel!doppelseitig}% +\index{Zweispaltensatz}% +% +Im zweispaltigen Satz (\Option{twocolumn}) wird mit \Macro{maketitle} die +Titelseite selbst immer einspaltig gesetzt. Direkt nach dem Titel folgt +normalerweise der zweispaltige Fließtext. Mit dem Befehl +\Macro{maketitleonecolumn} +ermöglichen die \TUDScript-Klassen, nach dem Titel zusätzlich noch weitere +Textpassagen~-- beispielsweise eine Zusammenfassung~-- einspaltig zu setzen. + +Wird der Befehl bei einer Titelseite (\Option{titlepage}[true]) verwendet, wird +der Inhalt des Argumentes direkt nach dieser auf einer neuen Seite ebenfalls +einspaltig ausgegeben. Kommt jedoch ein Titelkopf (\Option{titlepage}[false]) +zum Einsatz, so folgt nach diesem die einspaltige Textpassage aus dem Argument. +Danach wird auf das zweispaltige Layout umgeschaltet, + +Der optionale Parameter von \Macro{maketitleonecolumn} kann äquivalent zum +Befehl \Macro{maketitle} für die Anpassung der Seitenzahl und der verwendeten +Schrift verwendet werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[% + v2.02!Umschlagseite für Layout ohne \noexpand\CD hinzugefügt,% + v2.02!Unterstützung der Schriftelemente \Font*{titlehead}{,} + \Font*{subject}{,} \Font*{title}{,} \Font*{subtitle}{,} \Font*{author}{,} + \Font*{publishers}{,} \Font*{titlepage} und \Font*{thesis}% +]{\Macro{makecover}\OLParameter{Seitenzahl}} +\begin{Declaration}{\Key{\Macro{makecover}}{cdlayout}[\PBoolean]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{makecover}}{pagenumber}[\PName{Seitenzahl}]% +} +\begin{Declaration}{\Key{\Macro{makecover}}{cdfont}[\PSet]} +\printdeclarationlist% +% +Eine Umschlagseite wird zumeist für gebundene Abschlussarbeiten verlangt, um +diese beispielsweise für einen Prägedruck auf dem Buchdeckel zu verwenden. +Hierfür ist es sinnvoll, mit \Option{cdcover}[true] die farbige Ausprägung der +Umschlagseite zu deaktivieren, falls diese für das restliche Dokument aktiv ist +(\Option{cd}[color]). + +Wird \Option{cdcover}[true] gewählt, so wird die Umschlagseite im \CD der +\TnUD gesetzt. Auf dieser werden der Titel des Dokumentes, die Typisierung +durch \Macro{thesis} und/oder \Macro{subject} sowie der Autor oder respektive +die Autoren und gegebenenfalls der mit \Macro{publishers} angegebene Verlag +ausgegeben. +\ChangedAt{v2.02} +Für die Einstellung \Option{cdcover}[false] wird lediglich der normale +\KOMAScript"=Titel als separate Umschlagseite ausgegeben. + +Die Titelseite selbst gehört immer zum Buchblock und wird daher im gleichen +Satzspiegel gesetzt. Dem entgegen steht die Umschlagseite, welche zumeist in +einem anderen Layout erscheint. Normalerweise wird das Cover~-- unabhängig von +der Option \Option{geometry}~-- im asymmetrischen Satzspiegel des \CDs gesetzt. +Mit \Key{\Macro{makecover}}{cdlayout}[false] im optionalen Argument kann das +Verhalten geändert werden. In diesem Fall erscheint auch die Umschlagseite im +Buchblock des restlichen Dokumentes. Allerdings können für diese Einstellung +die Seitenränder durch den Nutzer mit den Befehlen \Macro{coverpagetopmargin}, +\Macro{coverpageleftmargin}, \Macro{coverpagerightmargin} sowie +\Macro{coverpagebottommargin} frei angepasst werden. Mehr dazu ist im +\KOMAScript"=Handbuch \scrguide zu finden. + +Die beiden anderen optionalen Parameter \Key{\Macro{makecover}}{pagenumber} +sowie \Key{\Macro{makecover}}{cdfont} dienen~-- äquivalent zum Befehl +\Macro{maketitle}~-- zur Anpassung der Seitenzahl und der verwendeten Schrift. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{extratitle}\Parameter{Schmutztitel}} +\begin{Declaration}{\Macro{titlehead}\Parameter{Kopf}} +\begin{Declaration}{\Macro{title}\Parameter{Titel}} +\begin{Declaration}[% + v2.01a!Bugfix für Schriftstärke bei Verwendung des Untertitels% +]{\Macro{subtitle}\Parameter{Untertitel}} +\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% +\index{Titel!Felder}% +% +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 vertikale Position des +Dokumenttitels 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. + +Die Befehle \Macro{title} und \Macro{subtitle} bedürfen keiner weiteren +Erklärung. Anzumerken ist, dass sowohl Titel als auch Untertitel normalerweise +in Majuskeln und \DIN gesetzt 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. Diese dienen in der Regel für Anmerkungen bei +Titel oder den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen +verwendet. Der Befehl \Macro{thanks} kann nur innerhalb des Arguments einer +der Anweisungen für die Titelseite wie beispielsweise \Macro{author} oder +\Macro{title} verwendet werden. + +\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 Widmung 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} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{titledelimiter}\Parameter{Trennzeichen}} +\printdeclarationlist% +\index{Titel!Felder}\index{Titel!Trennzeichen}%% +% +Für den Titel und die Umschlagseite werden durch die \TUDScript-Klassen +eine Reihe von zusätzlichen Feldern bereitgestellt. Einigen dieser Felder wird +eine Beschreibung (siehe dazu \autoref{sec:localization}) vorangestellt. +Dazwischen wird bei der Ausgabe ein Trennzeichen eingefügt. Ein Doppelpunkt +gefolgt von einem Leerzeichen (:\Macro*{nobreakspace}) ist hierfür die +Voreinstellung. Mit dem Befehl \Macro{titledelimiter} lässt sich dieses +Trennzeichen beliebig an die individuellen Wünsche des Anwenders anpassen. +\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 in diesem +Fall 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. +\end{Declaration} +% +\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. Angaben innerhalb des Argumentes +von \Macro{author} werden den jeweiligen, mit \Macro{and} getrennten Autoren +zugeordnet. Mehr dazu ist im Minimalbeispiel in \autoref{sec:exmpl:thesis}. +\end{Example} + +\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}%\\ +\index{Abschlussarbeit!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~-- bekanntlich \Option{subjectthesis}[false]~-- wird der +durch \Macro{thesis} gegebene Typ der Abschlussarbeit sowie der gegebenenfalls +durch \Macro{graduation} 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{graduation} +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 des Typs der Abschlussarbeit (\Macro{thesis}) selbst sowie des + angestrebten Abschlusses (\Macro{graduation}) 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{graduation}) wird + zentral in der schlankeren \Univers ausgegeben. +\end{values} +\end{Declaration} + +\Rename[macros]{v2.02}{\Macro{degree}}{\Macro{graduation}} +\begin{Declaration}{\Macro{graduation}\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 relativ 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. Zusätzlich kann mit \Macro{professor} der betreuende +Hochschullehrer beziehungsweise die betreuenden Professoren für studentische +Arbeiten angegeben werden. Die Angabe mehrerer Person erfolgt wie beim Befehl +\Macro{author} durch die Trennung mittels \Macro{and}. +\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} uder \Option{subjectthesis}~-- erscheint dieses am Ende der +Titelseite als Abgabedatum. Außerdem kann in diesem Fall mit dem Befehl +\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 +alle Datumsfelder des Dokumentes und folglich auch für die beiden Felder +\Macro{date} und \Macro{defensedate} verwendet. +\end{Declaration} +\end{Declaration} +\index{Titel|!)} + + +\subsection{Die Teileseite} +\label{sec:part} +% +\ChangedAt{% + v2.02!\PageStyle{plain.tudheadings} wird genutzt!\Macro{partpagestyle}% +} +Wird für die Teileseiten das Layout des \CDs verwendet, so wird der Seitenstil +dieser (\Macro{partpagestyle}) auf \PageStyle{plain.tudheadings} gesetzt. +Möchten Sie stattdessen einen anderen Seitenstil nutzen, so kann dieser mit +\Macro*{renewcommand*}\PParameter{\Macro{partpagestyle}}\Parameter{Seitenstil} +angepasst werden. + +\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} +\begin{Declaration}{\Option{chapterpage}[\PBoolean]}% + [false][\Option{cd}[color]:true]% +\printdeclarationlist% +\label{sec:chapter}% +\index{Kapitelseiten|?}\index{Layout!Kapitelseiten|?}% +\index{Satzspiegel!doppelseitig}\index{Leerseiten}% +% +Mit dieser Einstellung kann die Überschrift eines Kapitels separat auf einer +Seite ausgegeben werden. 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} +% +\ChangedAt{% + v2.02!nicht mehr abhängig von \Macro{partpagestyle}!\Macro{chapterpagestyle} +} +Mit \Macro*{renewcommand*}\PParameter{\Macro{chapterpagestyle}}% +\Parameter{Seitenstil} lässt sich übrigens~-- unabhängig von der Option +\Option{chapterpage}~-- der Seitenstil von Kapiteln anpassen. + +Außerdem empfehle ich insbesondere bei der Verwendung separater Kapitelseiten +das Aktivieren der \KOMAScript-Option \Option{chapterprefix}. Damit werden die +Kapitelüberschriften mit einer Vorsatzzeile gesetzt. Falls ein nummeriertes +Kapitel erzeugt wird, so wird zunächst in einer Zeile \enquote{Kapitel} gefolgt +von der aktuellen Kapitelnummer ausgegeben, in der nächsten Zeile wird +anschließend die eigentliche Überschrift in linksbündigem Flattersatz +ausgegeben. Genaueres hierzu ist in der \KOMAScript"=Dokumentation +nachzulesen. +\end{Declaration} + + +\subsection{Satzspiegel und Kolumnentitel} +\begin{Declaration}{\Option{geometry}[\PSet]}[true]% +\printdeclarationlist% +\index{Seitenstil}\index{Layout!Seitenstil}% +\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/centred/centered] + 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 ist das Verhalten der Einstellung identisch zu + \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} + \Attention{% + Der so erzeugte Satzspiegel ist jedoch nicht sehr vorteilhaft. Es ist zu + beachten, dass dabei das Logo der \TnUD sehr nah am inneren Seitenrand + des Dokumentes gesetzt wird, folglich insbesondere auf rechten respektive + ungeraden Seiten sehr weit an den Blattrand rückt. + } +\end{values} +% +Für die Festlegung der Seitenränder wird das Paket \Package{geometry} +verwendet. Ist \Option{geometry}[false] gewählt, 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{Bindekorrektur} +\index{Bindekorrektur|!}\index{Layout!Bindekorrektur}% +% +Zu erwähnen im Zusammenhang mit Seitenrändern und Satzspiegel ist die durch +\Package{typearea} angebotene Option \Option{BCOR}[\PName{Länge}], mit der bei +der Satzspiegelberechnung ein Heftrand beziehungsweise eine Bindekorrektur +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 +Bindekorrektur von \unit[5]{mm} mit der Klassenoption \Option{BCOR}[5mm] +gesetzt werden. + +Eine Anpassung der Bindekorrektur hat natürlich \emph{immer} eine Änderung der +verfügbaren Breite des Textbereichs zur Folge hat und führt somit zwingend zu +einer Anpassung des Satzspiegels. Da die Bindekorrektur jedoch abhängig von der +Höhe des Buchblocks gewählt werden sollte, welche letztendlich erst mit dem +Druck des fertiggestellten Dokumentes bestimmt werden kann, muss diese zu +Beginn abgeschätzt werden. +% +\begin{Example} +Als Faustregel gilt, dass die erforderliche Bindekorrektur in etwa der halben +Höhe des Buchblocks entsprechen sollte. Dessen Höhe wiederum ist abhängig von +der Anzahl der Seiten sowie der Dichte des verwendeten Papiers. Wird normales +Papier mit einer Dichte von \unit[80]{g/m²} verwendet, so entsprechen 100~Blatt +in etwa einer Höhe von \unit[10]{mm}, bei \unit[100]{g/m²} ca. \unit[12]{mm}. +Dementsprechend wäre eine Bindekorrektur von \Option{BCOR}[5mm] beziehungsweise +\Option{BCOR}[6mm] bei diesem Beispiel zu wählen. +\end{Example} + +\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 sollte idealerweise das zu \KOMAScript{} gehörige Paket +\Package{scrlayer-scrpage} genutzt werden. + +In der Dokumentation zu \Package{typearea} wird auch darauf eingegangen, wann +Kopf"~ und Fußzeile bei der Satzspiegelkonstruktion entweder dem Rand oder 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 des Paketes \Package{scrlayer-scrpage}~-- bei der Gestaltung der +Kopf"~ und Fußzeilen wesentlich 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 manuellen Änderung + dieser sollte unbedingt das \KOMAScript"=Paket \Package{scrlayer-scrpage} + 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} +% +Der Inhalt der Kolumnentitel kann durch den Anwender frei gewählt werden. Wird +die Klassenoption \Option{automark} angegeben, werden für das automatische +Setzen der Marken die Titel der Gliederungsebenen verwendet. Genaueres hierzu +sowie der Möglichkeit, die Kolumnentitel manuell festzulegen, ist dem Handbuch +von \KOMAScript{} zu entnehmen. +\end{Declaration} + + +\subsection{Die Farben des \CDs} +\index{Farben}% +% +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. Detaillierte Informationen sind in der Dokumentation von +\Package{tudscrcolor}'full' 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} +\begin{Declaration}[% + v2.02!Wert \PValue{double} mit \PValue{multi} ersetzt,% + v2.02!Wert \PValue{tocleveldown} neu,% + v2.02!Wert \PValue{markboth} neu% +]{\Option{abstract}[\PSet]}% +\printdeclarationlist% +\index{Zusammenfassung|!(}% +\index{Zweispaltensatz}% +% +Diese Option 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 im Handbuch: +% +\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} generell 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 die \Option{abstract}"=Option erweitert. +Neben den Auswahlmöglichkeit, welche bereits \KOMAScript{} für die Klassen +\Class{tudscrartcl} und \Class{tudscrreprt} anbietet, kann die Überschrift für +die Zusammenfassung außerdem in Gestalt eines \sectionautorefname{}s oder für +die Klassen \Class{tudscrreprt} und \Class{tudscrbook} in der Form eines +\chapterautorefname{}s ausgegeben 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. +\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. +\item[section/addsec] + Die Überschrift verwendet den Gliederungsbefehl \Macro{section}. +\item[chapter/addchap][% + (Säumniswert für \Class{tudscrbook}) + nur für \Class{tudscrreprt} und \Class{tudscrbook} verfügbar% + ] + Es wird der Befehl \Macro{chapter} für das Setzen der Überschrift genutzt. +\item[heading] + Es wird die höchstmögliche Gliederungsebene verwendet. Für + \Class{tudscrartcl} entspricht dies \Option{abstract}[section], bei + \Class{tudscrreprt} und \Class{tudscrbook} \Option{abstract}[chapter]. +\end{values} +% +Abhängig von der gewählten Gliederungsebene der Überschrift wird das Verhalten +für das Setzen eines Eintrages ins Inhaltsverzeichnis festgelegt. Ohne oder mit +zentrierter Überschrift wird per Voreinstellung kein Eintrag erzeugt. Wird die +Überschrift jedoch in Form einer Gliederungsebene gewählt, so erscheint die +Zusammenfassung für gewöhnlich im Inhaltsverzeichnis auf der obersten Ebene. +Das voreingestellte Verhalten für die Einträge ins Inhaltsverzeichnis kann +jederzeit mit folgenden Werten durch den Anwender überschrieben werden. +% +\begin{values} +\item[toc/totoc] + Es wird ein nicht nummerierten Eintrag im Inhaltsverzeichnis auf der obersten + Gliederungsebene der verwendeten Dokumentklasse für die Zusammenfassung + gesetzt. +\item[tocleveldown/totocleveldown/leveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der + obersten erzeugt. +\item[notoc/nottotoc] + Die Zusammenfassung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +\ChangedAt{v2.02} +Außerdem kann das Verhalten für die Kolumnentitel durch den Nutzer beeinflusst +werden. Normalerweise werden diese nur gesetzt, wenn automatische Kolumnentitel +aktiviert sind (\Option{automark}) und sind von der Gliederungsebene der +Überschrift abhängig. Werden manuelle Kolumnentitel genutzt, müssen diese auch +für die Zusammenfassung manuell gesetzt werden. Mit \Option{abstract}[markboth] +lässt sich das Setzen der Kolumnentitel jedoch forcieren. +% +\begin{values} +\item[markboth] + Unabhängig von der Verwendung manueller oder automatischer Kolumnentitel + werden diese auf rechten sowie linken Seiten mit \Term{abstractname} gesetzt. +\item[nomarkboth] + Die Einstellung für manuelle oder automatische Kolumnentitel werden beachtet + und abhängig von der verwendeten Gliederungsebene der Überschrift gesetzt. +\end{values} +% +Mit dem optionalen Parameter \Key{\Environment{abstract}}{markboth} der +\Environment{abstract}"=Umgebung kann der Kolumnentitel mit einem beliebigen +Inhalt gesetzt werden. + +Häufig wird für Abschlussarbeiten verlangt, neben der deutschsprachigen auch +noch eine englischsprachige Zusammenfassung zu verfassen. Mit der Einstellung +\Option{abstract}[multiple] lassen sich mehrere Zusammenfassungen auf einer +Seite ausgeben~-- sofern genügend Platz vorhanden ist. Außerdem kann die +standardmäßige vertikale Zentrierung der \Environment{abstract}"=Umgebung +auf einer Seite unterdrückt werden. +% +\begin{values} +\item[one/simple/single] + Jede Zusammenfassung wird auf einer eigenen Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multi/multiple/all] + \ChangedAt{v2.02} + Zusammenfassungen, welche mit \Macro{nextabstract} getrennt wurden, werden + direkt nacheinander auf der gleichen Seite ausgegeben, wenn ausreichend Platz + auf dieser vorhanden sein sollte. Ist die Option \Option{twocolumn} aktiviert, + erfolgt die Ausgabe aller Zusammenfassungen ohne Spaltenumbruch. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Alle Zusammenfassungen auf einer Ausgabeseite werden vertikal zentriert. Für + den zweispaltigen Satz mit \Option{twocolumn} steht diese Einstellung nicht + zur Verfügung. +\end{values} +% +Die zuletzt genannten Einstellungen zur Positionierung der Zusammenfassungen +innerhalb der \Environment{abstract}"=Umgebung nur wirksam sind, wenn eine +Titelseite (\Option{titlepage}[true]) und \emph{keine} Überschriften in Form +von Kapiteln (\Option{abstract}[chapter]) verwendet werden. +\end{Declaration} + +\begin{Declaration}[% + v2.02!\Macro{nextabstract} zur Trennung der einzelnen Teile% +]{\Environment{abstract}[\OLParameter{Sprache}]} +\begin{Declaration}[v2.02]{\Macro{nextabstract}\OLParameter{Sprache}} +\begin{Declaration}{\Key{\Environment{abstract}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Environment{abstract}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Environment{abstract}}{pagestyle}[\PName{Seitenstil}]% +} +\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. Wird ein +Titelkopf (\Option{titlepage}[false]) und keine Titelseite verwendet, so wird +für den Fall, dass die Zusammenfassung \emph{nicht} mit der Überschrift einer +Gliederungsebene gesetzt wird, diese wie bei den \KOMAScript"=Klassen in einer +\Environment{quotation}"=Umgebung gesetzt, um diese vom restlichen Fließtext +abzuheben. Diese hat jedoch den Nachteil, dass in besagter Umgebung die Option +\Option{parskip} nicht beachtet wird. Um dieses Problem zu beheben, kann das +Paket \Package{quoting} geladen werden, wodurch stattdessen die Umgebung +\Environment{quoting} verwendet wird. + +Mit der zuvor erläuterten Option \Option{abstract} kann eingestellt werden, in +welcher Gestalt die Zusammenfassung ausgegeben werden soll. Des Weiteren lässt +sich jede \Environment{abstract}"=Umgebung individuell über weitere Parameter +als optionales Argument anpassen. Damit lassen sich gegebenenfalls für eine +bestimmte \Environment{abstract}"=Umgebung die globalen Einstellungen +der Option \Option{abstract} lokal ändern und gezielt anpassen. + +Wird das Paket \Package{babel} durch den Anwender geladen, kann mit dem +optionalen 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 innerhalb der Umgebung die Bezeichnung \Term{abstractname} +und die Trennungsmuster sprachspezifisch angepasst. Die gewünschte Sprache kann +auch ohne die Verwendung des Parameters \Key{\Environment{abstract}}{language} +direkt als optionales Argument übergeben werden. + +\ChangedAt{v2.02} +Mit \Key{\Environment{abstract}}{markboth} können die gesetzten Kolumnentitel +beeinflusst werden. Wird \Key{\Environment{abstract}}{markboth}[false] +angegeben, werden automatische respektive manuelle Kolumnentitel verwendet. Die +Einstellung \Key{\Environment{abstract}}{markboth}[true] wiederum setzt diese +für linke und rechte Seiten auf \Term{abstractname}. Außerdem lässt sich der +Kolumnentitel mit \Key{\Environment{abstract}}{markboth}[\PName{Kolumnentitel}] +auch direkt festlegen. So können die Kolumnen beispielsweise mit der Verwendung +von \Key{\Environment{abstract}}{markboth}[\PParameter{}] auch gelöscht werden. +Sollte \Key{\Environment{abstract}}{markboth} verwendet werden, so wird in der +Umgebung automatisch der Seitenstil \PageStyle{headings} verwendet. Mit dem +Parameter \Key{\Environment{abstract}}{pagestyle} dieser auch manuell angegeben +werden. Auch die \PageStyle{tudheadings}"=Seitenstile werden unterstützt. + +Wurde das Paket \Package{multicol} geladen, kann mit dem Parameter +\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 verwendete \Environment{abstract}"=Umgebung aus. + +\ChangedAt{v2.02} +Sollen mehrere Zusammenfassungen im gleichen Stil erzeugt und die Einstellungen +der Option \Option{abstract}[simple/multiple/fill/nofill] beachtet werden, so +ist die \Environment{abstract}"=Umgebung nur einmal zu verwenden. Innerhalb +dieser müssen die einzelnen Zusammenfassungen mit \Macro{nextabstract} +voneinander getrennt werden. Der Befehl akzeptiert dabei im optionalen Argument +alle Parameter, die auch von der \Environment{abstract}"=Umgebung selbst +unterstützt werden. Das Minimalbeispiel in \fullref{sec:exmpl:dissertation} +zeigt hierfür das notwendige Vorgehen. + +Wird die \Environment{abstract}"=Umgebung innerhalb des Argumentes der Befehle +\Macro{partpreamble} beziehungsweise \Macro{chapterpreamble} verwendet, so wird +die Überschrift~-- im 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} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\index{Zusammenfassung|!)}% + + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +\begin{Declaration}[% + v2.02!Wert \PValue{double} mit \PValue{multi} ersetzt,% + v2.02!Wert \PValue{tocleveldown} neu,% + v2.02!Wert \PValue{markboth} neu% +]{\Option{declaration}[\PSet]}[true]% +\printdeclarationlist% +\index{Selbstständigkeitserklärung|!}\index{Sperrvermerk|!}% +% +Mit \Option{declaration} kann äquivalent zur Option \Option{abstract} die +Gestaltung von Selbstständigkeitserklärung und Sperrvermerk angepasst werden. +Zur Ausgabe der Erklärungen werden die Umgebung \Environment{declarations} +sowie die Befehle \Macro{declaration} beziehungsweise \Macro{confirmation} und +\Macro{blocking} bereitgestellt. + +Die beiden Optionen \Option{abstract} und \Option{declaration} ähneln sich sehr +stark. Alle möglichen Wertzuweisungen für \Option{declaration} wurden bereits +bei der Beschreibung von \Option{abstract} ausführlich erläutert. Deshalb +geschieht dies hier in einer etwas kürzeren Ausführung. Sollte Ihnen eine +Erläuterung etwas dürftig erscheinen, so hilft mit Sicherheit ein Blick zur +Erklärung der Option \Option{abstract}'full'. + +Die möglichen Werte für die Gestaltung der Überschrift werden nachfolgend +genannt. Im Gegensatz zur Option \Option{abstract} stehen die Einstellungen +\Option{declaration}[true/false] auch für die Klasse \Class{tudscrbook} zur +Verfügung. +% +\begin{values} +\itemfalse + Es wird keine Überschrift über den Erklärungen selbst ausgegeben. +\itemtrue* + Eine zentrierte Überschrift mit dem Bezeichner \Term{confirmationname} vor + der Selbstständigkeitserklärung beziehungsweise \Term{blockingname} vor dem + Sperrvermerk wird gesetzt. +\item[section/addsec] + Die Überschrift verwendet den Gliederungsbefehl \Macro{section}. +\item[chapter/addchap][% + (Säumniswert für \Class{tudscrbook}) + nur für \Class{tudscrreprt} und \Class{tudscrbook} verfügbar% + ] + Es wird der Befehl \Macro{chapter} für das Setzen der Überschrift genutzt. +\item[heading] + Es wird die höchstmögliche Gliederungsebene verwendet. Für + \Class{tudscrartcl} entspricht dies \Option{declaration}[section], bei + \Class{tudscrreprt} und \Class{tudscrbook} \Option{declaration}[chapter]. +\end{values} +% +Abhängig von der gewählten Gliederungsebene der Überschrift wird das Verhalten +für das Setzen eines Eintrages ins Inhaltsverzeichnis festgelegt. Normalerweise +wird nur für Überschriften in Form einer Gliederungsebene ein Eintrag der +Erklärung ins Inhaltsverzeichnis erstellt, für \Option{declaration}[true/false] +geschieht dies standardmäßig nicht. Das voreingestellte Verhalten kann mit +folgenden Werten überschrieben werden. +% +\begin{values} +\item[toc/totoc] + Unabhängig von der Wahl der Überschrift erhält jede Erklärung einen nicht + nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene + der aktuell gerade verwendeten Dokumentklasse. +\item[tocleveldown/totocleveldown/leveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der + obersten erzeugt. +\item[notoc/nottotoc] + Die Erklärung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +\ChangedAt{v2.02} +Normalerweise werden die automatischen Kolumnentitel in Abhängigkeit von der +Gliederungsebene der Überschrift gesetzt, falls diese denn aktiviert sind +(\Option{automark}). Werden manuelle Kolumnentitel genutzt, müssen diese auch +für die Erklärungen manuell gesetzt werden. Mit \Option{declaration}[markboth] +lässt sich außerdem das Setzen der Kolumnentitel auf linken und rechten Seiten +forcieren, wobei hierfür der Titel der Überschrift genutzt wird. +% +\begin{values} +\item[markboth] + Unabhängig von der Verwendung manueller oder automatischer Kolumnentitel + werden diese auf rechten sowie linken Seiten mit den Bezeichnern + \Term{confirmationname} beziehungsweise \Term{blockingname} gesetzt. +\item[nomarkboth] + Die Einstellung für manuelle oder automatische Kolumnentitel werden beachtet. +\end{values} +% +Des Weiteren kann mit dem Parameter \Key{\Environment{declaration}}{markboth} +der \Environment{declarations}"=Umgebung der Kolumnentitel mit einem beliebigen +Inhalt gesetzt werden. Verwenden Sie einen der Befehle \Macro{declaration} +beziehungsweise \Macro{confirmation} und \Macro{blocking} ist dies mit dem +gleichnamigen, optionalen Parameter ebenfalls möglich. + +Die folgenden Einstellungen zur Positionierung der Erklärungen haben lediglich +Auswirkungen, wenn die Überschrift der Erklärung \emph{nicht} im Form eines +Kapitels ausgegeben und eine Titelseite (\Option{titlepage}[true]) verwendet +wird. +% +\begin{values} +\item[one/simple/single] + Jede Erklärung wird auf einer separaten Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multi/multiple/all] + \ChangedAt{v2.02} + Erklärungen, welche in der \Environment{declarations}"=Umgebung mit den + Befehlen \Macro{confirmation}, \Macro{blocking} und \Macro{declaration} oder + außerhalb dieser mit \Macro{declaration} gesetzt wurden, werden direkt + nacheinander auf der gleichen Seite ausgegeben, wenn ausreichend Platz auf + dieser vorhanden sein sollte. Ist die Option \Option{twocolumn} aktiviert, + erfolgt die Ausgabe aller Erklärungen ohne Spaltenumbruch. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Alle Erklärungen auf einer Ausgabeseite werden vertikal zentriert. Für + den zweispaltigen Satz mit \Option{twocolumn} steht diese Einstellung nicht + zur Verfügung. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Environment{declarations}[\LParameter]} +\begin{Declaration}{\Key{\Environment{declarations}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Environment{declarations}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Environment{declarations}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Environment{declarations}}{columns}[\PName{Anzahl}]% +} +\begin{Declaration}{\Key{\Environment{declarations}}{option}[\PSet]} +\begin{Declaration}{% + \Key{\Environment{declarations}}{supporter}[\PName{Unterstützer}] +} +\begin{Declaration}{\Key{\Environment{declarations}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Environment{declarations}}{closing}[\PName{Ende}]} +\begin{Declaration}{\Key{\Environment{declarations}}{company}[\PName{Firma}]} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +Innerhalb dieser Umgebung können Selbstständigkeitserklärung und Sperrvermerk +mit dem Befehl \Macro{declaration} direkt nacheinander folgend beziehungsweise +mit \Macro{confirmation} und \Macro{blocking} auch separat ausgegeben werden. +Dies kann in beliebiger Reihenfolge und auch mehrmals geschehen, um diese +beispielsweise mehrsprachig zu setzen. Die im Folgenden beschriebenen Parameter +können dabei sowohl für die \Environment{declarations}"=Umgebung selbst als +auch für die zuvor genannten Befehle als optionales Argument verwendet werden. +Auch die beiden Umgebungen \Environment{abstract} und \Environment{declaration} +sind sich sehr ähnlich. Deshalb werden die Erläuterungen relativ kurz gehalten. +Ist ein Erklärung für einen Parameter etwas unverständlich, kann diese bei der +Umgebung \Environment{abstract}'full' nachgelesen werden. + +Wurde das Paket \Package{babel} geladen, kann die Sprache~-- sofern diese als +Paketoption oder besser noch als Klassenoption angegeben wurde~-- mit dem +Parameter \Key{\Environment{declarations}}{language}[\PName{Sprache}] für die +\Environment{declarations}"=Umgebung geändert werden. Dadurch werden die +Bezeichner~-- unter anderem \Term{confirmationname} und \Term{blockingname}~-- +sowie die Trennungsmuster innerhalb der Umgebung sprachspezifisch angepasst. + +\ChangedAt{v2.02} +Die Kolumnentitel können mit \Key{\Environment{declarations}}{markboth} +beeinflusst werden. Mit \Key{\Environment{abstract}}{markboth}[true] werden +für die Kolumnentitel auf linker und rechter Seite \Term{confirmationname} +respektive \Term{blockingname} verwendet. Außerdem kann der Anwender diese mit +\Key{\Environment{declarations}}{markboth}[\PName{Kolumnentitel}] auch direkt +festlegen. Sollte \Key{\Environment{declarations}}{markboth} verwendet werden, +wird der Seitenstil automatisch auf \PageStyle{headings} gesetzt. Mit dem +Parameter \Key{\Environment{declarations}}{pagestyle} lässt sich dieser für die +Umgebung auch manuell angegeben. + +Die Verwendung der Parameter \Key{\Macro{confirmation}}{supporter} sowie +\Key{\Macro{confirmation}}{place} und \Key{\Macro{confirmation}}{closing} ist +in der Dokumentation des Befehls \Macro{confirmation} zu finden, der Parameter +\Key{\Macro{blocking}}{company} ist für \Macro{blocking} erläutert. Für den +Parameter \Key{\Environment{declarations}}{option} können alle gültigen Werte +der Option \Option{declaration} angegeben werden. Diese wirken sich nur lokal +innerhalb der \Environment{declarations}"=Umgebung aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{declaration}\LParameter} +\begin{Declaration}{\Key{\Macro{declaration}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{\Key{\Macro{declaration}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Macro{declaration}}{option}[\PSet]} +\begin{Declaration}{\Key{\Macro{declaration}}{supporter}[\PName{Unterstützer}]} +\begin{Declaration}{\Key{\Macro{declaration}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Macro{declaration}}{closing}[\PName{Ende}]} +\begin{Declaration}{\Key{\Macro{declaration}}{company}[\PName{Firma}]} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +Dieser Befehl gibt die Selbstständigkeitserklärung und den Sperrvermerk direkt +aufeinanderfolgend aus. Dabei werden die Einstellungen zur Positionierung der +einzelnen Erklärungen, welche über die Wertzuweisungen an die Option +\Option{declaration}[simple/multiple/fill/nofill] erfolgen, beachtet. Er kann +sowohl innerhalb der \Environment{declarations}"=Umgebung als auch außerhalb +direkt im Dokument verwendet werden und akzeptiert im optionalen Argument dabei +alle für die \Environment{declarations}"=Umgebung beschriebenen Parameter. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{confirmation}\OLParameter{Unterstützer}} +\begin{Declaration}{\Key{\Macro{confirmation}}{supporter}[\PName{Unterstützer}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{closing}[\PName{Ende}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{confirmation}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{confirmation}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{confirmation}}{columns}[\PName{Anzahl}]% +} +\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. Wie dieser angepasst beziehungsweise geändert werden kann, ist +unter \autoref{sec:localization} zu finden. Er kann sowohl innerhalb der +\Environment{declarations}"=Umgebung als auch außerhalb direkt im Dokument +verwendet werden. + +Wird er in seiner ursprünglichen Form belassen, kann er im optionalen Argument +über die deklarierten Parameter angepasst werden. Im Standardtext der +Selbstständigkeitserklärung werden sowohl der Titel als auch der Typ der +Abschlussarbeit~-- falls dieser mit \Macro{thesis} oder \Macro{subject} und +einem speziellen Wert aus \autoref{tab:thesis} beziehungsweise mit der Option +\Option{subjectthesis} angegeben wurde~-- aufgeführt. Über den Parameter +\Key{\Macro{confirmation}}{supporter} können weitere an der Arbeit beteiligte +Personen angegeben werden. Dies ist auch mit dem Befehl \Macro{supporter} +möglich, wenn dieser \emph{vor} \Macro{confirmation} verwendet wird. Mehrere +zu nennende Personen sind auch hier durch \Macro{and} zu trennen. Das Feld der +Unterstützer kann auch mit dem bloßen optionalen Argument ohne die Angabe eines +Parameters angepasst werden. + +Nach dem eigentlichen Text der Selbstständigkeitserklärung wird der mit +\Key{\Macro{confirmation}}{place} beziehungsweise \Macro{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 dem Text der Selbstständigkeitserklärung gesetzt werden, kann dies +mit dem Parameter \Key{\Macro{confirmation}}{closing} oder zuvor mit dem +Befehl \Macro{confirmationclosing} angepasst werden. Die Parameter +\Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{pagestyle}, +\Key{\Environment{declarations}}{columns} und +\Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen +der \Environment{declarations}"=Umgebung. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\Rename[macros]{v2.02}{\Macro{restriction}}{\Macro{blocking}} +\begin{Declaration}{\Macro{blocking}\OLParameter{Firma}} +\begin{Declaration}{\Key{\Macro{blocking}}{company}[\PName{Firma}]} +\begin{Declaration}{\Key{\Macro{blocking}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{columns}[\PName{Anzahl}]% +} +\begin{Declaration}{\Key{\Macro{blocking}}{option}[\PSet]} +\printdeclarationlist% +\index{Sperrvermerk}% +% +Beim Sperrvermerk verhält es sich äquivalent zur Selbstständigkeitserklärung. +Es wird der in \Term{blockingtext} hinterlegte Standardtext in der gewählten +Sprache ausgegeben. Dieser kann durch den Anwender geändert werden. Wie genau +ist in \autoref{sec:localization} beschrieben. Der Befehl \Macro{blocking} +kann sowohl innerhalb der Umgebung \Environment{declarations} als auch +außerhalb direkt im Dokument verwendet werden. + +In seiner ursprünglichen Definition, kann er im optionalen Argument über die +deklarierten Parameter angepasst werden. Im Standardtext des Sperrvermerks +werden sowohl der Titel als auch der Typ der Abschlussarbeit~-- falls dieser +mit \Macro{thesis} oder \Macro{subject} und einem speziellen Wert aus +\autoref{tab:thesis} beziehungsweise mit der Option \Option{subjectthesis} +angegeben wurde~-- aufgeführt. Mit \Key{\Macro{blocking}}{company}~-- oder +\emph{vorher} mit dem Befehl \Macro{company}~-- kann zusätzlich eine im +Sperrvermerk zu nennende Firma oder ähnliches angegeben werden. Dieses Feld +kann auch direkt im optionalen Argument ohne die Verwendung eines Parameters +gesetzt werden. Die weiteren Parameter +\Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{pagestyle}, +\Key{\Environment{declarations}}{columns} und +\Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen +der \Environment{declarations}"=Umgebung. +\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{Ende}} +\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{blocking}~-- 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]% +\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} +\end{Declaration} + +\begin{Declaration}{% + \Macro{tudbookmark}\OParameter{Ebene}\Parameter{Text}\Parameter{Ankername}% +}% +\printdeclarationlist% +% +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} + + + +\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. Seit der Version~v3.12 stellt \KOMAScript sicher, dass die +Bezeichner erst \textbf{nach} \Macro*{begin}\PParameter{document} angepasst +werden und somit 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 Befehle der Bezeichner +für bestimmte Begriffe auf \PValue{\dots{}name} und beschreibende Texte auf +\PValue{\dots{}text} enden zu lassen. + +\begin{Declaration}{\Term{supervisorname}} +\begin{Declaration}{\Term{supervisorothername}} +\begin{Declaration}[% + v2.02!Unterscheidung zwischen einem und mehreren Gutachtern% +]{\Term{refereename}} +\begin{Declaration}{\Term{refereeothername}} +\begin{Declaration}{\Term{advisorname}} +\begin{Declaration}{\Term{advisorothername}} +\begin{Declaration}[% + v2.02!Unterscheidung von einem und mehreren Professoren% +]{\Term{professorname}} +\begin{Declaration}[v2.02]{\Term{professorothername}} +\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}) und Fachreferent +(\Macro{advisor}). Soll innerhalb eines dieser Felder mehr als eine Person +angegeben werden, so sind die Einzelpersonen jeweils mit dem Befehl \Macro{and} +voneinander zu trennen. In diesem Fall werden alle nach der erstgenannten +folgenden Personen durch den Bezeichner \PValue{\bsc\dots{}othername} ergänzt. + +\ChangedAt{v2.02} +Bei der Bezeichnung des Gutachters wird unterschieden, ob einer oder mehrere +angegeben wurden. Wird lediglich einer genannt, so ist eine Unterscheidung +nicht notwendig. Werden jedoch zwei Gutachter angegeben, so werden diese auch +mit Erst- und Zweitgutachter betitelt. Für den betreuenden Hochschullehrer +(\Macro{professor}) wird ähnlich verfahren. Hier wird allerdings lediglich +die Bezeichnung vom Singular in den Plural gegebenenfalls automatisch geändert. + + +\renewcaptionname{ngerman}{\refereename}{Gutachter/Erstgutachter} +\renewcaptionname{english}{\refereename}{Referee/First referee} +\TermTable{% + supervisorname,supervisorothername,refereename,refereeothername,% + advisorname,advisorothername,professorname,professorothername% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\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}'full' beziehungsweise in \autoref{tab:thesis} zu finden. +\TermTable{% + dissertationname,diplomathesisname,masterthesisname,bachelorthesisname,% + studentresearchname,projectpapername,seminarpapername,researchname,% + logname,internshipname,reportname% +} +\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{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}) sowie die +Matrikelnummer (\Macro{matriculationnumber}) und/oder das Immatrikulationsjahr +(\Macro{matriculationyear}) angegeben, werden sowohl auf der Titelseite als +auch auf der gegebenenfalls mit \Package{tudscrsupervisor} erstellten +Aufgabenstellung die dazugehörigen Bezeichner vorangestellt. Auf dem Titel +werden diese dabei mit dem durch \Macro{titledelimiter} gegebenen Trennzeichen +vom eigentlichen Feld abgegrenzt. +\TermTable{% + dateofbirthtext,placeofbirthtext,matriculationnumbername,% + matriculationyearname% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{degreetext}}{\Term{graduationtext}} +\begin{Declaration}{\Term{graduationtext}} +\printdeclarationlist% +\index{Titel}\index{Abschlussarbeit}\index{Typisierung}% +% +Wurde erkannt, dass das Dokument eine Abschlussarbeit ist,% +\footnote{% + Entweder wurde \Macro{thesis} oder \Macro{subject} mit einem speziellen Wert + oder der Option \Option{subjectthesis} verwendet. +} +so kann der zu erlangende akademische Grad mit dem Befehl \Macro{graduation} +angegeben werden. Bei dessen Ausgabe auf dem Titel wird dabei der entsprechende +Text dazu angegeben. +\TermTable*{graduationtext}{.78\textwidth} +\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{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} + +\Rename[terms]{v2.02}{\Term{restrictionname}}{\Term{blockingname}} +\begin{Declaration}{\Term{confirmationname}} +\begin{Declaration}{\Term{blockingname}} +\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,blockingname} +\end{Declaration} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{restrictiontext}}{\Term{blockingtext}} +\begin{Declaration}{\Term{confirmationtext}} +\begin{Declaration}{\Term{blockingtext}} +\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{blocking}) wird neben dem Titel +(\Macro{title}) optional außerdem noch das Feld der externen Firma% +\footnote{% + \Macro{blocking}\POParameter{\Key{\Macro{blocking}}{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~-- allerdings +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 + \vskip\baselineskipglue\noindent + \textbf{Bezeichner}\quad\Term*{confirmationtext}% + \begin{quoting} + \confirmationtext + \end{quoting} + \textbf{Bezeichner}\quad\Term*{blockingtext}% + \begin{quoting} + \blockingtext + \end{quoting} +\endgroup +\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{listingname}} +\begin{Declaration}{\Term{listlistingname}} +\printdeclarationlist% +% +Sollte ein Paket zur Einbindung von externem Quelltext~-- beispielsweise +das Paket \Package{listings}~-- verwendet werden, so werden diese Bezeichnungen +für Quelltextausschnitte und das Quelltextverzeichnis verwendet. +\TermTable{listingname,listlistingname} +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-obsolete.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-obsolete.tex new file mode 100644 index 00000000000..02ccdb607a9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-obsolete.tex @@ -0,0 +1,306 @@ +\chapter{Obsolete sowie vollständig entfernte Optionen und Befehle} +\label{sec:obsolete}% +% +Einige Optionen und Befehle waren während der Weiterentwicklung von \TUDScript +in ihrer ursprünglichen Form nicht mehr umsetzbar oder wurden~-- unter anderem +aus Gründen der Kompatibilität zu anderen Paketen~-- schlichtweg verworfen. +Dennoch besteht für die meisten entfallenen Direktiven eine Möglichkeit, deren +Funktionalität ohne größere Aufwände mit \TUDScript in der aktuellen Version +\vTUDScript{} darzustellen. Ist dies der Fall, wird hier entsprechend kurz +darauf hingewiesen. + +\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}{\Option{color}[\PBoolean]}{siehe \Option*{cd}[color]} +\printdeclarationlist*% +% +Die Einstellungen der farbigen Ausprägung des Dokumentes erfolgt über die +Option \Option*{cd}. +\end{Declaration} + +\begin{Declaration}{\Option{tudfonts}[\PBoolean]}{siehe \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]}{ + siehe \Option*{cdfoot}[\PBoolean]% +} +\printdeclarationlist*% +% +Ebenso wurde die Option \Option*{tudfoot} umbenannt, um dem Namensschema der +restlichen Optionen von \TUDScript zu entsprechen. +\end{Declaration} + +\begin{Declaration}{\Option{headfoot}[\PSet]}{entfällt} +\printdeclarationlist*% +% +Diese Option war für \TUDScript in der Version~v1.0 notwendig, um die parallele +Verwendung der beiden Pakete \Package{typearea} und \Package{geometry} zu +ermöglichen. Die Erstellung des Satzspiegels wurde komplett überarbeitet. +Mittlerweile werden an das Paket \Package{geometry} die Einstellungen für die +\KOMAScript"=Optionen \Option{headinclude} und \Option{footinclude} direkt +weitergereicht, so dass die Option \Option*{headfoot} nicht mehr notwendig ist +und deshalb entfernt wurde. +\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}[\PSet]% +} +\begin{Declaration}{\Option{abstractdouble}[\PBoolean]}{% + entfällt, siehe \Option*{abstract}[\PSet]% +} +\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}}% + {siehe \Macro*{headlogo}\Parameter{Dateiname}% +} +\begin{Declaration}{\Macro{logofilename}\Parameter{Dateiname}}% + {siehe \Macro*{headlogo}\Parameter{Dateiname}% +} +\printdeclarationlist*% +% +Der Befehl \Macro*{logofile} sowie der dazugehörige Alias \Macro*{logofilename} +wurden in \Macro*{headlogo} umbenannt. Die Funktionalität bleibt weiterhin +bestehen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Length{chapterheadingvskip}}{% + siehe \Length*{pageheadingsvskip} sowie \Length*{headingsvskip} +} +\begin{Declaration}{\Length{signatureheight}}{entfällt} +\printdeclarationlist*% +% +Die vertikale Positionierung von Überschriften wurde zweigeteilt. Die Höhe für +die Zeile der Unterschriften wurde dehnbar gestaltet. Eine Anpassung durch den +Anwender ist nicht vonnöten. +\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 neben der \taskname{} auch für die +Titelseite im \CD nutzbar. +\end{Declaration} +\end{Declaration} +\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} + +\begin{Declaration}{\Macro{degree}\OParameter{Kurzform}\Parameter{Grad}}{% + umbenannt, siehe \Macro*{graduation}% +} +\begin{Declaration}{\Term{degreetext}}{umbenannt, siehe \Term*{graduationtext}} +\printdeclarationlist*% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +der dazugehörige Bezeichner dahingehend angepasst. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{restriction}\OLParameter{Firma}}{% + umbenannt, siehe \Macro*{blocking}% +} +\begin{Declaration}{\Term{restrictionname}}{% + umbenannt, siehe \Term*{blockingname} +} +\begin{Declaration}{\Term{restrictiontext}}{% + umbenannt, siehe \Term*{blockingtext}% +} +\printdeclarationlist*% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +die dazugehörigen Bezeichner dahingehend angepasst. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{confirmationandrestriction}}{% + entfällt, siehe \Macro*{declaration}% +} +\begin{Declaration}{\Macro{restrictionandconfirmation}}{% + entfällt, siehe \Macro*{declaration}% +} +\printdeclarationlist*% +% +Die beiden Befehle entfallen, stattdessen sollte entweder der Befehl +\Macro*{declaration} oder die Umgebung \Environment{declarations} zusammen mit +den Befehlen \Macro*{confirmation} und \Macro*{blocking} verwendet werden, +wobei sich diese in der Umgebung in beliebiger Reihenfolge anordnen lassen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{location}\Parameter{Ort}}{% + siehe \Macro*{place} sowie auch Parameter \Key*{\Macro{declaration}}{place}% +} +\printdeclarationlist*% +In Anlehnung an andere \hologo{LaTeX}-Pakete und "~Klassen wurde +\Macro*{location} in \Macro*{place} umbenannt. +\end{Declaration} + + + +\minisec{\taskname{} und \noticename} +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{branch}\Parameter{Studienrichtung}}{% + umbenannt, siehe \Macro*{discipline}% +} +\begin{Declaration}{\Term{branchname}}{umbenannt, siehe \Term*{disciplinename}} +\begin{Declaration}{\Macro{startdate}\Parameter{Ausgabedatum}}{% + Alias für \Macro*{issuedate}% +} +\begin{Declaration}{\Macro{enddate}\Parameter{Abgabetermin}}{% + Alias für \Macro*{duedate}% +} +\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 Befehle und Bezeichner wurden für die \taskname{} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{contact}\Parameter{Kontaktperson(en)}}{% + umbenannt, siehe \Macro*{contactperson}% +} +\begin{Declaration}{\Term{contactname}}{% + umbenannt, siehe \Term*{contactpersonname}% +} +\begin{Declaration}{\Macro{phone}\Parameter{Telefonnummer}}{% + umbenannt, siehe \Macro*{telephone}% +} +\begin{Declaration}{\Macro{email}\Parameter{E-Mail-Adresse}}{% + umbenannt, siehe \Macro*{emailaddress}% +} +\printdeclarationlist*% +% +Alle genannten Befehle und Bezeichner wurden für den \noticename{} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-packages.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-packages.tex new file mode 100644 index 00000000000..591b7c43f48 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-packages.tex @@ -0,0 +1,889 @@ +\chapter{Unerlässliche und beachtenswerte Pakete} +\manualhyperdef{sec:packages} +\index{Kompatibilität!Pakete} +\section{Von den neuen Hauptklassen benötigte Pakete} +\label{sec:packages:needed} +\subsection{Erforderliche Pakete bei der Schriftinstallation} +% +Für die Installation der Schriften sind die folgend genannten Pakete von +\emph{essentieller} Bedeutung und daher \emph{zwingend} notwendig. Das +Vorhandensein dieser wird durch die jeweiligen Schriftinstallationsskripte +(siehe~\autoref{sec:install}) geprüft und die Installation beim Fehlen eines +oder mehrerer Pakete mit einer entsprechenden Warnung abgebrochen. +% +\begin{packages} +\item[fontinst] + Dieses Paket wird für die Installation der Schriften \Univers sowie \DIN + benötigt. +\item[cmbright] + Alle mathematischen Glyphen und Symbole, die nicht in den \Univers-Schriften + enthalten sind, werden diesem Paket entnommen. +\item[iwona] + Sowohl für die \Univers-Schriftfamilie als auch für \DIN werden fehlenden + Glyphen und Symbole hieraus entnommen. +\end{packages} +% +Zusätzlich werden die \texttt{Schreibmaschinenschriften} aus dem Paket +\Package{lmodern} verwendet. + +\subsection{Notwendige Pakete für die Verwendung der Hauptklassen} +In diesem \autorefname 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](koma-script) + 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. Von diesem wird das Paket \Package{keyval} geladen, welches + das Definieren von Klassen"~ und Paketoptionen sowie Parametern nach dem + Schlüssel"=Wert"=Prinzip ermöglicht. +\item[kvsetkeys] + Hiermit wird das von \Package{scrbase} geladene Paket \Package{keyval} + verbessert. Unter anderem kann das Verhalten für einen übergebenen, + unbekannten Schlüssel festgelegt werden. +\item[scrlayer-scrpage](koma-script) + \ChangedAt{v2.02!\Package{scrlayer-scrpage}: Für Verwendung notwendig} + Dieses \KOMAScript-Paket wird für die \PageStyle{tudheadings}-Seitenstile + benötigt. +\item[etoolbox] + Es werden viele Funktionen zum Testen und zur Ablaufkontrolle bereitgestellt + und das einfache Manipulieren vorhandener Makros ermöglicht. +\item[geometry]\index{Satzspiegel} + Das Paket ist essentiell für die \TUDScript-Klassen. Es wird zum Festlegen + der Seitenränder respektive des Satzspiegels verwendet. +\item[textcase]\index{Schriftauszeichnung} + Mit \Macro{MakeTextUppercase} wird die Großschreibung der Überschriften in + \DIN erzwungen. Im \emph{Ausnahmefall} kann dies mit \Macro{NoCaseChange} + unterbunden werden. +\item[graphicx]\index{Grafiken} + Dies ist das De-facto-Standard-Paket zum Einbinden von Grafiken. Zum Setzen + des Logos der \TnUD im Kopf wird \Macro{includegraphics} genutzt. +\item[xcolor]\index{Farben} + Damit werden die Farben des \CDs zur Verwendung im Dokument definiert. + Genaueres ist bei der Beschreibung von \Package{tudscrcolor}'auto' zu finden. +\item[eviron]\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. Das Paket lädt \Package{trimspaces}, womit das Entfernen von + überflüssigen Leerraum um einen Strings ermöglicht wird. +\item[afterpage] + \ChangedAt{v2.02!\Package{afterpage}: Für Verwendung notwendig} + Der Befehl \Macro{afterpage}\Parameter{\dots} kann genutzt werden, um den + Inhalt aus dessen Argument direkt nach der Ausgabe der aktuellen Seite + auszuführen. Es wird für den Titelkopf im \CD für das zweispaltige Layout + benötigt (\autoref{sec:title}). +\end{packages} +% +Möchten Sie eines der hier aufgezählten Pakete selber mit bestimmten Optionen +laden, so sollten diese bereits \emph{vor} der Definition der Dokumentklasse an +das Paket weitergereicht 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}\index{Querverweise} + Hiermit können in einem PDF-Dokument Lesezeichen, Querverweise und + Hyperlinks erstellt werden. Wird es geladen, sind außerdem die Option + \Option{tudbookmarks} sowie der Befehl \Macro{tudbookmark} nutzbar. Das + Paket \Package{bookmark} erweitert die Unterstützung nochmals. Beide + genannten Pakete sollten~-- bis auf sehr wenige Ausnahmen wie beispielsweise + \Package{glossaries}~-- als letztes in der Präambel eingebunden werden. +\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[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[ragged2e]\index{Worttrennung} + Das Paket verbessert den Flattersatz, indem für diesen die Worttrennung + aktiviert wird. +\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 \autorefname wird eine Vielzahl an Paketen~-- zumeist kurz~-- +vorgestellt, welche sich für mich persönlich bei der Arbeit mit \hologo{LaTeX} +bewährt haben. Einige davon werden außerdem im Tutorial \Tutorial{treatise} in +ihrer Anwendung beschrieben. Für detaillierte Informationen sowie bei Fragen zu +den einzelnen Paketen sollte die jeweilige Dokumentation zu Rate gezogen +werden,\footnote{Kommandozeile/Terminal: \Path{texdoc\,\PName{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 + vom genutzten \hyperref[sec:tips:editor]{Editors (\autoref{sec:tips:editor})} + und den darin gewählten Einstellung abhängig. Mit: + \begin{Code} + \usepackage{selinput} + \SelectInputMappings{adieresis={ä},germandbls={ß}} + \end{Code}\vspace{-\baselineskip}% + wird es verwendet. Dies macht den Quelltext portabel, womit beispielsweise + einfach via Copy~\&~Paste ein \hrfn{http://www.komascript.de/minimalbeispiel}% + {Minimalbeispiel} bei Problemstellungen in einem Forum bereitgestellt werden + kann. Alternativ dazu lässt sich mit dem Paket \Package{inputenc} die zu + verwendende Eingabekodierung manuell einstellen + (\Macro*{usepackage}\OParameter{Eingabekodierung})\PParameter{inputenc}). +\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[microtype]\index{Typographie} + Dieses 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 jedoch mit \hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX}. +\item[hyphsubst]\index{Worttrennung|!} + Die möglichen Trennstellen von Wörtern wird von \hologo{LaTeX} mithilfe + eines Algorithmus berechnet. Dieser wird für deutschsprachige Texte mit dem + Paket \Package{hyphsubst} entscheidend verbessert. Es muss bereits \emph{vor} + der Dokumentklasse wie folgt geladen werden: + \begin{Code}[escapechar=§] + \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} + \end{Code}\vspace{-\baselineskip}% + In \autoref{sec:tips:hyphenation} wird genauer auf das Zusammenspiel von + \Package{hyphsubst} und \Package{babel} sowie \Package{fontenc} eingegangen, + ein Blick dahin wird dringend empfohlen. Zusätzliche werden dort weitere + Hinweise für eine verbesserte Worttrennung gegeben. +\end{packages} + + +\subsection{Pakete zur situativen Verwendung} +Die nachfolgenden Pakete sollten nicht zwangsweise in jedem Dokument geladen +werden sondern nur, falls dies auch tatsächlich notwendig ist. Zur besseren +Übersicht wurde versucht, diese thematisch passend zu gruppieren. Daraus lässt +sich keinerlei Wertung bezüglich ihrer Nützlichkeit oder meiner persönlichen +Wertschätzung ableiten. + +\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*.] + \itempackages viel zu häufig und völlig unnötig gefordert und + \itempackages schließlich auch noch zu groß gewählt. + \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 somit einen + akzeptablen Durchschuss. Eine Erhöhung des Durchschusses bei der Verwendung + von \hologo{LaTeX} ist an und für sich 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 im \CD der + \TnUD 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. In 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:tips:headings} sowie \autoref{sec:tips:headline}. +\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. Zusätzlich 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[noindentafter] + \ChangedAt{v2.02!\Package{noindentafter}: Beschreibung hinzugefügt} + Mit diesem Paket lassen sich automatische Absatzeinzüge für selbst zu + bestimmende Befehle und Umgebungen unterdrücken. +\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:tips:xspace} ist die Definition + eines solchen Befehls exemplarisch ausgeführt. +\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. Siehe dazu auch + \autoref{sec:tips:dots}. +\item[xpunctuate]\index{Befehle!Deklaration} + Die Funktionalität von \Package{xspace} wird um die Beachtung von + Interpunktionen erweitert. +\itempackages[\href{http://www.ctan.org/pkg/delig}{\Application{DeLig}}] + \index{Typographie}\index{Ligaturen} + Hierbei handelt es sich um ein Java-Script, welches anhand eines Wörterbuches + falsche Ligaturen innerhalb eines Dokumentes automatisiert entfernt. Wird + \Univers verwendet ist dies jedoch nicht notwendig, da diese keinerlei + Ligaturen enthält, 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. + } + Mit \hologo{LuaLaTeX} als Dokumentprozessor kann alternativ dazu auch + \Package{selnolig} verwendet werden. +\item[balance]\index{Zweispaltensatz} + Dieses Paket ermöglicht einen Spaltenausgleich im Zweispaltensatz auf der + letzten Dokumentseite. Alternativ dazu kann auch \Package{multicol} verwendet + werden. +\end{packages} + +\subsubsection{Rechtschreibung} +Für die Rechtschreibkontrolle zeichnet im Normalfall der verwendete Editor +verantwortlich. Dennoch gibt es einige wenige Pakete, welche sich diesem Thema +widmen. Diese sind jedoch lediglich nutzbar, wenn \hologo{LuaLaTeX} als +Dokumentprozessor genutzt wird. +\begin{packages} +\item[lua-check-hyphen]\index{Worttrennung} + Hiermit lassen sich mit \hologo{LuaLaTeX} Trennstellen am Zeilenende zur + Prüfung markieren. Zum Thema der \textit{korrekten Worttrennung} sei außerdem + auf \autoref{sec:tips:hyphenation} verwiesen. +\item[spelling]\index{Rechtschreibung} + Wird \hologo{LuaLaTeX} als Prozessor verwendet, wird mit diesem Paket der + reine Textanteil aus dem \hologo{LaTeX}"~Dokument extrahiert~-- wobei Makros + und aktive Zeichen entfernt werden~-- und in eine separate Textdatei + geschrieben. Anschließend kann diese Datei mit einer externen Software zur + Rechtschreibprüfung wie \Application{GNU Aspell} oder \Application{Hunspell} + analysiert werden. Wird durch dieses Programm eine Liste falsch geschriebener + Wörter ausgegeben, können diese mit \Package{spelling} im PDF"~Dokument + hervorgehoben werden. +\end{packages} + +\subsubsection{Schriften und Sonderzeichen} +\begin{packages} +\item[lmodern](lm)\index{Schriftart} + Soll mit den klassischen \hologo{LaTeX}"=Standardschriften gearbeitet werden, + empfiehlt sich die Verwendung des Paketes \Package{lmodern}. Dieses + verbessert die Darstellung der Computer~Modern sowohl am Bildschirm als auch + beim finalen Druck. +\item[cfr-lm]\index{Schriftart} + Dieses experimentelle Paket liefert weitere Schriftschnitte für das Paket + \Package{lmodern}. +\item[newtx] + Es werden einige alternative Schriften sowohl für den Fließtext + (\textit{Times} und \textit{Helvetica}) als auch den Mathematikmodus + bereitgestellt. +\item[libertine]\index{Schriftart} + Das Paket stellt die Schriften Linux~Libertine und Linux~Biolinum zur + Verfügung. Um diese Schriftart auch für den Mathematikmodus verwenden zu + können, sollte \Package{newtxmath} aus dem \Package{newtx}-Bundle mit + \Macro*{usepackage}\POParameter{libertine}\PParameter{newtxmath} in der + Präambel eingebunden werden. Das Paket \Package{libgreek} enthält griechische + Buchstaben für Linux~Libertine. +\item[mweights]\index{Schrift!Stärke} + In \hologo{LaTeXe} existieren die drei Schriftfamilien für Serifenschriften + (\Macro{rmfamily}), serifenlose Schriften (\Macro{sffamily}) sowie die + Schreibmaschinenschriften (\Macro{ttfamily}). Deren Schriftstärke wird für + gewöhnlich mit den beiden Befehlen \Macro{mddefault} und \Macro{bfdefault} + einheitlich festgelegt. Bei der Verwendung unterschiedlicher Schriftpakete + kann es unter Umständen zu Problemen bei den Schriftstärken kommen. Das Paket + \Package{mweights} erlaubt die individuelle Definition der Schriftstärke für + jede der drei Schriftfamilien. +\item[fontspec] + \ChangedAt{v2.02!\Package{fontspec}: % + Beschreibung hinzugefügt{,} mit \Option{fontspec} nutzbar% + }% + Wird als Dokumentprozessor nicht \hologo{pdfLaTeX} sondern \hologo{XeLaTeX} + oder \hologo{LuaLaTeX} verwendet, können mit diesem Paket Systemschriften im + OpenType-Format eingebunden werden, womit sich die Auswahl der verwendbaren + Schriften in einem \hologo{LaTeX}"=Dokument stark erweitert. Das Paket wird + mit der Option \Option{fontspec} durch \TUDScript unterstützt. +\item[relsize]\index{Schrift!Größe} + Mithilfe dieses Paketes kann die Größe einer Textauszeichnung relativ zur + aktuell gewählten Schriftgröße gesetzt werden. +\item[textcomp]\index{Sonderzeichen} + Es werden zusätzliche Symbole und Sonderzeichen wie beispielsweise das + Promille- oder Eurozeichen sowie Pfeile für den Fließtext zur Verfügung + gestellt. +\end{packages} +% +Auch für die mathematischen Schriften gibt es einige nützliche Pakete. +\index{Mathematiksatz!Schrift}\index{Schrift!Mathematiksatz} +% +\begin{packages} +\item[sansmath] + Sollten die normalen \hologo{LaTeX}-Schriften Computer~Modern verwendet + werden, kann man dieses Paket zum serifenlosen Setzen mathematischer + Ausdrücke nutzen. Werden die Schriften des \CDs der \TnUD zusammen mit den + \TUDScript-Hauptklassen verwendet, sei 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. +\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. + +\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[bm] + Das Paket bietet mit \Macro{bm} eine Alternative zu \Macro{boldsymbol} im + \hrfn{http://tex.stackexchange.com/questions/3238}{Mathematiksatz}. +\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. Neben + Einheiten können zusätzlich auch Zahlen typographisch korrekt gesetzt werden. + Die Ausgabe lässt sich in vielerlei Hinsicht an individuelle Bedürfnisse + anpassen. Für deutschsprachige Dokumenten sollte die Lokalisierung angegeben + werden. Mehr dazu in \autoref{sec:tips:siunitx}. +\end{packages} +% +Die korrekte Formatierung von Zahlen ist häufig ein Problem bei der Verwendung +von \hologo{LaTeX}. Insbesondere, wenn in einem deutschsprachigen Dokument +Daten im typischen englischsprachigen Format verwendet werden, kommt es zu +Problemen. Dafür wird im \TUDScript-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} +% +Weitere Hinweise und Anwendungsfälle zur mathematischen Typographie werden in +\autoref{sec:exmpl:mathtype} sowie \autoref{sec:exmpl:mathswap} gegeben. + +\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, 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. +Sollen im Dokument komplette Quelltexte oder auch nur Auszüge daraus erscheinen +und für diese auch gleich ein entsprechendes Verzeichnis generiert werden, so +sei auf das Paket \Package{listings}'full' verwiesen. + +\begin{packages} +\item[biblatex]\index{Literaturverzeichnis} + Das Paket gibt es seit geraumer Zeit und es kann als legitimer Nachfolger zu + \hologo{BibTeX} gesehen werden. Ähnlich dazu bietet \Package{biblatex} + die Möglichkeit, Literaturdatenbanken einzubinden und verschiedene Stile der + Referenzierung und Darstellung des Literaturverzeichnisses auszuwählen. + + Mit \Package{biblatex} ist die Anpassung eines bestimmten Stiles wesentlich + besser umsetzbar als mit \hologo{BibTeX}. Wird \Application{biber} für die + Sortierung des Literaturverzeichnisses genutzt, ist die Verwendung einer + UTF"~8-kodierten Literaturdatenbank problemlos möglich. In Verbindung mit + \Package{biblatex} wird die zusätzliche Nutzung des Paketes + \Package{csquotes} sehr empfohlen. +\item[acro]\index{Abkürzungsverzeichnis} + 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. + Die Sortierung des Abkürzungsverzeichnisses muss hier allerdings manuell + durch den Anwender erfolgen. +\item[glossaries]\index{Glossar}\index{Abkürzungsverzeichnis}% + \index{Formelzeichenverzeichnis}\index{Symbolverzeichnis}% + Dies ist ein sehr mächtiges Paket zum Erstellen eines Glossars sowie + Abkürzungs- und Symbolverzeichnisses. Die mannigfaltige Anzahl an Optionen + ist zu Beginn eventuell etwas abschreckend. Insbesondere wenn Verzeichnisse + für Abkürzungen \emph{und} Formelzeichen beziehungsweise Symbole benötigt + werden, sollte man dieses Paket in Erwägung ziehen. + + Alternativ dazu kann für ein Symbolverzeichnis auch lediglich eine manuell + gesetzte Tabelle genutzt werden. Das hierfür sehr häufig empfohlene Paket + \Package{nomencl} bietet meiner Meinung nach demgegenüber keinerlei Vorteile. +\end{packages} + +\subsubsection{Listen} +\index{Listen|?} +\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}. +\end{packages} + +\subsubsection{Tabellen} +\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. +\begin{packages} +\item[array] + Dieses Paket ermöglicht mit dem Befehl \Macro{newcolumntype} das Erstellen + eigener Spaltentypen sowie die erweiterte Definition von Tabellenspalten + (\PValue{>\{\dots\}}\PName{Spaltentyp}\PValue{<\{\dots\}}), wobei mithilfe + sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb einer Spalte + gezielt Anweisungen gesetzt werden können. Außerdem kann die Höhe der Zeilen + einer Tabelle mit \Macro{extrarowheight} 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[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[booktabs] + Für einen guten Tabellensatz mit \hologo{LaTeX} gibt es bereits zahlreiche + \hrfn{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}{Tipps} im + Internet zu finden. Zwei Regeln sollten dabei definitiv beachtet werden: + % + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \itempackages keine vertikalen Linien + \itempackages keine doppelten Linien + \end{enumerate} + % + Das Paket \Package{booktabs} (deutsche Dokumentation \Package*{booktabs-de}) + ist für den Satz von hochwertigen Tabellen eine große Hilfe und stellt die + Befehle \Macro{toprule}, \Macro{midrule} sowie \Macro{cmidrule} und + \Macro{bottomrule} für unterschiedliche horizontale Linien bereit. +\item[tabularborder] + Bei Tabellen wird zwischen Spalten automatisch ein horizontaler Abstand + (\Length{tabcolsep}) gesetzt~-- 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 aus den Paketen \Package{tabularx}, \Package{tabulary} und + \Package{tabu} werden nicht unterstützt. Wie dieser Abstand bei diesen + manuell entfernt werden kann, ist unter \autoref{sec:tips:table} zu finden. +\item[tabularx] + Auch mit diesem Paket kann die Gesamtbreite einer Tabelle spezifiziert + werden. Dafür wird der 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}). + Die \PValue{X}"~Spalten ähneln denen vom Typ~\PValue{p}\Parameter{Breite}, + wobei die Breite dieser aus der gewünschten Tabellengesamtbreite und dem + benötigten Platz der gegebenenfalls vorhandenen Standardspalten automatisch + berechnet wird. +\item[tabulary] + Dies ist ein weiteres Paket zur automatischen Berechnung von Spaltenbreiten. + Der zur Verfügung stehende Platz~-- gewünschte Gesamtbreite abzüglich der + notwendigen Breite für die Standardspalten~-- wird jedoch nicht wie bei der + Umgebung \Environment{tabularx} auf alle Spalten gleichmäßig verteilt sondern + in der \Environment{tabulary}"=Umgebung für die Spaltentypen~\PValue{LCRJ} + anhand ihres Zellinhaltes gewichtet vergeben. + (\Macro*{begin}\PParameter{tabulary}\Parameter{Breite}\Parameter{Spalten}). +\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 man auch \Package{tabu} nutzen. +\item[tabu] + \ChangedAt{v2.02!\Package{tabu}: Verwendung nur bedingt empfehlenswert} + 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 alternativ zu \Package{tabularx} verwendet werden und ist insbesondere + als Ersatz für das Paket \Package{ltxtable} empfehlenswert. + + \Attention{% + Leider wären für das Paket in der aktuellen Version~v2.8 seit geraumer Zeit + ein paar kleinere Bugfixes notwendig. Außerdem wird sich die + \hrfn{https://groups.google.com/d/topic/comp.text.tex/xRGJTC74uCI}{% + Benutzerschnittstelle in einer zukünftigen Version + } sehr stark ändern, weshalb es momentan mit Vorsicht zu genießen ist. + Zumindest sollte sich der Anwender bewusst sein, dass er mit dieser Version + gesetzte Dokumente gegebenenfalls später anpassen muss. + } +\end{packages} + + + +\subsubsection{Gleitobjekte} +\index{Gleitobjekte|?} +\index{Tabellen}\index{Grafiken} +Es werden Pakete für die Beeinflussung von Aussehen, Beschriftung und +Positionierung von Gleitobjekten vorgestellt. Unter \autoref{sec:tips:floats} +sind außerdem Hinweise zur manuellen Manipulation der Gleitobjektplatzierung zu +finden. + +\begin{packages} +\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. Diese + werden dementsprechend nie vor ihrer Definition am Anfang der Seite + erscheinen. +\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 Befehls + zur Beschriftung \Macro{caption} innerhalb der Gleitobjektumgebung. Wird das + Verhalten so wie empfohlen mit dem \Package{floatrow}-Paket eingestellt, + sollte für eine richtige Platzierung der Tabellenüberschriften außerdem die + \KOMAScript-Option \Option{captions}[tableheading] genutzt werden. +\end{packages} + +\subsubsection{Grafiken und Abbildungen} +\index{Grafiken|?} +Grafiken für wissenschaftliche Arbeiten sollten als Vektorgrafiken erstellt +werden, um die Skalierbarkeit und hohe Druckqualität zu gewährleisten. +Bestenfalls folgen diese auch dem Stil der dazugehörigen Arbeit.% +\footnote{% + Für qualitativ hochwertige Dokumente sollten übernommene Grafiken nicht + direkt kopiert oder gescannt sondern im gewünschten Zielformat neu erstellt + und mit der Referenz auf die Quelle ins Dokument eingebunden werden. +} +Für das Erstellen eigener Vektorgrafiken, welche die \hologo{LaTeX}"=Schriften +und das Layout des Hauptdokumentes nutzen, gibt es zwei mögliche Ansätze. +Entweder man \enquote{programmiert} die Grafiken ähnlich wie 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. +Außerdem wird im Tutorial \Tutorial{treatise} für beide Pakete jeweils ein +Beispiel gegeben. + +\begin{packages} +\item[tikz](pgf) + Dies ist ein sehr mächtiges Paket für das Programmieren von Vektorgrafiken + und sehr häufig~-- insbesondere bei Einsteigern~-- 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 Methoden für den Export von PostSript-Grafiken in + PDF-Datien bereit. Die einzelnen Aufrufe zur Kompilierung von DVI über + PostScript zu PDF müssen durch den Anwender manuell beziehungsweise über + die Ausgaberoutinen des verwendeten Editors durchgeführt werden. + \item[auto-pst-pdf] + Das Paket automatisiert die Erzeugung der \Package{pstricks}"=Grafiken mit + dem Paket \Package{pst-pdf}. Dafür muss \hologo{pdfLaTeX} per Option mit + Schreibrechten ausgeführt werden. Dazu ist der Aufruf von \Path{pdflatex} + mit der Option \Path{-{}-shell-escape} beziehungsweise für Nutzer von + \hologo{MiKTeX} mit \Path{-{}-enable-write18} notwendig. Bitte beachten Sie + außerdem die Hinweise in \autoref{sec:tips:auto-pst-pdf}. Eine Alternative + dazu ist das Paket \Package{pdftricks2}. + \end{packages} +\end{packages} +% +Um bei der Erstellung von Grafiken mit \Package{pstricks} oder \Package{tikz} +nicht bei jeder Änderung das komplette Dokument kompilieren zu müssen, können +diese in separate Dateien ausgelagert werden. Hierfür sind die beiden Pakete +\Package{standalone} oder \Package{subfiles} sehr nützlich. + +Für das Zeichnen 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 \autoref{sec:tips:svg} wird vorgestellt, wie sich dies +automatisieren lässt. + +\subsubsection{Aufteilung des Hauptdokumentes in Unterdateien} +Um während des Entwurfes eines Dokumentes die Zeitdauer für das Kompilieren zu +verkürzen, kann dieses in Unterdokumente gegliedert werden. Dadurch wird es +möglich, nur den momentan bearbeiteten Dokumentteil~-- respektive die aktuelle +\Package{tikz}- oder \Package{pstricks}-Grafik~-- zu kompilieren. Die meiner +Meinung nach besten Pakete für dieses Unterfangen werden folgend vorgestellt. +% +\begin{packages} +\item[standalone] + \ChangedAt{v2.02!\Class{standalone}: Probleme behoben} + Dieses Paket ist für das Erstellen eigenständiger (Unter)"~Dokumente gedacht, + welche später in ein Hauptdokument eingebunden werden können. Jedes dieser + Teildokumente benötigt eine eigene Präambel. Optional lassen sich die + Präambeln der Unterdokumente automatisch in ein Hauptdokument einbinden. +\item[subfiles] +\ChangedAt{v2.02!\Package{subfiles}: Beschreibung hinzugefügt} + Dieses Paket wählt einen etwas anderen Ansatz als \Package{standalone}. Es + ist von Anfang an dafür gedacht, ein dediziertes Hauptdokument zu verwenden. + Die darin mit \Macro{subfiles} eingebundenen Unterdateien nutzen bei der + autarken Kompilierung dessen Präambel. +\end{packages} +% +Unabhängig davon, ob Sie eines der beiden Pakete nutzen oder alles in einem +Dokument belassen, ist es ratsam, eigens definierte Befehle, Umgebungen und +ähnliches in ein separates Paket auszulagern. Dafür müssen Sie lediglich ein +leeres \hologo{LaTeX}-Dokument erzeugen und es unter \File*{mypreamble.sty} +oder einem anderen Namen im gleichen Ordner wie das Hauptdokument speichern. +Dann können Sie in dieser Datei ihre Deklarationen ausführen und diese mit +\Macro*{usepackage}\PParameter{mypreamble} in das Dokument einbinden. Dies hat +den Vorteil, dass das Hauptdokument zum einen übersichtlich bleibt und Sie zum +anderen Ihre persönliche Präambel generisch wachsen lassen und für andere +Dokumente wiederverwenden können. + +\subsubsection{Die kleinen und großen Helfer\dots} +Hier taucht alles auf, was sich nicht eignete, in die vorherigen Kategorien +eingeordnet zu werden. +% +\begin{packages} +\item[bookmark]\index{Lesezeichen}\index{Querverweise} + Dieses Paket verbessert und erweitert die von \Package{hyperref} angebotenen + Möglichkeiten zur Erstellung von Lesezeichen~-- auch Outline"=Einträge~-- im + PDF-Dokument. Beispielsweise können Schriftfarbe- und "~stil geändert werden. +\item[calc]\index{Berechnungen} + Normalerweise können Berechnungen nur mit Low-Level-\hologo{TeX}-Primitiven + im Dokument durchgeführt werden. Dieses Paket stellt eine einfachere Syntax + für Rechenoperationen der vier Grundrechenarten zur Verfügung. Zusätzlich + werden neue Befehle zur Bestimmung der Höhe und Breite bestimmter Textauszüge + definiert. +\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:tips:counter} zu finden. +\item[varioref]\index{Querverweise} + Mit diesem Paket lassen sich sehr gute Verweise auf bestimmte Seiten + erzeugen. Insbesondere, wenn der Querverweis 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[cleveref]\index{Querverweise} + Dieses Paket vereint die Vorzüge von \Package{varioref} mit der automatischen + Benennung der referenzierten Objekte mit dem Befehl \Macro{autoref} aus dem + Paket \Package{hyperref}. +\item[marginnote]\index{Randnotizen} + 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]\index{Randnotizen} + Mit \Package{todonotes} können noch offene Aufgaben in unterschiedlicher + Formatierung am Blattrand oder im direkt Fließtext ausgegeben werden. Aus + allen Anmerkungen lässt sich eine Liste aller offenen Punkte erzeugen. +\item[xparse]\index{Befehle!Deklaration} + Dieses mächtige Paket entstammt dem \hologo{LaTeX3}-Projekt und bietet für + die Erstellung eigener Befehle und Umgebungen einen alternativen Ansatz zu + den bekannten \hologo{LaTeX}"=Deklarationsbefehlen \Macro*{newcommand} und + \Macro*{newenvironment} sowie deren Derivaten. Mit \Package{xparse} wird es + möglich, obligatorische und optionale Argumente an beliebigen 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[xkeyval]\index{Befehle!Deklaration} + \ChangedAt{v2.02!\Package{xkeyval}: Beschreibung hinzugefügt} + Das \KOMAScript{}"=Bundle lädt das Paket \Package{keyval}, um Optionen mit + einer Schlüssel"=Wert"=Syntax deklarieren zu können. Zusätzlich wird von + \TUDScript das Paket \Package{kvsetkeys} geladen, um auf nicht definierte + Schlüssel reagieren zu können. Die Schlüssel"=Wert"=Syntax kann auch für + eigens definierte Makros genutzt werden, um sich das exzessive Verwenden von + optionalen Argumenten zu ersparen. Damit wäre folgende Definition möglich: + \Macro*{newcommand}\Macro*{Befehl}\OParameter{Schlüssel"=Wert"=Liste}% + \Parameter{Argument}. + + Das Paket \Package{xkeyval} erweitert insbesondere die Möglichkeiten zur + Deklaration unterschiedlicher Typen von Schlüsseln. Sollten die bereits durch + \TUDScript geladenen Pakete \Package{keyval} und \Package{kvsetkeys} in ihrer + Funktionalität nicht ausreichen, kann dieses Paket verwendet werden. Für die + Entwicklung eigener Pakete, deren Optionen das Schlüssel"=Wert"=Format + unterstützen, kann das Paket \Package{scrbase} genutzt werden. Soll aus einem + Grund auf \KOMAScript{} gänzlich verzichtet werden, sind die beiden Pakete + \Package{kvoptions} oder \Package{pgfkeys} eine Alternative. +\item[listings]\index{Quelltexte einbinden}\index{Quelltextverzeichnis}% + Dieses Paket eignet sich hervorragend zur Quelltextdokumentation in + \hologo{LaTeX}. Es bietet die Möglichkeit, externe Quelldateien einzulesen + und darzustellen sowie die Syntax in Abhängigkeit der verwendeten + Programmiersprache hervorzuheben. Zusätzlich lässt sich ein Verzeichnis mit + allen eingebundenen sowie direkt im Dokument angegebenen Quelltextauszügen + erstellen. +% + \ChangedAt{v2.02!\Package{listings}: Beschreibung ergänzt} + Wird \Package{listings} in Dokumenten mit UTF"~8-Kodierung verwendet, sollte + direkt nach dem Laden des Paketes in der Präambel Folgendes hinzugefügt + werden: + \begin{Code} + \lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 + } + \end{Code}\vspace{-\baselineskip}% +\item[mwe]\index{Minimalbeispiel|!} + \ChangedAt{v2.02!\Package{mwe}: Beschreibung hinzugefügt} + Mit diesem Paket lassen sich sehr einfach Minimalbeispiele erzeugen, die + sowohl Blindtexte respektive Abbildungen enthalten sollen. +\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[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 bei der Kompilierung des Dokumentes die Gliederung 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. Zum Debuggen kann es + trotzdem sporadisch eingesetzt werden. +\end{packages} + +\subsubsection{Bugfixes} +% +\begin{packages} +\item[scrhack](koma-script) + 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 Bugfixes für \hologo{LaTeXe}. Da diese eventuell zu + Inkompatibilitäten mit früheren Versionen führen könnten, wurden diese nicht + in den \hologo{LaTeXe}-Kernel eingepflegt. Für neu gesetzte Dokumente kann es + ohne Bedenken verwendet werden. +\item[mparhack] + Zur Behebung falsch gesetzter Randnotizen wird ein Bugfix für + \Macro{marginpar} bereitgestellt. Alternativ dazu kann man auch + \Package{marginnote} verwenden. +\item[etex] + Das Paket kann genutzt werden, falls die maximale Anzahl der normalerweise + verfügbaren \hologo{LaTeX}-Register für Längen, Zähler etc. überschritten + wurde. +\end{packages} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-preface.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-preface.tex new file mode 100644 index 00000000000..fc539e6b2d3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr-preface.tex @@ -0,0 +1,68 @@ +\addchap{\prefacename} +Die 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}\hfill + \url{http://tu-dresden.de/service/publizieren/cd/6_handbuch/index.html}% +} +Diese 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 Dokumentlayout betreffende Auswahlmöglichkeiten. + +Es sei angemerkt, dass die hier beschriebenen Klassen 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. + +Dies ist das Anwenderhandbuch der Klassen und Pakete aus dem \TUDScript-Bundle. +Es werden Hinweise für eine einfache Installation und ein Überblick über die +zusätzlich zu den \KOMAScript"=Klassen nutzbaren Optionen und Befehle gegeben. +Dies bedeutet, dass Grundkenntnisse in der Verwendung von \hologo{LaTeXe} +vorausgesetzt werden. Sollten diese nicht vorhanden sein, wird dem Nutzer +zumindest das Lesen der Kurzbeschreibung von \hologo{LaTeXe} +\hrfn{http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf}{\File{l2kurz.pdf}} +dringend empfohlen. Für den stärker vertieften Einstieg in \hologo{LaTeX} gibt +es eine \hrfn{http://www.fadi-semmo.de/latex/workshop/}{Workshop-Reihe} von +Fadi~Semmo. Außerdem stellt Nicola~L.~C.~Talbot sehr ausführliche Tutorials für +\hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen} und +\hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen} zur freien +Verfügung. Außerdem werden in \autoref{part:additional} dieses Handbuchs +Minimalbeispiele sowie etwas ausführlichere Tutorials angeboten. + +Des Weiteren sollte \emph{jeder} Anwender das \hologo{LaTeXe}"=Sündenregister +\hrfn{http://mirrors.ctan.org/info/l2tabu/german/l2tabu.pdf}{\File{l2tabu.pdf}} +kennen, um typische Fehler zu vermeiden. Antworten auf häufig gestellte Fragen +liefert \hrfn{http://projekte.dante.de/DanteFAQ/WebHome}{DANTE"~FAQ}. Falls der +Nutzer unerfahren bei der Verwendung von \KOMAScript{} sein sollte, so ist ein +Blick in das dazugehörige Handbuch \scrguide sehr zu empfehlen, wenn nicht +sogar unumgänglich. + +Der aktuelle Stand der Klassen und Pakete aus dem \TUDScript-Bundle in der +Version~\vTUDScript{} 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 genauso wie Inkompatibilitäten mit +anderen Paketen im Forum unter +\begin{quoting} +\Forum*% +\end{quoting} +gemeldet werden. Für eine schnelle und erfolgreiche Fehlersuche sollte bitte +ein \hrfn{http://www.komascript.de/minimalbeispiel}{\textbf{Minimalbeispiel}} +bereitgestellt werden. Auf Anfragen ohne dieses werde ich gegebenenfalls +verspätet oder gar nicht reagieren. Ebenso sind im genannten Forum 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. + +\makeatletter +\medskip +\noindent Falk Hanisch\newline +Dresden, \@date +\makeatother 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..0fea5fe02df --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr.tex @@ -0,0 +1,118 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrman} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage[open,openlevel=0]{bookmark}[2011/12/02] + +\begin{document} +\faculty{http://tu-dresden.de/cd} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\Email{\tudscrmail}}} +\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{} \vKOMAScript} +\title{% + Ein \NoCaseChange{\hologo{LaTeXe}}-Bundle für Dokumente im~neuen \CD der \TnUD +} +\addtokomafont{subtitle}{\univbn} +\ifdef{\tudprintflag}{% + \subtitle{Benutzerhandbuch\thanks{\href{tudscr}{Online-Version}}}% +}{% + \subtitle{Benutzerhandbuch\thanks{\href{tudscr_print}{Druckversion}}}% +} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Benutzerhandbuch für \TUDScript},% + pdfkeywords = {LaTeX, \TUDScript, Benutzerhandbuch},% + }% +\endgroup% +\makeatother +\maketitle + +\include{tudscr-preface} + +\makeatletter +\renewcommand*\@pnumwidth{1.7em} +\makeatother +\tableofcontents + +\include{tudscr-introduction} + +\setpartpreamble{% + \begin{abstract} + \hypersetup{linkcolor=red} + \noindent Dies ist der Hauptteil des \TUDScript-Bundles. Hier findet der + Anwender alle verfügbaren Optionen, Umgebungen und Befehle, die über + die Funktionalität von \KOMAScript{} hinausgehen. + \end{abstract} + \ChangedAt*{% + v2.00!Generalüberholung und komplette Neuimplementierung von \TUDScript,% + v2.00!Schriften~-- insbesondere für den mathematischen Satz~-- verbessert,% + v2.00!Robustheit vieler Befehle und Optionen erhöht,% + v2.01!Unterschneidung (Kerning) der Ziffern für \Univers verbessert,% + v2.01b!Bugfix für falsche Berechnungen verschiedener Längen,% + v2.02!Befehle zur besseren Kompatibilität mit anderen Paketen umbenannt{,} + siehe dazu \manualhyperref{v2.02:Umbenennungen}{\enquote{Umbenennungen}} + in der Änderungsliste zur Version~v2.02,% + }% +}% +\part{Das \TUDScript-Bundle} +\label{part:main} + +\include{tudscr-mainclasses} + +\include{tudscr-bundle} + +\setpartpreamble{% + \begin{abstract} + \hypersetup{linkcolor=red} + \noindent Für die Verwendung des \TUDScript-Bundles ist es nicht notwendig, + diesen Teil zu lesen. In \autoref{sec:exmpl} sind insbesondere für + \hologo{LaTeX}"=Neulinge sowie neue Anwender des \TUDScript-Bundles + mehrere einfache Beispiele sowie umfangreichere Tutorials für dessen + Verwendung zu sehen. In \autoref{sec:packages} werden Einsteigern~-- und + auch dem bereits versierten \hologo{LaTeX}-Nutzer~-- meiner Meinung nach + empfehlenswerte Pakete kurz vorgestellt. + + Anwendungshinweise sowie der eine oder andere allgemeine Hinweis bei der + Verwendung von \hologo{LaTeXe} wird in \autoref{sec:tips} gegeben. Dabei + sind diese durchaus für die Verwendung sowohl des \TUDScript-Bundles als + auch anderer \hologo{LaTeX}-Klassen interessant. Für Anregungen, Hinweise, + Ratschläge oder Empfehlungen zu weiteren Pakete sowie Tipps bin ich + jederzeit empfänglich. + \end{abstract} +} +\part{Ergänzungen und Hinweise} +\label{part:additional} + +\include{tudscr-examples} + +\include{tudscr-packages} + +\include{tudscr-hints} + +\part{Anhang} +\appendix + +\include{tudscr-installation} + +\include{tudscr-obsolete} + +\include{tudscr-index} + +\ListOfToDo +\ToDo[rls]{Layout und Umbrüche kontrollieren, insbesondere im Index} +\ToDo[rls]{Datum in tudscr-version.dtx, Handbuch und README aktualisieren} +\end{document} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathswap.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathswap.tex new file mode 100644 index 00000000000..7bc67f9e42a --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathswap.tex @@ -0,0 +1,147 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathswap} + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\title{Änderung der Trennzeichen im Mathematikmodus} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% + }% +\endgroup% +\markright{\@title} +\makeatother +\StartTutorial +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{mathswap} geladen, welches die Änderung der +Gruppierungs- und Dezimaltrennzeichen von Zahlen im Mathematikmodus ermöglicht. +% +\begin{Preamble} +\usepackage{mathswap} +\end{Preamble} +% +Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und +beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese +importierten Daten nicht dem Zahlenformat entsprechen, welches für die +verwendete Dokumentsprache normalerweise notwendig wäre. Um sich die manuelle +Konvertierung der Daten zu ersparen, kann alternativ dazu die Möglichkeit +genutzt werden, dies mit Hilfe von \hologo{LaTeXe} selbst zu erledigen. In +diesem Tutorial wird hierfür das Paket \Package*{mathswap} genutzt. Alternativ +dazu kann auch das Paket \Package{ionumbers} verwendet werden. + +Ohne die Verwendung eines speziellen Paketes zur Zahlenformatierung wird eine +Zahl im mathematischen Modus durch \hologo{LaTeXe} normalerweise so +ausgegeben: +% +\CodePreamble{% + Ausgabe mit deutscher Zifferngruppierung ohne \Package*{mathswap}% +} +\begin{Trunk*} +\mathswapoff +\(4.523,58\) +\mathswapon + +\end{Trunk*} +% +Da in der Präambel dieses Dokumentes das Paket \Package*{mathswap} bereits +geladen wurde, musste mit \Macro*{mathswapoff} auf das Standardverhalten von +\hologo{LaTeXe} geschaltet werden. Der Befehl \Macro*{mathswapon} aktiviert +wiederum die Funktionalität von \Package*{mathswap}. + +Für diese Tutorial wird angenommen, dass die wissenschaftlichen Abhandlung in +deutscher Sprache verfasst wird. Ist nun eine Zahl im deutschen Zahlenformat +gegeben, kann diese einfach im Mathematikmodus angegeben werden. Diese wird +den hierzulande existierenden Konventionen entsprechend gruppiert ausgegeben: +% +\CodePreamble{% + Ausgabe mit deutscher Zifferngruppierung und Sprache \PValue{ngerman}% +} +\begin{Trunk*} +\(4.523,58\) + +\end{Trunk*} +% +Sollte die gleiche Zahl in englischer Formatierung gegeben sein, funktioniert +dies nicht mehr: +% +\CodePreamble{% + Ausgabe mit englischer Zifferngruppierung und Sprache \PValue{ngerman}% +} +\begin{Trunk*} +\(4,523.58\) + +\end{Trunk*} +% +Mit der Verwendung der beiden Befehle \Macro*{commaswap}\PParameter{\bsc,} +sowie \Macro*{dotswap}\PParameter{,} können die Substitutionen für Komma und +Punkt im Mathematikmodus geändert: +% +\CodePreamble{% + Ausgabe mit englischer Zifferngruppierung und geänderten Trennzeichen% +} +\begin{Trunk*} +\begingroup + \commaswap{\,} + \dotswap{,} + \(4,523.58\) +\endgroup + +\end{Trunk*} +% +Die Verwendung von \Macro{begingroup} und \Macro{endgroup} führt hierbei +dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser +Gruppe erfolgt. + +Wird das Paket \Package*{mathswap} zusammen mit einer \TUDScript-Klasse +verwendet, werden die Dezimaltrennzeichen im Mathematikmodus sprachabhängig +definiert. Wird die Dokumentsprache auf \PValue{english} gesetzt, so werden die +Dezimaltrennzeichen standardmäßig für die englischsprachige Zifferngruppierung +definiert. In diesem Fall müssen Zahlen, welche im deutschsprachigen Format +gruppiert sind, angepasst werden: +% +\CodePreamble{ + Ausgabe bei \PValue{english} als gewählter Sprache% +} +\begin{Trunk*} +\begingroup% + \selectlanguage{english}% + \(4,523.58\)\par + \(4.523,58\)\par + \commaswap{.} + \dotswap{\,} + \(4.523,58\)% +\endgroup +\end{Trunk*} +% +\FinishTutorial +\end{document} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathtype.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathtype.tex new file mode 100644 index 00000000000..5ff00d2fa72 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/mathtype.tex @@ -0,0 +1,184 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathtools} + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\title{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% + }% +\endgroup% +\markright{\@title} +\makeatother +\StartTutorial +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{amsmath} geladen, welches unter anderem die +in diesem Tutorial verwendeten Mathematikumgebungen \Environment{equation}, +\Environment{gathered} und \Environment{aligned} zur Verfügung stellt. +% +\begin{Preamble} +\usepackage{amsmath} +\end{Preamble} +% +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn +mikrotypographisch alles richtig gemacht werden soll, gibt es einiges zu +beachten. Generell gilt, dass Variablen kursiv, Bezeichnungen und Konstanten +aufrecht gesetzt werden. Um beschreibende Indizes bei Formelzeichen richtig zu +setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der beiden Befehle +\Macro{mathrm}\PParameter{\dots} und \Macro{mathit}\PParameter{\dots} wohl oder +übel notwendig. Somit wird aus: +% +\begin{Trunk*} +\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{Trunk*} +% +mit ziemlich viel Anpassungsarbeit: +% +\begin{Trunk*} +\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{Trunk*} +% +Wie man sieht, ist dabei eine ganze Menge Handarbeit vonnöten. Allerdings lässt +sich das relativ gut vereinfachen lassen. Zu diesem Zwecke wird ein Befehl +\Macro{ind}\PParameter{\dots} für das Setzen von Indizes bei Formelzeichen +definiert. Danach kann man sich~-- wenn man das für nötig und sinnvoll +erachtet~-- noch zusätzliche Befehle für häufig verwendete Ausdrücke schnitzen. +Als Beispiel wird das schon eben genutzte Drehmoment \ensuremath{M} verwendet. +Hierfür könnte man Folgendes definieren: +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\end{Trunk*} +% +und damit diese Ausgabe erzeugen: +% +\begin{Trunk*} +\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{Trunk*} +% +Netter Nebeneffekt ist, dass man den Befehl aufgrund der Verwendung von +\Macro{ensuremath}\PParameter{\dots} nun 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 natürlichen Schreibweise zu entsprechen. Es wird der Befehl +\Macro{M} so definiert, das dieser entweder mit \Macro{M}\Parameter{Index} +oder in der Variante \Macro{M}\Parameter{Index}\OParameter{Indexindex} +genutzt +werden kann. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\makeatletter +\renewcommand*{\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{Trunk*} +% +Somit vereinfacht sich das zu Beginn vorgestellte Beispiel recht deutlich: +% +\begin{Trunk*} +\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{Trunk*} +% +Das Definieren von \Macro{M}\Parameter{Index}\OParameter{Indexindex} mit +angehängtem optionalen Argument ist ehrlich gesagt nur ein wenig Spielerei und +soll zeigen, wie dies prinzipiell mit \hologo{LaTeXe}"=Mitteln funktioniert. +Das Paket \Package{xparse} könnte alternativ zum hier vorgestellten Vorgehen +für die Befehlsdeklaration des optionalen \textbf{nach} dem obligatorischen +Argument genutzt werden. Damit würde die Befehlsdeklaration für \Macro{M} +folgendermaßen lauten: +\begin{Hint} +\NewDocumentCommand \M { m o } {% + \ensuremath{% + M\ind{% + #1 + \IfNoValueTF{#2}{}{_{#2}} + }% + }% +} +\end{Hint} +% +\FinishTutorial +\end{document} diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex new file mode 100644 index 00000000000..9d73bee604b --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex @@ -0,0 +1,2878 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[% + english,ngerman,% + geometry=no,DIV=12,automark,% +]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{lmodern} + +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\lstset{escapechar=§} +\TUDoptions{cdfont=false} +\KOMAoptions{headings=normal} + +\usepackage{tudscrsupervisor} +\usepackage{array} +\usepackage{tabu} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{booktabs} +\usepackage{siunitx} +\sisetup{% + locale = DE,% + input-decimal-markers={,},% + input-ignore={.},% + group-separator={\,},% + group-minimum-digits=3% +} +\usepackage{xfrac} +\AfterPackage*{hyperref}{% + \usepackage[% + automake,% + xindy={language=german-din},% + acronym,% + symbols,% + nomain,% + translate=babel,% + nogroupskip,% + ]{glossaries} + \setStyleFile{\jobname-temp} + \renewcommand*{\glsglossarymark}[1]{} + \newignoredglossary{abbreviation} + \newcommand*\newabbreviation[4][]{% + \newacronym[type=abbreviation,#1]{#2}{#3}{#4}% + }% + \makeglossaries +} +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} +\addbibresource{\jobname.bib} +\DefineBibliographyStrings{ngerman}{urlseen = {Am:}} + +\usepackage{enumitem} + +\usepackage{caption} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\usepackage{floatrow} +\renewcommand{\floatpagefraction}{0.7} + +\ifpdf + \usepackage{tikz} + \usetikzlibrary{chains} + \usetikzlibrary{decorations.markings} + \tikzset{on grid} +\fi + +\usepackage{pstricks,pst-node} + +\makeatletter +\newcommand*\pcolumnfuzz[1]{\pretocmd{\@endpbox}{\hfuzz=#1}{}{}} +\makeatother + +\usepackage[open,openlevel=0]{bookmark}[2011/12/02] + + +\ActivateWarningFilters[Tutorial]% +\begin{filecontents}{\jobname.bib} +@book{talbot2012, + author = {Nicola L. C. Talbot}, + title = {{\LaTeX} for Complete Novices}, + publisher = {Dickimaw Books}, + series = {Dickimaw {\LaTeX} Series}, + volume = {1}, + isbn = {978-1-909440-00-5}, + address = {Norfolk, UK}, + year = {2012}, + url = {http://www.dickimaw-books.com/latex/novices/}, + urldate = {2014-12-01}, +} +@book{talbot2013, + author = {Nicola L. C. Talbot}, + title = {Using {\LaTeX} to Write a PhD Thesis}, + publisher = {Dickimaw Books}, + series = {Dickimaw {\LaTeX} Series}, + volume = {2}, + isbn = {978-1-909440-02-9}, + address = {Norfolk, UK}, + year = {2013}, + url = {http://www.dickimaw-books.com/latex/thesis/}, + urldate = {2014-12-01}, +} +@online{reichert2012, + author = {Reichert, Axel and Voß, Herbert}, + title = {\LaTeX~-- Satz von Tabellen}, + organization = {Freie Universität Berlin}, + date = {2012-01-12}, + url = {http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}, + urldate = {2014-12-01} +} +@article{neubauer1996, + author = {Marion Neubauer}, + title = {Feinheiten bei wissenschaftlichen Publikationen~-- + Mikrotypographie"=Regeln, Teil~I}, + journaltitle = {Die \TeX{}nische Komödie}, + year = {1997}, + month = {2}, + volume = {4/96}, + pages = {23-40}, + url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf}, + urldate = {2014-12-01}, +} +@article{neubauer1997, + author = {Marion Neubauer}, + title = {Feinheiten bei wissenschaftlichen Publikationen~-- + Mikrotypographie"=Regeln, Teil~II}, + journaltitle = {Die \TeX{}nische Komödie}, + year = {1997}, + month = {5}, + volume = {1/97}, + pages = {25--44}, + url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf}, + urldate = {2014-12-01}, +} +@online{struckmann2007, + author = {Struckmann, Werner}, + title = {Einige typographische Grundregeln und ihre Umsetzung in \LaTeX}, + date = {2007-09-03}, + url = {http://www2.informatik.hu-berlin.de/sv/lehre/typographie.pdf}, + urldate = {2014-12-01} +} +@online{bier2009, + author = {Bier, Christoph}, + title = {typokurz~-- Einige wichtige typografische Regeln}, + date = {2009-05-21}, + url = {http://zvisionwelt.wordpress.com/downloads/#typokurz}, + urldate = {2014-12-01} +} +\end{filecontents} +\DeactivateWarningFilters[Tutorial]% + + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\title{% + Ein Anwenderleitfaden für das Erstellen einer wissenschaftlichen Abhandlung% +} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Tutorial für \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Anwenderleitfaden},% + }% +\endgroup% +\makeatother +\StartTutorial[% + \begin{abstract}\noindent + Der Versuch, ein allumfassendes Tutorial für eine wissenschaftliche Arbeit + zur Verfügung zu stellen gleicht der beschwerlichen Suche nach einer + eierlegenden Wollmilchsau. Es ist quasi nicht möglich, alle potentiellen + Anforderungen an eine wissenschaftliche Arbeit in einem Dokument abzudecken, + insbesondere weil es für diese fast von jedem Lehrstuhl mehr oder weniger + unterschiedliche Vorgaben zu Formatierung und Layout gibt. Dennoch soll hier + versucht werden, einen Großteil der für gewöhnlich auftretenden Erfordernisse + zu bearbeiten. + + Dieses Tutorial hat \emph{nicht} die Intention, \hologo{LaTeX}-Einsteigern + sämtliche Grundlagen zu erläutern. Vielmehr wird davon ausgegangen, dass Sie + bereits erste Erfahrungen mit \hologo{LaTeXe} gesammelt haben. Dennoch wird + versucht, alle Schritte möglichst leicht nachvollziehbar zu gestalten. Sollte + Ihnen beim Lesen und Durcharbeiten des Tutorials etwas auf- oder missfallen, + so dürfen Sie mich gerne per E-Mail kontaktieren. Auch Anregungen und Wünsche + dürfen sie mir gegenüber gerne kommunizieren. + + Für absolute Neueinsteiger gibt es einige freie Tutorials, welche die ersten + Schritte mit \hologo{LaTeXe} stark erleichtern. Sehr empfehlenswert ist die + ausführliche \hrfn{http://www.fadi-semmo.de/latex/workshop/}{Workshop-Reihe} + von Fadi~Semmo. Außerdem stellt Nicola~L.~C.~Talbot sehr gute Tutorials für + \hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen} + \cite{talbot2012} sowie + \hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen} + \cite{talbot2013} zur freien Verfügung. + + In erster Linie ist dieser Leitfaden für Anwender gedacht, die für ihre + wissenschaftliche Arbeit eine \TUDScript"=Dokumentklasse verwenden wollen. + Das vorgestellte Vorgehen kann jedoch~-- natürlich mit gewissen Abstrichen~-- + auch mit anderen Klassen, insbesondere denen aus dem \KOMAScript"=Bundle, + umgesetzt werden. Viele der hier verwendeten Optionen und Befehle aus dem + \TUDScript-Bundle werden nur sporadisch in ihrer Grundfunktion erläutert. + Eine detaillierte Erläuterung lässt sich jedoch jederzeit sehr einfach über + die türkisfarbigen Hyperlinks im \manualhyperref{}{\TUDScript-Handbuch} + öffnen. Des Weiteren wird in auf eine Vielzahl von Paketen verwiesen, deren + Dokumentation sich entweder über den magentafarbigen Hyperlink auf das + \href{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} oder + alternativ über die Kommandozeile respektive das Terminal mit dem Aufruf + \PValue{texdoc }\PName{Paket} direkt lokal öffnen lässt. + + Der Anwenderleitfaden muss nicht zwingend vollständig nachvollzogen werden. + Dieser ist in einzelne Abschnitte untergliedert, damit Sie sich bestimmte + Aspekte erarbeiten können. Sollten Querbezüge zu den einzelnen Abschnitten + bestehen, werden diese auch genannt. Zu guter Letzt findet sich am Ende + dieses Dokumentes das komplette Tutorial als ausführbarer Quelltext. + \end{abstract} +] +\tableofcontents +\listoffigures +\listoftables + + + +\section{Einleitung} +\label{sec:introduction} +Zu Beginn werden einige Pakete geladen, die quasi in jedem neu erstellten +Dokument verwendet werden sollten. Alle weiteren in diesem Tutorial genutzten +und/oder empfohlenen Pakete werden in den relevanten Abschnitten des Tutorials +genauer erläutert. + +Den Anfang macht das Paket \Package{hyphsubst}. Dieses wird für eine wesentlich +verbesserte Worttrennung für die deutsche Sprache benötigt und muss bereits +\emph{vor} der Klasse geladen werden, damit es problemlos funktioniert. In +\autoref{sec:hyphenation} können Sie außerdem weitere Informationen zum Thema +\emph{Worttrennung} finden. +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\end{Preamble} +% +Beim Laden der Klasse mit \Macro{documentclass} können Sie globale Optionen +angeben. Diese werden sowohl an die Klasse selbst weitergereicht als auch allen +in der Präambel geladenen Pakete zur Verfügung gestellt. Falls das Paket +\Package{babel} für die Sprachauswahl im Dokument verwendet wird, sollten auf +alle Fälle die verwendeten Sprachen als Klassenoption angegeben werden, wobei +die zuletzt angegebene als aktuelle Sprache aktiviert wird. Dadurch werden +diese nicht nur an das Paket \Package{babel} sondern auch an andere Pakete +übergeben, welche sprachspezifische Einstellungen vornehmen. +% +\begin{Preamble} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage{babel} +\end{Preamble} +% +Bei der Verwendung von \hologo{LaTeXe} sollte zum einen die Eingabekodierung +des erstellten Datei spezifiziert werden. Das Paket \Package{selinput} erkennt +automatisch, welche Kodierung der genutzte Editor verwendet. Zum anderen werden +die Schriften in der Ausgabe ebenfalls kodiert. Mit dem Paket \Package{fontenc} +lässt sich die verwendete Schriftkodierung für das Dokument spezifizieren, +wobei im Normalfall die europäischen Zeichen mit der Option~\Option{T1} +aktiviert werden sollten. +% +\begin{Preamble} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\end{Preamble} +% +Das Paket \Package{fixltx2e} behebt einige Fehler im \hologo{LaTeXe}-Kernel. +In neuen Dokumenten kann es bedenkenlos geladen werden. +% +\begin{Preamble} +\usepackage{fixltx2e} +\end{Preamble} +% +Für die \KOMAScript-Klassen wird außerdem das Paket \Package{scrhack} +bereitgestellt. Dieses behebt einige Probleme bei der Kompatibilität mit +anderen Paketen bezüglich des Erstellens von Verzeichnissen. Deshalb sollte +dieses frühzeitig in der Präambel geladen werden. +% +\begin{Preamble} +\usepackage{scrhack} +\end{Preamble} +% +Damit sind die allgemein notwendigen Pakete eingebunden. Es werden zwar weitere +benötigt, diese werden allerdings in den einzelnen Abschnitten dieses Tutorials +aufgeführt. + + + +\section{Makrotypographie} +\subsection{Satzspiegel} +Gleich zu Beginn und bevor das eigentliche Verfassen der Arbeit beginnt, sollte +sich der Verfasser Gedanken über das zu nutzenden Layout und den Satzspiegel +machen, um bei der Finalisierung des Dokumentes keine böse Überraschung bei +Seitenumbrüchen oder der Position von Gleitobjekten zu erleben. + +Zuallererst gilt zu entscheiden, ob das Dokument einseitig oder beidseitig +gesetzt werden soll. Ist Letzteres der Fall, so sollte \Option{twoside} als +Klassenoption angegeben werden. Im nächsten Schritt ist der zu verwendenden +Satzspiegel festzulegen. Hierfür kann die Option \Option*{geometry} verwendet +werden, welche im \TUDScript-Handbuch beschrieben wird. Normalerweise wird das +Dokument im asymmetrischen Layout des \CDs gesetzt. + +Dieses Verhalten kann mit \Option*{geometry}[false] deaktiviert werden und der +Satzspiegel wird durch das Paket \Package{typearea} nach typographischen +Gesichtspunkten konstruiert. Dabei ist die \KOMAScript"=Option \Option{DIV} +maßgeblich für die Aufteilung des Satzspiegels verantwortlich. Des Weiteren +spielt die \KOMAScript"=Option \Option{BCOR} für die Bindekorrektur eine Rolle. +Diese wird in \autoref{sec:bcor} erläutert. + +\subsection{Änderung des Zeilenabstandes (Durchschuss)} +Auf die Änderung des standardmäßigen Zeilenabstandes sollte aus typographischer +Sicht bei der Verwendung einer Standardschrift im Normalfall verzichtet werden. +Die Gründe hierfür werden im Handbuch von \TUDScript bei der Vorstellung des +Paketes \Package*{setspace} erläutert, welches im Zweifelsfall für dieses +Anliegen den Befehl \Macro{setstretch} bereitstellt. Wird ein Dokument in der +\Univers-Hausschrift der \TnUD gesetzt, sollte der Wert von \Macro{setstretch} +im Bereich 1.05--1.1 liegen. + +\subsection{Bindekorrektur} +\label{sec:bcor} +Falls die Arbeit nach der Fertigstellung gebunden werden soll, so ist auf den +notwendigen Binderand zu achten, quasi der Teil einer Seite, welcher durch die +Bindung \enquote{verschwindet} und nicht mehr als sichtbarer Teil der Seite +vorhanden ist. Als Faustregel gilt, dass die erforderliche Bindekorrektur in +etwa der halben Höhe des Buchblocks entsprechen sollte. Dessen Höhe wiederum +ist abhängig von der Anzahl der Seiten sowie der Papierdichte. + +Wird qualitativ höherwertiges Papier mit einer Dichte von \SI{100}{g/m^2} +verwendet, so entsprechen 100~Blatt einer Buchblockhöhe von zirka~\SI{12}{mm}. +Dementsprechend wäre in diesem Beispiel eine Bindekorrektur von~\SI{6}{mm} +notwendig, welche sich mit der Klassenoption \Option*{BCOR}[6mm] einstellen +ließe. Sollte die erwartete Seitenzahl davon abweichen, kann die einzustellende +Bindekorrektur linear skaliert werden. Für differierende Papierdichten sollte +die Buchblockhöhe für die geschätzte Gesamtseitenanzahl in Erfahrung gebracht +werden. + + + + + + +\section{Umschlagseite und Titel} +Die Umschlagseite und der Titel sind sich in ihrer Gestalt sehr ähnlich. +Allerdings gibt es ein paar kleine Unterschiede. Einerseits werden auf dem +Cover weniger Informationen als auf der Titelseite ausgegeben. Andererseits +wird der Titel immer im Satzspiegel des restlichen Dokumentes ausgegeben, +wohingegen die Umschlagseite~-- ohne weitere Optionen~-- im asymmetrischen +Layout des \CDs der \TnUD erscheint. Wie dieses Verhalten geändert werden kann, +ist im Handbuch für \Macro*{makecover} erläutert. Die resultierende Ausgabe des +nachfolgenden Quelltextauszugs ist in \autoref{fig:title} zu sehen und stellt +eine mögliche Ausprägung von Umschlagseite und Titel dar. +% +\begin{figure} +\IncludeStandalone{Title}[1,2] +\caption{Umschlagseite und Titel} +\label{fig:title} +\end{figure} + +\begin{Trunk!}{Title} +\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} +\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse + \matriculationnumber{12345678} + \dateofbirth{2.1.1990} + \placeofbirth{Dresden} + \course{Klinische Prognostik} + \discipline{Individualprognose} +\and% + Donald Duck + \matriculationnumber{87654321} + \dateofbirth{1.2.1990} + \placeofbirth{Berlin} + \course{Statistische Prognostik} + \discipline{Makrosoziologische Prognosen} +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\date{10.09.2014} + +\makecover +\maketitle + +\end{Trunk!} + + + +\section{Vor- und Nachspann} +In den folgenden Unterabschnitten werden Elemente vorgestellt, welche häufig +als Bestandteil einer wissenschaftlichen (Abschluss"~)Arbeit gefordert werden, +wobei meistens nur eine Teilmenge verlangt wird. Die Platzierung oder Position +der vorgestellten Elemente innerhalb der Arbeit ist nicht eindeutig durch eine +Norm oder dergleichen festgelegt. Vielmehr gibt es meist eine Richtlinie vom +verantwortlichen Prüfungsamt oder eine konkrete Vorgabe des wissenschaftlichen +Mitarbeiters respektive betreuenden Hochschullehrers. + +Verwenden Sie für ihre Arbeit eine Buchklasse, so können die entsprechenden +Abschnitte mit \Macro{frontmatter} (Vorspann), \Macro{mainmatter} (Hauptteil) +und \Macro{backmatter} (Nachspann) gekennzeichnet werden. Einen Anhang starten +Sie mit \Macro{appendix}, womit unter anderem die Kapitelnummerierung auf +Großbuchstaben umgeschaltet wird (siehe \scrguide*). + + +\subsection{Aufgabenstellung} +\label{sec:task} +Das Erstellen der Aufgabenstellung einer Abschlussarbeit im \CD der \TnUD muss +das Paket \Package*{tudscrsupervisor} geladen werden. +% +\begin{Preamble} +\usepackage{tudscrsupervisor} + +\end{Preamble} +% +Dieses Paket stellt die Umgebung \Environment*{task} sowie den Befehl +\Macro*{taskform} bereit. Bei beiden Varianten wird zu Beginn eine Tabelle mit +Informationen zum Autor erzeugt. Am Ende werden der oder die Betreuer der +Arbeit sowie Professor und gegebenenfalls der Prüfungsausschussvorsitzende +ausgegeben. Mit der \Environment*{task}-Umgebung kann zwischen dem Kopf und dem +Fuß ein beliebiger Inhalt gesetzt werden. Der Befehl \Macro*{taskform} hingegen +erzeugt eine standardisierte Ausgabe, wobei das zweite obligatorische Argument +in der \Environment{itemize}-Umgebung verwendet wird und somit \Macro{item} zu +nutzen ist. Das Resultat des folgenden Quelltextes ist in \autoref{fig:task} zu +sehen. +% +\begin{figure} +\IncludeStandalone{Task}[1,2] +\caption{Aufgabenstellung in freier und standardisierter Form} +\label{fig:task} +\end{figure} + +\begin{Hint!}{Task} +\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} +\author{% + Mickey Mouse + \matriculationnumber{12345678} + \course{Klinische Prognostik} + \discipline{Individualprognose} +\and% + Donald Duck + \matriculationnumber{87654321} + \course{Statistische Prognostik} + \discipline{Makrosoziologische Prognosen} +} +\matriculationyear{2010} +\issuedate{1.2.2015} +\duedate{1.8.2015} +\supervisor{Dagobert Duck \and Mac Moneysac} +\chairman{Prof. Dr. Primus von Quack} +\professor{Prof. Dr. Kater Karlo} + +\newcommand\taskcontent{% + 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. +} + +\begin{task} +\smallskip +\par\noindent +\taskcontent +\end{task} + +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\end{Hint!} +\begin{Trunk+} +\newcommand\taskcontent{% + 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. +} +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\end{Trunk+} + + +\subsection{Zusammenfassung} +Häufig wird zu Beginn einer wissenschaftliche Arbeit die Motivation und der +Inhalt dieser zusammengefasst, um den Leser die Thematik der Abhandlung +vorzustellen. in den meisten Fällen wird diese dabei in deutscher und +englischer Sprache verfasst. Hierfür stellt \KOMAScript{} bereits die Umgebung +\Environment*{abstract} bereit. Vielfach wird der Wunsch geäußert, sowohl die +deutsche als auch die englische Zusammenfassung auf derselben Seite zu setzen. +Diese Variante kann mithilfe der \TUDScript-Klassen sehr einfach umgesetzt +werden, wie der nachfolgende Quelltextauszug zeigt. Die resultierende Ausgabe +ist in \autoref{fig:abstr} zu sehen. +% +\begin{figure} +\centering +\IncludeStandalone[width=.5\textwidth]{Abstract} +\caption{Zusammenfassung in deutscher und englischer Sprache} +\label{fig:abstr} +\end{figure} + +\begin{Trunk!}{Abstract} +\TUDoption{abstract}{multiple,section} +\begin{abstract} + Dies ist der deutschsprachige Teil der Zusammenfassung, in dem die + Motivation sowie der Inhalt der nachfolgenden wissenschaftlichen + Abhandlung kurz dargestellt werden. +\nextabstract[english] + This is the english part of the summary, in which the motivation and + the content of the following academic treatise are briefly presented. +\end{abstract} + +\end{Trunk!} + + + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +Für die meisten Abschlussarbeiten an der \TnUD wird vom Verfasser eine +Selbstständigkeitserklärung verlangt. Für diese wird ein Standardtext +bereitgestellt. Dieser kann mit dem Befehl \Macro*{confirmation} ausgegeben +werden. Wurde das Thema in Kooperation mit einem Unternehmen bearbeitet, so +wird zumeist auch ein Sperrvermerk gefordert, welcher mit \Macro*{blocking} +erzeugt werden kann. Mit \Macro*{declaration} werden beide Erklärungen direkt +nacheinander erzeugt. Die verwendete Überschrift und ein möglicher Eintrag in +das Inhaltsverzeichnis können über die Option \Option*{declaration} reguliert +werden. Eine mögliche Ausprägung der Erklärungen ist in \autoref{fig:decl} +abgebildet. +% +\begin{figure} +\centering +\IncludeStandalone[width=.5\textwidth]{Declaration} +\caption{Selbstständigkeitserklärung und Sperrvermerk} +\label{fig:decl} +\end{figure} + +\begin{Hint!}{Declaration} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\author{Mickey Mouse\and Donald Duck} +\declaration[company=FIRMA] +\end{Hint!} +\begin{Trunk+} +\declaration[company=FIRMA] + +\end{Trunk+} + +\subsection{Inhalts-, Abbildungs-, und Tabellenverzeichnis} +Das Inhaltsverzeichnis wird mit dem \hologo{LaTeX}"=Standardbefehl +\Macro{tableofcontents} erzeugt und führt die Gliederung des erstellten +Dokumentes entsprechend der verwendeten Befehle (\Macro{part}, \Macro{addpart}, +\Macro{chapter}, \Macro{addchap}, \Macro{section}, \Macro{addsec} etc.) auf. +Wurde das Paket \Package{hyperref} geladen, so werden im Inhaltsverzeichnis +PDF-Hyperlinks auf die einzelnen Abschnitte erzeugt. + +Sowohl Abbildungen als auch Tabellen werden in \hologo{LaTeX} normalerweise +mit speziellen Umgebungen~-- \Environment{figure} und \Environment{table}~-- +eingebunden. Innerhalb dieser sogenannten Gleitumgebungen kann der Befehl +\Macro{caption}\OParameter{Verzeichniseintrag}\Parameter{Bezeichnung} genutzt +werden, um diesen eine Bezeichnung hinzuzufügen. Mit \Macro{listoffigures} +beziehungsweise \Macro{listoftables} lassen sich Verzeichnisse erstellen, in +denen alle Gleitobjekte des jeweiligen Typs ausgegeben werden, falls diese denn +eine Bezeichnung hinzugefügt wurde. Sollen Abbildungen oder Tabellen außerhalb +ihrer angestammten Gleitumgebung genutzt und benannt werden, kann dies mit dem +Befehl \Macro{captionof}\Parameter{Typ}\OParameter{Verzeichniseintrag} +\Parameter{Bezeichnung} erfolgen. Weitere Informationen diesbezüglich sind der +\KOMAScript"=Anleitung \scrguide zu entnehmen. In \autoref{sec:floats} wird +außerdem genauer auf die Verwendung von Gleitumgebungen eingegangen. +% +\begin{Trunk} +\tableofcontents +\listoffigures +\listoftables + +\end{Trunk} +\begin{Trunk+} +\printacronyms[style=acrotabu] +\printsymbols[style=symblongtabu] + +\setchapterpreamble{% + \renewcommand*\dictumwidth{.4\textwidth}% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} +Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am +Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle +Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung +der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial +\texturn{treatise.pdf} vorgestellt wurden. + +\end{Trunk+} + + +\subsection{Abkürzungs- und Symbolverzeichnis} +\label{sec:glossaries} +Für die Auszeichnung von Abkürzungen gibt es zwei sehr gute Pakete, die dieses +Unterfangen stark vereinfachen. Die einfachere~-- jedoch nicht so mächtige~-- +der beiden Varianten ist die Nutzung des Paketes \Package{acro}. Sollen nur +Abkürzungen und gegebenenfalls eine sortierte Liste dieser gesetzt werden, ist +dieses allerdings absolut ausreichend. Für ein Symbolverzeichnis lässt sich in +dieser Variante das Paket \Package{nomencl} nutzen. Dieses bietet meiner +Meinung nach jedoch keine großen Vorteile, stattdessen kann auch einfach eine +Tabelle händisch erzeugt werden. Das Paket \Package{acro} ist sehr gut und +ausführlich dokumentiert. Deshalb wird hier auf eine exemplarische Erläuterung +verzichtet und stattdessen auf dessen Dokumentationen verwiesen. + +Die andere Möglichkeit ist die Nutzung des Paketes \Package{glossaries}, das +eine große Zahl an Einstellmöglichkeiten und Optionen besitzt, allerdings auch +etwas Zeit für die Einarbeitung und Studium der Dokumentation benötigt. Der +ursprüngliche Einsatzzweck dieses Paketes ist das Setzen eines fachsprachlichen +oder technischen Glossars. Es bietet zusätzlich die Mittel zum Erzeugen eines +Abkürzungs- sowie Symbolverzeichnis. Es soll folgend hier kurz erläutert +werden, wie das Paket zu verwenden ist. Für weiterführende Beispiele sollte +die Dokumentationen zu Rate gezogen werden, welche dahingehend keine Wünsche +offen lässt. + +Das Paket \Package{glossaries} sollte immer \emph{nach} \Package{hyperref} +geladen werden. Entweder Sie achten explizit darauf oder Sie verwenden den +Befehl \Macro{AfterPackage*} aus dem \KOMAScript-Bundle. Mit diesem können Sie +die Ausführung von Quelltext bis zum Laden eines Paketes verzögern. Allerdings +ist darauf zu achten, dass der Quelltext nur ausgeführt wird, wenn auch das +avisierte Zielpaket geladen wird. Die für \Package{glossaries} verwendeten +Optionen werden kurz erläutert. +% +\begin{Preamble+} +\AfterPackage*{hyperref}{% +\end{Preamble+} +\begin{Preamble} +\usepackage[% +\end{Preamble} +% +Das Programm \Application{makeindex} wird im Normalfall durch die genutzte +\hologo{LaTeX}"=Distribution bereitgestellt und für das alphabetische Sortieren +der erstellten Listen verwendet. Mit der Paketoption \Option{automake} erfolgt +der automatische Aufruf von \Application{makeindex} mit den passenden +Einstellungen für alle Verzeichnisse. Alternativ dazu kann die Option +\Option{xindy} aktiviert werden, welche \Application{xindy} anstelle von +\Application{makeindex} für das Sortieren verwendet. Dieses Programm bietet +unter anderem eine Unterstützung von Unicode sowie die Möglichkeit, nach +sprachabhängigen Regeln zu sortieren. Allein für die deutsche Sprache gibt es +beispielsweise zwei verschiedene Varianten~-- nach DIN und nach Duden~-- zum +alphabetischen Sortieren. Ich persönlich würde~-- aufgrund der genannten +Vorteile~-- der Verwendung von \Application{xindy} immer den Vorzug geben. + +Leider wird das Programm \Application{xindy} lediglich mit den Distributionen +\Distribution{\hologo{TeX}~Live} und \Distribution{Mac\hologo{TeX}} jedoch +nicht mit \Distribution{\hologo{MiKTeX}} geliefert. Soll \Application{xindy} +mit der letztgenannten Distribution genutzt werden, muss diese Anwendung +manuell installiert werden. +Für das Erstellen der Glossare mit \Application{xindy} sollte das Perl"=Skript +\Application{makeglossaries} verwendet werden, welches alle notwendigen +Optionen an die Anwendung weiterleitet. Treten Probleme bei der Erzeugung der +einzelnen Glossare auf, sollte die Dokumentation von \Package{glossaries} +weiterhelfen können. + +% +\begin{Preamble} + automake,% +% mit Tex Live einfach verwendbar +% xindy={language=german-din}, +\end{Preamble} +% +Die Optionen \Option{acronym} und \Option{symbols} erzeugen die Glossare +beziehungsweise die Verzeichnisse für Abkürzungen und Symbole. Die Option +\Option{nomain} wird verwendet, weil in diesem Tutorial kein zusätzliches +technisches Glossar erzeugt werden soll. +% +\begin{Preamble} + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar +\end{Preamble} +% +Mit der Option \Option{translate}[babel] werden die Überschriften der Glossare +in der Dokumentsprache gesetzt, mit \Option{nogroupskip} kann der automatische +Abstand zwischen den Einträgen zur Gruppierung innerhalb eines Glossars +entfernt werden. Die Option \Option{toc} fügt die Verzeichnisse dem +Inhaltsverzeichnis hinzu, \Option{section} bestimmt die Gliederungsebene der +Überschrift. +% +\begin{Preamble} + translate=babel,% + nogroupskip,% + toc,% + section=chapter,% +\end{Preamble} +% +Damit sind alle verwendeten Optionen erläutert. Schließlich sorgt der Befehl +\Macro{makeglossaries} für das Erstellen der optionsabhängigen Stildateien für +\Application{makeindex} respektive \Application{xindy} sowie das Erzeugen der +benötigten Hilfsdateien. +% +\begin{Preamble} +]{glossaries} +\makeglossaries + +\end{Preamble} +% +Damit wäre der erste Teil zur Initialisierung überstanden und wir können zum +eigentlichen Problem kommen. Wie erstellt man nun ein Abkürzungs- und/oder +Symbolverzeichnis? + +\subsubsection{Abkürzungsverzeichnis} +Das Paket \Package{glossaries} stellt für die Definition von Abkürzungen einen +speziellen Befehl bereit. Mit\Macro{newacronym}\LParameter\Parameter{Label}% +\Parameter{Abkürzung}\Parameter{Wortgruppe} wird eine Abkürzung definiert und +kann später über \Parameter{Label} genutzt werden. Die möglichen optionalen +Parameter können in der Dokumentation zu \Package{glossaries} nachgeschlagen +werden. Für ein kleines Beispiel werden drei Abkürzungen erstellt\dots +% +\begin{Trunk+} +\section{Die Verwendung von Akronymen und Symbolen} +\end{Trunk+} +\begin{Trunk*} +\newacronym{apsp}{APSP}{All-Pairs Shortest Path} +\newacronym{spsp}{SPSP}{Single-Pair Shortest Path} +\newacronym{sssp}{SSSP}{Single-Source Shortest Path} + +\end{Trunk*} +% +\dots und diese in einer kurzen Textpassage mit \Macro{gls}\Parameter{Label} +verwendet. +% +\begin{Trunk*} +In der Graphentheorie wird häufig die Lösung des Problems des kürzesten +Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häugig auch +mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} +und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} +oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. + +\end{Trunk*} +% +Gut zu sehen ist, dass sich die Ausgabe der Abkürzung bei der ersten Verwendung +mit \Macro{gls} von der zweiten~-- und jeder weiteren~-- unterscheidet. Das +Verhalten lässt sich über verschiedene Stile mit \Macro{setacronymstyle} +anpassen. Die Ausgabe einer Liste aller Abkürzungen erfolgt mit: +% +\begin{Hint} +\printacronyms +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\vspace*{-\baselineskipglue} +\glsdisablehyper +\InputCode +\end{quoting} +% +Dabei werden die Akronyme in einer \Environment{description}"=Umgebung gesetzt, +was absolut ausreichend ist. Mir persönlich ist allerdings die Darstellung in +einer quasi-tabellarischen Form lieber. Dabei soll der Stil mit fettgedruckten +Abkürzungen beibehalten werden. Das \Package{glossaries}"=Paket stellt zwar +auch eine Vielzahl an Stilen in Tabellenform bereit, allerdings nicht in dem +gewünschten. Deshalb wird nachfolgend gezeigt, wie sich ein eigener Stil in +Tabellenform kreieren lässt. + +Es bieten sich die Umgebungen \Environment{tabularx} oder \Environment{tabu} +an, bei denen die Spaltenbreite teilweise automatisch berechnet wird, um sich +manuelle Formatierungsarbeiten zu sparen. Folgend werden beide Varianten +vorgestellt. Falls Sie noch keine Erfahrungen mit dem Tabellensatz in +\hologo{LaTeXe} haben, lohnt sich vorher ein Blick in \autoref{sec:tables}, um +die verwendeten Befehle und Umgebungen zu verstehen. Wie Sie Stile definieren, +die auch Seitenumbrüche in der Tabelle zulassen, können Sie etwas später bei +Symbolverzeichnissen in diesem \autorefname[sec:glossaries] erfahren. + +\minisec{Eigener Stil mit \Environment{tabularx}} +Für das Definieren eines eigenen Glossarstils wird \Macro{newglossarystyle} +verwendet, wobei für den neuen Stils die Umgebung \Environment{theglossary} +umdefiniert wird. Als erstes kommt die Tabellenumgebung \Environment{tabularx} +aus dem gleichnamigen Paket, welches in \autoref{sec:tabularx} vorgestellt +wird, zum Einsatz. + +Es werden in der Tabelle drei Spalten definiert. Die erste und letzte Spalte +sind schlicht linksbündige Standardspalten~(\PValue{l}). In diesen werden die +Abkürzungen selbst sowie die Seitenzahlen eingetragen. Die Verwendung +von~\PValue{@\{\}} führt dazu, dass der normalerweise vor der ersten und nach +der letzten Spalte eingefügte Abstand von \Length{tabcolsep} entfällt. Die +Breite der Spalte vom Typ~\PValue{X} wird automatisch berechnet. + +Aufgrund der Implementierung von \Environment{tabularx} lässt sich diese nicht +als verschachtelte Umgebung verwenden. Allerdings kann man stattdessen die mit +\Macro{tabularx} und \Macro{endtabularx} die Low"~Level"~Variante nutzen. Die +Definition des neuen Stils \PValue{acrotabularx} wird nachfolgend ausgegeben, +die weitergehende Erläuterung schließt sich daran an. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Hint*} +\newglossarystyle{acrotabularx}{% + \renewenvironment{theglossary}{% + \tabularx{\linewidth}{@{}lXl@{}}% + }{% + \endtabularx\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\end{Hint*} +% +Der Rest des Stils ist schnell erläutert. Zunächst wird auf Tabellenköpfe +(\Macro{glossaryheader}) sowie Überschriften und Abstände bei Gruppierungen +(\Macro{glsgroupheading} und \Macro{glsgroupskip}) verzichtet. Der Befehl +\Macro{glossentry} ist verantwortlich für die Formatierung der Einträge +im Abkürzungsverzeichnis. Dieser wird intern durch \Package{glossaries} mit +zwei obligatorischen Argumenten aufgerufen.Das erste enthält das entsprechende +Label, das zweite ein kommaseparierte Liste der Seitenzahlen. Dabei stehen +verschiedene Makros zur Auswahl, um anhand des gegebenen Labels die gewünschten +Informationen zu extrahieren.% +\footnote{% + bspw. mit \Macro{glossentryname} die Bezeichnung oder mit + \Macro{glsentrydesc} die dazugehörige Beschreibung% +} + +Der Befehl \Macro{glossentry} wurde so definiert, dass für jeden Eintrag eine +separate Zeile in der Tabelle erzeugt wird, wo in der ersten Spalte die +Abkürzung selbst, in der zweiten die Langform und in der dritten Spalte +schließlich die Liste der Seiten, auf welchen die jeweilige Abkürzung mit +\Macro{gls}\Parameter{Label} verwendet wurde, ausgegeben wird. Zum Abschluss +die resultierende Ausgabe des Abkürzungsverzeichnisses im neuen Stil. +% +\begin{Hint} +\printacronyms[style=acrotabularx] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\vspace*{-\baselineskipglue} +\InputCode +\end{quoting} +% +Sollte der Platz für die Erläuterungen wie in diesem Beispiel in der mittleren +Spalte mehr als ausreichend sein und kein Zeilenumbruch benötigt werden, kann +auch einfach eine \Environment{tabular}"=Umgebung mit einer \PValue{l}"~Spalte +anstelle von \PValue{X} verwendet werden. + +\minisec{Eigener Stil mit \Environment{tabu}} +Die sehr komfortabel zu nutzende Umgebung \Environment{tabu} wird durch das +Paket \Package{tabu} bereitgestellt. Es wird in \autoref{sec:tabu} vorgestellt, +wobei die dortigen Anmerkungen \emph{unbedingt} zu beachten sind. Ähnlich zu +\Environment{tabularx} bietet auch die \Environment{tabu}-Umgebung einen +\PValue{X}"~Spaltentyp. Allerdings gibt es hier eine Besonderheit. Für +\Environment{tabularx}"=Tabellen muss generell eine feste Tabellenbreite +angegeben werden. Die Breite der \PValue{X}"~Spalten wird anhand der +angegebenen, gewünschten Gesamtbreite und dem bereits für andere Spalten vom +Typ~\PValue{l},~\PValue{r}~und~\PValue{c} benötigten Platz berechnet. + +Für \Environment{tabu}"=Tabellen kann anstelle einer fest vorgegebenen Breite +auch \PValue{spread~0pt} angegeben werden. Dadurch werden \PValue{X}"~Spalten +anfänglich in ihrer natürlichen Breite gesetzt. Sobald jedoch die Gesamtbreite +der Tabelle den zur Verfügung stehenden Platz bis zum Zeilenende überschreiten +würde, werden die \PValue{X}"~Spalten automatisch umbrochen. + +In umbrochenen Spalten gibt es beim Paket \Package{tabu} jedoch ein kleineres +Problem.In diesen setzt \Package{tabu} zu wenig vertikalen Freiraum am unteren +Ende. Um dieses Manko zu beheben, wird am Schluss jeder \PValue{X}"~Spalte mit +\PValue{X<\{\Macro{strut}\}} einfach der Befehl \Macro{strut} angehängt, der +vertikalen Freiraum ober- und unterhalb der aktuellen Grundlinie einfügt. In +\autoref{sec:tables} wird ein Ansatz aufgezeigt, wie man dies automatisiert +über einen neuen Spaltenstil ausmerzen kann. Der Rest des Stils ist identisch +zu \PValue{acrotabularx}. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% + }{% + \end{tabu}\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\end{Preamble*} +\begin{Hint} +\printacronyms[style=acrotabu] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\glsdisablehyper +\vspace*{-\baselineskipglue} +\InputCode +\end{quoting} +% +Welche Variante gewählt wird, ist letztendlich eine Frage, was für spezifische +Anforderungen an die Formatierung des Abkürzungsverzeichnis gestellt werden. +Natürlich ist auch die Definition eines eigenen Stils möglich. Wenn Sie wissen +wollen, wie Sie einen Stil in Tabellenform erstellen können, welcher einen +Seitenumbruch zulässt, sollte Sie den nächsten Abschnitt lesen. + + +\subsubsection{Symbolverzeichnis} +Für das Erzeugen eines Symbolverzeichnisses kann ebenfalls \Package{glossaries} +verwendet werden. Allerdings muss dazu ein wenig mehr Aufwand getrieben werden, +da das Paket hierfür keine dedizierte Schnittstelle bereitstellt. Wurde die +Paketoption \Option{symbols} angegeben wird jedoch zumindest das notwendige +Glossar erstellt. + +Als erstes sollte ein gut nutzbarer Befehl zum Definieren eines neuen Symbols +erstellt werden. In Anlehnung an den Befehl für Abkürzungen wird dieser +\Macro{newsymbol} genannt. Dieser hat ein optionales und vier obligatorische +Argumente, wobei das optionale Argument prinzipiell alle Schlüssel-Wert-Paare +enthalten kann, die durch \Package{glossaries} akzeptiert werden. Welche davon +letztlich auch Auswirkungen haben, hängt allerdings von der Gestaltung des +Stils durch den Anwender ab. Der nachfolgend definierte Befehl hat folgende +Gestalt: +% +\begin{quoting}[leftmargin=\parindent] +\Macro{newsymbol}\LParameter\Parameter{Label}\Parameter{Bezeichnung}% +\Parameter{Symbol}\Parameter{Einheit} +\end{quoting} +% +Mit \PName{Label} erfolgt die eindeutige Kennzeichnung des Symbols. Außerdem +wird dies für die Sortierung verwendet, was unter Umständen etwas problematisch +sein könnte. Eine manuelle Festlegung für den dazugehörigen Schlüssel durch den +Anwender über das optionale Argument mit \PValue{sort=}\PName{Bezeichnung} ist +eventuell sinnvoll. Nach dem \PName{Label} schließt die \PName{Bezeichnung} für +das Formelzeichen an, gefolgt vom \PName{Symbol} sowie der dazugehörige +physikalische \PName{Einheit}. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Preamble*} +\newcommand*{\newsymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + description={},% + name={#3},% + symbol={\ensuremath{#4}},% + user1={\ensuremath{\mathrm{#5}}},% + sort={#2},% + #1% + }% +} + +\end{Preamble*} +% +Da es sich zumeist um mathematische Symbole handelt, wird für das Symbol und +die Einheit mit \Macro{ensuremath} Sorge getragen, dass diese auch im +Textmodus ohne Probleme verwendet werden können. Für das aufrechte Setzen der +Einheit wird für diese außerdem \Macro{mathrm} verwendet. Als Alternative dazu +könnte man auch den Befehl \Macro{si} aus dem Paket \Package{siunitx} benutzen. +Für ein kleines Beispiel werden folgend fünf Formelzeichen definiert. Damit die +Darstellung der mathematischen Brüche auch für den Fließtext gut genutzt werden +kann, wird für diese der Befehl \Macro{sfrac} aus dem Paket \Package{xfrac} +genutzt. +% +\begin{Trunk*} +\newsymbol{l}{Länge}{l}{m} +\newsymbol{m}{Masse}{m}{kg} +\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newsymbol{t}{Zeit}{t}{s} +\newsymbol{f}{Frequenz}{f}{s^{-1}} +\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} + +\end{Trunk*} +% +Die soeben definierten Symbole werden für ein kleines Beispiel mit dem Befehl +\Macro{gls}\Parameter{Label} in einer kurzen Textpassage verwendet. +% +\begin{Hint*} +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] +\end{Hint*} +% +Das Ergebnis ist nur bedingt befriedigend. Sowohl im Fließtext als auch im +Mathematikmodus werden lediglich die Bezeichnungen jedoch nicht die Symbole +selbst verwendet. Damit man die Formelzeichen auch für den mathematischen +Satz sinnvoll nutzen kann, sollte das Erscheinungsbild der Einträge mit +\Macro{defglsentryfmt} angepasst werden. +% +\begin{Preamble*} +\defglsentryfmt[symbols]{% + \ifmmode% + \glssymbol{\glslabel}% + \else% + \glsgenentryfmt~\glsentrysymbol{\glslabel}% + \fi% +} +\end{Preamble*} +% +Diese Definition führt bei der Verwendung von \Macro{gls}\Parameter{Label} +dazu, dass im Mathematikmodus allein das Symbol verwendet wird. Im Fließtext +wird diesem zusätzlich die Bezeichnung vorangestellt. Das nachfolgende Beispiel +macht dies deutlich. +% +\begin{Trunk*} +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] + +\end{Trunk*} +% +Als nächstes kümmern wir uns um die Ausgabe des Symbolverzeichnisses. Momentan +erzeugt der Befehl \Macro{printsymbols} jedenfalls kein sinnvolles Verzeichnis: +% +\begin{Hint} +\printsymbols +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\vspace*{-\baselineskipglue} +\glsdisablehyper +\InputCode +\end{quoting} +% +Für dieses muss erst ein Stil definiert werden, was nachfolgend ähnlich zum +Stil \PValue{acrotabularx} respektive \PValue{acrotabu} geschieht. Allerdings +wird hier eine Variante gezeigt, mit der die Tabelle einen Seitenumbruch +zulässt. + +\minisec{Eigener Stil mit \Environment{tabularx} und \Environment{longtable}} +Soweit mir bekannt ist, lassen sich umbruchfähige Tabellen nicht direkt mit +\Environment{tabularx} setzen. Vielmehr ist das Paket \Package{ltxtable} +notwendig. Dieses wiederum verlangt, dass die zu setzende Tabelle in einer +separaten Datei abgelegt wird. Möchte man diese dennoch im Hauptdokument +belassen, kann man die \Environment{filecontents}"=Umgebung nutzen. + +Leider habe ich keine Möglichkeit gefunden, diesen Prozess ohne wahnsinnig +großen Aufwand für das Erstellen eines Glossars zu portieren. Für umbruchfähige +Tabellen mit automatisch berechneten Spaltenbreiten kommt meines Wissens nach +momentan nur die Umgebung \Environment{longtabu} aus dem Paket \Package{tabu} +infrage. + +\minisec{Eigener Stil mit \Environment{tabu}} +Das Paket \Package{tabu} definiert die \Environment{longtabu}"=Umgebung, die +wiederum auf \Environment{longtable} basiert und nachfolgend verwendet wird. +Damit diese linksbündig gesetzt wird, muss vor dem obligatorischen Argument mit +den Spaltendefinitionen noch das optionale Argument \OParameter{l} angegeben +werden. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{symblongtabu}{% + \renewenvironment{theglossary}{% + \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% + }{% + \end{longtabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\glossentrysymbol{##1}} & + \glsentryuseri{##1} & + \glossentryname{##1} & + ##2\tabularnewline% + }% +} +\end{Preamble*} +% +Innerhalb von \Macro{newglossarystyle} wird \Macro{glossaryheader} für einen +Tabellenkopf definiert, wie er auch für eine \Environment{longtable}"=Umgebung +erscheinen würde. In hier vorgestellten Fall werden Kopf beziehungsweise Fuß +mit \Macro{endhead} respektive \Macro{endfoot} terminiert. Diese werden beim +einem möglichen Seitenumbruch zu Beginn und am Ende auf jeder Seite gesetzt. +% +\begin{Preamble+} +}% Ende von AfterPackage* + +\end{Preamble+} +% +Das Symbolverzeichnis kann sich nun durchaus sehen lassen. +% +\begin{Hint} +\printsymbols[style=symblongtabu] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\newglossarystyle{symbtabu}{% + \setglossarystyle{symblongtabu}% + \renewenvironment{theglossary}{% + \begin{tabu}spread 0pt{ccX<{\strut}l}% + }{% + \bottomrule\end{tabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule% + }% +} +\printsymbols[style=symbtabu] +\end{quoting} + + +\subsection{Literaturverzeichnis} +\label{sec:biblatex} +Für das Erstellen eines Literaturverzeichnisses wurde in der Vergangenheit fast +ausschließlich \hologo{BibTeX} verwendet. Lieder wird auch heute immer noch +darauf verwiesen, obwohl es seit einigen Jahren das Paket \Package{biblatex} +gibt, welches insbesondere für neue Dokumente definitiv den Vorzug erhalten +sollte. Auch die Umstellung älterer \hologo{BibTeX}"=Datenbanken ist mit +wenigen Handgriffen realisierbar. Für \Package{biblatex} existieren eine Menge +unterschiedlicher, vordefinierter Zitierstile, welche sich im Vergleich zu +\hologo{BibTeX} auch wesentlich leichter an die individuellen Bedürfnisse +anpassen lassen. + +Ein weiterer Vorteil ist die Unterstützung von Datenbanken, welche eine +UTF"~8"~Kodierung nutzen, wenn \Application{biber} zur Sortierung der Einträge +verwendet wird. Welcher Stil und welches Backend zur Sortierung genutzt werden +soll, lässt sich durch das optionale Argument beim Laden des Paketes festlegen. +Damit die Zitierstile das optimale Ergebnis erzielen wird das vorherige Laden +von \Package{csquotes} sehr empfohlen. +% +\begin{Preamble} +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} + +\end{Preamble} +% +Die Erstellung einer Literaturdatenbank kann entweder von Hand oder mithilfe +einer externen Anwendung erfolgen. Für die letztgenannte Variante sind die +Programme \Application{Citavi} respektive \Application{JabRef} empfehlenswert. +Auf eine Einführung in diese Anwendungen wird jedoch verzichtet. + +Die \Environment{filecontents}"=Umgebung kann verwendet werden, um innerhalb +eines \hologo{LaTeX}"=Dokumentes externe Dateien direkt beim Kompilieren zu +erstellen. Damit wird nachfolgend für dieses Tutorial eine Literaturdatenbank +\File{\jobname-temp.bib} mit drei Einträgen manuell erzeugt. Die Umgebung +gehört zu den Bordmitteln von \hologo{LaTeXe}. Das Paket \Package{filecontents} +erweitert die Umgebung dahingehend, dass \emph{bereits existierende Dateien} +überschrieben werden. Hier ist folglich Vorsicht geboten. Der große Vorteil ist +jedoch, dass die erweiterte \Environment{filecontents}"=Umgebung~-- im +Gegensatz zur Standardversion~-- die Dateien in der gleichen Eingabekodierung +erzeugt, wie das verwendete Dokument. Diese Funktionalität wird für dieses +Tutorial benötigt, weshalb auf das Laden des Paketes \Package{filecontents} +nicht verzichtet werden kann. +% +\begin{Preamble} +\usepackage{filecontents} +\end{Preamble} +% +Es werden folgend drei Einträge für die Literaturdatenbank definiert. Jeder +Eintrag einer \File{.bib}-Datei beginnt mit \PValue{@}\PName{Eintragstyp}. +Direkt danach ist für jeden Eintrag ein \emph{eindeutiges} \PParameter{Label} +festzulegen. Anschließend können für unterschiedliche Felder die dazugehörige +Werte eingetragen werden. Die verwendbaren Eintragstypen und die für diesen +benötigten und zusätzlich nutzbaren Felder sind in der Dokumentation von +\Package{biblatex} zu finden. +% +\begin{Preamble*} +\begin{filecontents}{\jobname-temp.bib} +@book{goossens94, + author = {Goossens, Michel and Mittelbach, Frank + and Samarin, Alexander}, + title = {The LaTeX Companion}, + date = {1994}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@book{knuth84, + author = {Knuth, Donald E.}, + title = {The \TeX book}, + date = {1984}, + maintitle = {Computers \& Typesetting}, + volume = {A}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@manual{hanisch14, + author = {Hanisch, Falk}, + title = {Ein \LaTeX"=Bundle für Dokumente + im neuen Corporate Design + der Technischen Universität Dresden}, + date = {2014}, + subtitle = {Benutzerhandbuch}, + location = {Dresden}, + language = {german}, +} +\end{filecontents} +\end{Preamble*} +% +Nachdem die Literaturdatenbank erstellt wurde, muss diese auch noch eingebunden +werden. Dies geschieht mit: +% +\begin{Preamble} +\addbibresource{\jobname-temp.bib} + +\end{Preamble} +% +Im einfachsten Fall werden die Einträge mit \Macro{cite}\Parameter{macro} im +Dokument referenziert. Für die Referenzierung werden durch \Package{biblatex} +weitere Befehle angeboten. +% +\begin{refsection}[\jobname-temp.bib] +\begin{Trunk+} +\section{Referenzen und das Literaturverzeichnis} +Das Literaturverzeichnis wir auf Basis der nachfolgend verwendeten +Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden. +\end{Trunk+} +\begin{Trunk*} +In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher +\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch +\cite{hanisch14} zitiert. + +\end{Trunk*} +% +Das Literaturverzeichnis wird mit \Macro{printbibliography} ausgegeben, wobei +nicht alle Einträge der Literaturdatenbank sondern lediglich die tatsächlich +referenzierten verwendet werden. Der Parameter \PValue{heading=bibintoc} führt +zu einem Eintrag in das Inhaltsverzeichnis. +% +\begin{Hint} +\printbibliography[heading=bibintoc] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\makeatletter +\let\markboth\@gobbletwo +\let\markright\@gobble +\makeatother +\vspace*{-\baselineskipglue} +\printbibliography +\end{quoting} +\end{refsection} + + + +\section{Anfangszitat oder Schlauer Spruch} +\renewcommand*\dictumwidth{.4\textwidth}% +\dictum[Johann Wolfgang von Goethe]{Es irrt der Mensch, solang er strebt.}% +\bigskip\noindent +Oftmals möchte der Autor einer wissenschaftlichen Arbeit für das erste oder +auch jedes Kapitel ein Zitat oder ähnliches voranstellen. Dies kann mit dem +Befehl \Macro{dictum}\OParameter{Autor}\Parameter{Text} erfolgen. Damit wird +der im obligatorischen Argument angegeben Ausspruch in einer \Macro{parbox} +ausgegeben. Das optionale Argument kann für die Angabe des Autors verwendet +werden. Soll das Ganze für einen Teil oder ein Kapitel erfolgen, sollte der +Befehl \Macro{dictum} innerhalb von \Macro{setpartpreamble} beziehungsweise +\Macro{setchapterpreamble} verwendet werden. Genaueres hierzu und zu den +Möglichkeiten, die Gestalt des Zitats zu beeinflussen, ist in der Anleitung von +\KOMAScript{} \scrguide zu finden. Es folgt ein Beispiel zur Verwendung. +% +\begin{Hint} +\setchapterpreamble{% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} + +\end{Hint} + + + +\section{Gleitumgebungen für Abbildungen und Tabellen} +\label{sec:floats} +Die Positionierung von Abbildungen mit \hologo{LaTeX} kann zu Beginn für viele +Anfänger durchaus frustrierend sein. Das liegt häufig am Missverständnis der +beiden Standard"=Gleitobjektumgebungen für Tabellen (\Environment{table}) und +Abbildungen (\Environment{figure}). Diese sind in erster Linie zur Ergänzung +des Fließtextes gedacht und sollten für das prinzipielle Verständnis des +Geschrieben nicht notwendig sein. Das oft geforderte Verhalten, ein Gleitobjekt +an einer ganz bestimmten und explizit festgelegten Position im Text zu setzen, +ist nicht erforderlich, insbesondere weil dadurch der Lesefluss unnötig +unterbrochen wird. + +Vielmehr ist es sinnvoll, Gleitobjekte entweder am Anfang oder Ende einer Seite +zu platzieren, wo sie den Lesefluss deutlich weniger stören. Allerdings sollte +auf jedes Gleitobjekt im Fließtext über eine Referenz~-- beispielsweise mit dem +Befehl \Macro{autoref} aus dem Paket \Package{hyperref}~-- Bezug genommen und +gegebenenfalls eine kurze Erläuterung gegeben werden. Weitere Erläuterungen zum +Thema \emph{Querverweise} ist in \autoref{sec:references} nachlesen. + +Ein weitere Grund, \hologo{LaTeX} die Platzierung von Tabellen und Abbildungen +vollständig zu überlassen, ist die Ungewissheit über den vorhandenen Platz auf +der momentan erzeugten Seite. In nicht wenigen Fällen kann es passieren, dass +das einzufügende Objekt zu groß für die aktuelle Seite ist, was einen wahrlich +schlechten Seitenumbruch mit einer schlecht gefüllten Seite zur Folge hätte. +Die Verwendung einer Gleitumgebung für eine Abbildung wird im nachfolgenden +Quelltextauszug exemplarisch gezeigt, das Ergebnis ist in \autoref{fig:example} +zu sehen. Worauf man bei Gleitobjekten in jedem Fall achten sollte, dass die +Verwendung von \Macro{label} immer erst \emph{nach} \Macro{caption} erfolgt, da +der erzeugte Anker sich sonst nicht auf das Objekt bezieht. +% +\begin{Trunk+} +\section{Grafiken und Tabellen in Gleitumgebungen} +Es folgt die Demonstration von Gleitumgebungen, welche sowohl für +Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden +Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite +etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der +Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen +und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geigneten +Stellen zu platzieren. + +\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken} +In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF-Format +in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein +Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl +\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden. +Hierfür ist ein entsprechender Anker am zu referenziereden Objekt nötig, +welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei +ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des +Objektes, welche mit \texttt{\textbackslash caption} erstellt wird, +gesetzt wird. + +\end{Trunk+} +\begin{Trunk} +\begin{figure} +\centering +\includegraphics{TUD-black} +\caption{Beispielgrafik}\label{fig:example} +\end{figure} + +\end{Trunk} +\InputCode\noindent +% +In der Konsequenz ist dies hier ein Plädoyer, bei der Platzierung von Tabellen +und Abbildungen vollständig auf \hologo{LaTeX} zu vertrauen. Anfangs kann der +Anwender dies als Kontrollverlust empfinden. Sobald Sie jedoch Änderungen am +Dokument vornehmen und eventuell in einem Kapitel einen Absatz ergänzen oder +gar einen ganzen Abschnitt hinzufügen werden sie dankbar sein, sich in der +Folge nicht mit der Neupositionierung sämtlicher Objekte herumschlagen zu +müssen. Leidgeprüfte Anwender einschlägiger Textverarbeitungsprogramme können +gewiss ein Lied darüber singen. + + + +\subsection{Beeinflussung des Gleitprozesses} +Sobald das Dokument inhaltlich den finalen Zustand erreicht hat, haben Sie sich +zu diesem Zeitpunkt schon mit Sicherheit an das standardmäßige Vorgehen von +\hologo{LaTeX} gewöhnt und müssen respektive wollen gegebenenfalls nur noch bei +wenigen Gleitobjekten~-- über das optionale Argument der Gleitumgebungen zur +individuellen Empfehlung für die Platzierung~-- nachjustieren. Mögliche Werte +sind: +% +\begin{description}[labelindent=\parindent,leftmargin=*,style=nextline] +\item[\POParameter{h} (here)] + An der Stelle, wo es im Quelltext angegeben wurde~-- falls genügend Platz + vorhanden ist +\item[\POParameter{t} (top)] + Am oberen Ende der aktuellen oder der folgenden Seite +\item[\POParameter{b} (bottom)] + Am unteren Ende der aktuellen Seite +\item[\POParameter{p} (page)] + Auf einer separaten Seite für mindestens ein Gleitobjekt +\end{description} +% +Sie können eine, mehrere oder alle Optionen angeben, wobei die Reihenfolge +keine Rolle spielt. Der Algorithmus arbeitet alle ihm zur Verfügung gestellten +Optionen immer in der zuvor aufgezählten Reihenfolge ab, wobei diese nur als +Empfehlung und nicht als Verpflichtung angesehen werden. Es gibt folglich keine +Garantie, dass Ihr Vorschlag akzeptiert wird. Fügen sie dem optionalen Argument +ein~\PValue{!} an, so verhindern Sie, dass \hologo{LaTeX} weitere Optionen +evaluiert. Das Gleitobjekt wird anhand der optionalen Parameter positioniert, +selbst wenn dabei ein unschönes Seitenlayout entsteht. Kann das Gleitobjekt +technisch unmöglich auf die angegebene Weise positioniert werden, wird dieses +sowie alle folgenden aufgeschoben und am Ende des Abschnitts oder Kapitels +angehängt. Dies ist ein Effekt, den man in den seltensten Fällen will. + +Außerdem können die Pakete \Package{flafter} sowie \Package{placeins} genutzt +werden. Das erstgenannte verhindert das Auftreten von Gleitobjekten im Dokument +vor ihrer Definition im Quelltext. In der Konsequent bedeutet dies, dass die +Option \POParameter{t} Gleitobjekte nur am oberen Ende der nächsten Seite +jedoch nicht auf der aktuellen zulässt. Mit dem zweiten Paket können Barrieren +definiert werden, an welchen die Ausgabe aller noch in der Warteschlange +befindlichen Gleitobjekte forciert wird~-- beispielsweise vor bestimmten +Gliederungsüberschriften. Im Handbuch zu \TUDScript findet sich außerdem zum +Thema \enquote{\manualhyperref{sec:tips:floats}{Platzierung von Gleitobjekten}} +ein eigener Abschnitt mit weiterführenden Informationen. + + +\subsection{Abstellen des Gleitprozesses} +Oftmals wird verlangt, den Gleitprozess vollständig abzustellen. Dies bringt in +den meisten Fällen einige Probleme mit sich. Die Folge sind sehr ein unruhiges +Erscheinungsbild das Satzspiegels aufgrund schlecht gefüllter Seiten, außerdem +viel Handarbeit mit hart kodierten Seitenumbrüchen sowie ein gegenüber von +Umbruchänderungen äußerst anfälliges Dokument. Sollte es in \emph{Einzelfällen} +dennoch erforderlich sein, dass eine Abbildung oder eine Tabelle nicht gleitet, +ist die einzig logische Konsequenz, auf die Verwendung einer Gleitumgebung +gänzlich zu verzichten. + +Hierfür eignen sich Umgebungen wie \Environment{center}, um etwas Abstand vor +und nach dem Objekt zu erzeugen und \Environment{minipage}, um Grafik oder +Tabelle und Beschriftung zusammenzuhalten. Die \KOMAScript-Klassen stellen für +diese Anwendung das Makro \Macro{captionof} zur Verfügung. Damit lassen sich +Bildunter- sowie Tabellenüberschriften auch ohne die gleitenden Umgebungen +\Environment{figure} beziehungsweise \Environment{table} erzeugen. Alternativ +kann das Paket \Package{float} verwendet werden, welches für Gleitumgebungen +den Platzierungsparameter \POParameter{H} zur Verfügung stellt. Allerdings ist +dies meiner Meinung nach alles andere als konsequent und sinnvoll. + + +\subsection{Gleitobjektlayout} +\label{sec:floatlayout} +% +Es wurde bis jetzt das prinzipielle Vorgehen bei der Nutzung von Gleitobjekten +beschrieben. Allerdings gibt es auch noch einige typographische Aspekte, welche +zu beachten sind. Zum einen sollte beachtet werden, dass die Beschriftung einer +Abbildung immer unterhalb dieser erfolgen sollte, bei Tabellen hingegen eine +Überschrift gesetzt wird. Hierfür muss der Anwender ohne die Verwendung eines +zusätzlichen Paketes selber Sorge tragen, indem er den Befehl \Macro{caption} +entweder vor oder nach dem eigentlichen Objekt in der Gleitumgebung verwendet. +Der zweite Punkt ist die verwendete Schrift innerhalb der Gleitumgebungen. + +Damit sich der Inhalt dieser besser vom restlichen Fließtext abhebt und vom +Leser direkt als nicht dazugehörig erkannt werden kann ist es ratsam, diesen in +serifenloser Schrift zu setzen~-- die Verwendung einer Serifenschrift für den +Fließtext vorausgesetzt. Das Paket \Package{floatrow} bietet die Möglichkeiten, +diese beiden Punkte automatisiert umzusetzen. Außerdem wird zur Formatierung +der Beschriftungen das Paket \Package{caption} benötigt. Sollten Sie noch keine +Erfahrung mit dem Setzen von Tabellen mit \hologo{LaTeX} haben, so wäre zuvor +ein Blick in \autoref{sec:tables} sehr sinnvoll. + +\newcommand*\tableexample[1][]{% + \begin{tabularx}{.75\textwidth}{@{}XXX@{}} + \toprule + \textbf{Erste Spalte} & \textbf{Zweite Spalte} & + \textbf{Dritte Spalte} \tabularnewline + \midrule + Etwas Blindtext für die erste Spalte & + Etwas Blindtext für die zweite Spalte & + Etwas Blindtext für die dritte Spalte + \tabularnewline + \bottomrule + \end{tabularx} + #1% +} +\begin{table} +\tableexample[% + \caption{Eine Tabelle in einer Gleitumgebung}\label{tab:tabular}% +] +\end{table} + +Normalerweise wird eine Tabelle sowie deren Beschriftung innerhalb einer +\Environment{table}"=Gleitumgebung in der selben Schrift wie der Fließtext +gesetzt, die korrekte Platzierung der Bezeichnungen bleibt dem Anwender +überlassen. Zu sehen ist dies in \autoref{tab:tabular}. Im Folgenden wird +gezeigt, wie sich dies automatisiert für alle Gleitobjekte im Dokument ändern +lässt. Die \emph{Formatierung} der Bezeichnungen von Gleitobjekten kann +mithilfe des Paketes \Package{caption} angepasst werden. +% +\begin{Preamble} +\usepackage{caption} +\end{Preamble} +% +Diese stellt den Befehl \Macro{captionsetup} bereit. Mit diesem werden die +Beschriftungen in Serifenlosen und das Label zur besseren Unterscheidung im +fetten Schriftschnitt gesetzt. +% +\begin{Preamble*} +\captionsetup{font=sf,labelfont=bf,labelsep=space} +\end{Preamble*} +% +Um die \emph{Platzierung} der Beschriftungen beeinflussen sowie den Inhalt +einer Gleitumgebung formatieren zu können, wird \Package{floatrow} geladen. +\begin{Preamble} +\usepackage{floatrow} +\end{Preamble} +% +Der Inhalt von Gleitobjekten wird~-- entgegen des normalen Verhaltens~-- durch +\Package{floatrow} automatisch zentriert gesetzt. Zusätzlich soll der Inhalt +noch die serifenlose Schriftfamilie verwenden. Dies lässt sich mit der Nutzung +des Befehls \Macro{floatsetup} realisieren. +% +\begin{Preamble*} +\floatsetup{font=sf} +\end{Preamble*} +% +Ohne weitere Maßnahmen werden durch \Package{floatrow} alle Beschriftungen +unterhalb der Gleitobjekte ausgegeben. Da das Ziel jedoch die Verwendung von +Tabellenüberschriften und Abbildungsunterschriften ist, wird dies für Tabellen +angepasst. +% +\begin{Preamble*} +\floatsetup[table]{style=plaintop} +\end{Preamble*} +% +\begin{table} +\tableexample[% + \caption{% + Eine Tabelle in einer Gleitumgebung mit einer angepassten Formatierung% + }\label{tab:tabularnew}% +] +\end{table}% +% +Damit wären alle Einstellungen soweit erfolgt, in \autoref{tab:tabularnew} ist +das Ergebnis zu sehen. Zumeist soll die Beschriftung für Gleitobjekte nicht +zentriert sondern linksbündig gesetzt werden. Dies lässt sich ebenfalls mit den +Mitteln des Paketes \Package{caption} mit der Option \Option{justification} +erreichen. Damit dies auch für einzeilige Beschriftungen angewendet wird, muss +zusätzlich die Einstellung \Option{singlelinecheck} deaktiviert werden. Mit der +Option \Option{hang} kann außerdem beeinflusst werden, ob eine mehrzeilige +Beschriftung nach einem Zeilenumbruch direkt unter dem Label oder mit Einzug +fortgesetzt werden soll. +% +\begin{Preamble*} +\captionsetup{singlelinecheck=off,format=hang,justification=raggedright} +\end{Preamble*} +% +In \autoref{tab:tabularnew} fällt die Beschriftung auf, welche die Breite der +Tabelle überragt. Falls linksbündige Gleitumgebungsbezeichnungen verwendet +werden, wie dies gerade eingestellt wurde, besteht das Problem quasi bei jeder +Beschriftung, da diese immer am linken Seitenrand beginnen. Auch hierfür stellt +das Paket \Package{floatrow} die Befehle \Macro{ttabbox} für Tabellen sowie +\Macro{ffigbox} für Abbildungen bereit. + +Beide Makros erwarten im ersten obligatorischen Argument den Befehl +\Macro{caption} für die Beschriftung gegebenenfalls gefolgt von einem mit +\Macro{label} gesetzten Textanker. Im zweiten Argument wird das Objekt +selbst~-- sprich Tabelle oder Abbildung~-- angegeben. Zu verwenden sind diese +folgendermaßen: +% +\begin{Hint} +\begin{table} +\ttabbox + §\Parameter{Tabellendefinition}§ + {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§} +\end{table} +\begin{figure} +\ffigbox + §\Parameter{Abbildungsdefinition}§ + {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§} +\end{figure} +\end{Hint} +% +Diese beiden Befehle sorgen dafür, dass die Beschriftungen in der jeweiligen +Breite des Objektes gesetzt werden. Entspricht das zu setzende Objekt in seiner +Breite dem Wert \Length{textwidth}~-- es ist genauso Breit wie die Laufweite +des Fließtextes~--, so ist deren Gebrauch nicht notwendig. Das Ergebnis der +Verwendung von \Macro{ttabbox} ist in \autoref{tab:tabularbox} zu sehen. + +Bei der Nutzung der beiden Befehle sollte darauf geachtet werden, dass zwischen +dem Ende des Objektes und der schließender Klammer des zweiten Argumentes kein +ungewolltes Leerzeichen gesetzt wird. Dies lässt sich am einfachsten vermeiden, +indem direkt nach dem Ende des Objektes mit \Macro{end}\PParameter{tabularx}, +\Macro{end}\PParameter{tabu}, \Macro{end}\PParameter{tikz} etc. die schließende +Klammer des zweiten Argumentes oder das Kommentarzeichen \PValue{\%} folgt. + +\begin{table} +\ttabbox{\tableexample}{% + \caption[Eine mit \Macro{ttabbox} gesetzte Tabelle in einer Gleitumgebung]{% + Eine in einer Gleitumgebung gesetzte Tabelle in Verbindung mit dem Befehl + \Macro{ttabbox}, welcher vom Paket \texttt{floatrow} für Beschriftungen in + Objektbreite bereitgestellt wird% + }\label{tab:tabularbox}% +} +\end{table} + + +\subsection{Untergleitobjekte} +\label{sec:subfloats} +Das Paket \Package{floatrow} stellt allerhand Möglichkeiten zur Erstellung von +nebeneinanderliegenden Gleitobjekten sowie \enquote{Untergleitobjekten} bereit +und ist insbesondere in Verbindung mit den Fähigkeiten von \Package{caption} +respektive \Package{subcaption} sehr gut für dieses Unterfangen nutzbar. Dafür +werden die Umgebungen \Environment{floatrow} und \Environment{subfloatrow} +angeboten, wobei letztere für ein Beispiel verwendet wird. Als erstes muss der +Typ der zu erzeugenden Labels für Abbildungen und Tabellen definiert werden. +Dies geschieht mit dem Befehl \Macro{DeclareCaptionSubType} aus dem Paket +\Package{subcaption}. +% +\begin{Preamble} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\end{Preamble} +% +Anschließend werden die Untergleitobjekte formatiert. Dabei wird zum einen nach +dem alphanumerischen Label eine schließende Klammer gesetzt. Zum andern wird +ein Eintragen der Untergleitobjekte in das Abbildungsverzeichnis unterdrückt. +Lediglich die Bildunterschrift der Hauptabbildung wird in dieses eingetragen. +% +\begin{Preamble*} +\captionsetup[subfloat]{labelformat=brace,list=off} + +\end{Preamble*} +% +Mit diesen Einstellungen wird eine gleitende Abbildung erstellt, welche in +\autoref{fig:logos} zu sehen ist. Wurde der entsprechende Anker gesetzt, kann +zusätzlich auf die untergeordnete \autoref{fig:tud} sowie \autoref{fig:ddc} +verwiesen werden. +% +\begin{Trunk+} +\subsection{Untergleitobjekte} +Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen +erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei +Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext +sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie +\autoref{fig:ddc} verwiesen werden. + +\end{Trunk+} +\begin{Trunk} +\begin{figure} +\ffigbox[\FBwidth]% + {\begin{subfloatrow}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{TUD-black}}}% + {\caption{Eine Abbildung}\label{fig:tud}}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{DDC-21}}}% + {\caption{Eine weitere Abbildung}\label{fig:ddc}}% + \end{subfloatrow}}% + {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}% +\end{figure} + +\end{Trunk} +\InputCode + + + +\section{Tabellensatz} +\label{sec:tables} +Zum Thema \enquote{Tabellensatz mit \hologo{LaTeX}} sind bereits zahlreiche +\hrfn{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}{Leitfäden} +\cite{reichert2012} im Internet zu finden. Deshalb werde ich meine Ausführungen +zu diesem Punkt relativ kurz halten. Zwei Regeln sollten beim Satz von Tabellen +in jedem Fall beachtet werden: +% +\begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.,noitemsep] +\item keine vertikalen Linien +\item keine doppelten Linien +\end{enumerate} +% +Das Paket \Package{booktabs} ist für den Satz von hochwertigen Tabellen eine +große Hilfe und stellt die Befehle \Macro{toprule}, \Macro{midrule} sowie +\Macro{cmidrule} und \Macro{bottomrule} für unterschiedliche horizontale Linien +bereit. +% +\begin{Preamble} +\usepackage{booktabs} +\end{Preamble} +% +Außerdem existiert das Paket \Package{array}, welches mit dem Befehl +\Macro{newcolumntype} die Definition eigener Spaltentypen sowie die Verwendung +sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb einer Spalte +(\PValue{>\{\dots\}}\PName{Spaltentyp}\PValue{<\{\dots\}}) ermöglicht. +% +\begin{Preamble} +\usepackage{array} +\end{Preamble} +% +Für alle im Folgenden vorgestellten Umgebungen zum Setzen von Tabellen gilt, +dass die Inhalte zeilenweise angegeben werden, wobei die Einträge für die +einzelnen Spalten mit~\PValue{\&} voneinander zu trennen sind. Das Beenden +einer Tabellenzeile und der Wechsel zur nächsten erfolgt normalerweise mit +\PValue{\bsc\bsc}. Da jedoch einige \hologo{LaTeX}-Pakete diesen Befehl +innerhalb von Tabellen lokal ändern ist es zur Vermeidung unnötiger Fehler +wesentlich sicherer, das Zeilenende ausschließlich mit \Macro{tabularnewline} +zu setzen. + +Im Folgenden wird in einigen Tabellen bei der Definition der Spalten vor der +ersten und nach der letzten das Konstrukt~\PValue{@\{\}} verwendet, was das +\manualhyperref{sec:tips:table}{Einrücken dieser Tabellenspalten verhindert} +und im Handbuch genauer erläutert wird. + + +\subsection{Die Standardumgebung \Environment{tabular}} +Normalerweise gibt es vier unterschiedliche Spaltentypen. Dabei stehen die drei +Spaltentypen~\PValue{l},~\PValue{c}~und~\PValue{r} für linksbündige, zentrierte +und rechtsbündige Spalten, welche allerdings keinen Zeilenumbruch erlauben. Der +Inhalt wird quasi wie in einer \Macro {mbox} gesetzt, wodurch die Spalten sehr +breit werden und über den Seitenrand hinausragen können. + +Der Spaltentyp~\PValue{p}\Parameter{Breite} hingegen legt die Spaltenbreite +fest und setzt den Inhalt in jeder Zeile in eine \Macro{parbox}, wobei diese +wird mit ihrer obersten Zeile an der Grundlinie ausgerichtet wird. Das Paket +\Package{array} stellt außerdem die Spaltentypen~\PValue{m}\Parameter{Breite} +und~\PValue{b}\Parameter{Breite} bereit, welche ebenfalls mit \Macro{parbox} +gesetzt werden, die Ausrichtung an der Grundlinie jedoch zentriert respektive +an der unteren Zeile der Box erfolgt. Es folgt ein Beispiel zur Verwendung der +\Environment{tabular}-Umgebung. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabular}{lcrp{33mm}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline +\bottomrule +\end{tabular} +\end{Hint*} +\endgroup +% +Die Tabellenbreite ergibt sich aus der Breite der einzelnen Spalten. Bei dieser +Umgebung liegt es allein beim Anwender, auf die korrekte Breite der Tabelle zu +achten, damit diese nicht über die Seitenränder hinausragt. Das kann auf Dauer +recht aufwändig werden. Das Festlegen der Gesamtbreite einer Tabelle durch den +Anwender und das automatische Berechnen einiger oder aller Spaltenbreiten ist +sicher die angenehmere Variante. Wie sich dies sehr komfortabel bewerkstelligen +lässt wird~-- ebenso wie die Lösung des Problems des nicht umbrochenen Eintrags +in der letzten Spalte der dritten Zeile der obigen Tabelle~-- im nachfolgenden +Abschnitt demonstriert. + + +\subsection{Tabellen mit variabler Spaltenbreite} +Die Pakete \Package{tabularx}, \Package{tabulary} oder auch \Package{tabu} +stehen für das Setzen von Tabellen mit dynamisch berechneter Spaltenbreite bei +fest vorgegebener Gesamtbreite zur Verfügung, welche nun kurz vorgestellt +werden sollen. Die beiden erstgenannte Pakete \Package{tabularx} sowie +\Package{tabulary} stammen vom gleichen Paketautor und haben sich als sehr +stabil erwiesen. Das Paket \Package{tabu} ist relativ neu und versucht, viele +Funktionalitäten ganz unterschiedlicher Pakete für den Tabellensatz in sich zu +vereinen und glänzt insbesondere durch seine Vielseitigkeit. +% +\begin{Preamble} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{tabu} + +\end{Preamble} +% +Jedes der Pakete stellt einen oder mehrere neue Spaltentypen zur Verfügung. +Dies bedeutet jedoch nicht, dass in den dazugehörigen Tabellenumgebungen +lediglich diese genutzt werden können. Vielmehr werden diese zusätzlich +angeboten, was bedeutet, dass auch in den neuen Tabellenumgebungen weiterhin +die gewohnten Spaltentypen~\PValue{l},~\PValue{c},~\PValue{r}~und~\PValue{p} +verfügbar sind. + +\subsubsection{Die Tabellenumgebung \Environment{tabularx}} +\label{sec:tabularx} +Das Paket \Package{tabularx} stellt den Spaltentyp~\PValue{X} bereit, welcher +prinzipiell dem Spaltentyp~\PValue{p} entspricht. Auch für diesen wird eine +\Macro{parbox} verwendet, allerdings wird deren Breite \emph{automatisch} +berechnet. Die Umgebung \Environment{tabularx} erwartet vor der Angabe der +Spaltentypen als obligatorisches Argument die gewünschte Breite der Tabelle. Zu +beachten ist, dass Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} +weiterhin ohne Zeilenumbruch gesetzt werden. Nur für Spalten vom Typ~\PValue{X} +und deren Derivate wird aus dem verbliebenen Platz die Breite berechnet. Für +die \Environment{tabularx}-Umgebung wird das vorherige Beispiel wiederholt. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabularx}{11.7cm}{lcrX} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline +aaaa & bbbb & cccc & \hspace{0pt}Worttrennungsmusterkontrolle +\tabularnewline +\bottomrule +\end{tabularx} +\end{Hint*} +\endgroup +% +Die Breite der letzten Spalte wurde dabei aus der Angabe der Gesamtbreite mit +\PValue{11.7cm} berechnet. Des Weiteren ist zu sehen, wie das Problem des +Zeilenumbruchs behandelt werden kann. Normalerweise wird das erste Wort in +einem Absatz von \hologo{LaTeX} \emph{nie} umbrochen. Dies kann durch das +Einfügen eines breitenlosen Leerzeichens mit \Macro{hspace}\PParameter{0pt} +umgangen werden. Die gefundene Lösung ist allerdings alles andere als elegant. + +Mit den Möglichkeiten des Paketes \Package{array} ist das Problem relativ +schnell gelöst. Es wird mit \Macro{newcolumntype} ein neuer Spaltentyp +definiert. Das erste Argument von \Macro{newcolumntype} legt den Namen des +Spaltentyps fest. Mit \PValue{>\Parameter{Definitionen}}\Parameter{Typ} wird im +zweiten Argument das Ausführen von \PName{Definitionen} vor dem Setzen des +eigentlichen Inhaltes in einer \Parameter{Typ}"~Spalte definiert. Es wird ein +neuer, auf der \PValue{X}"~Spalte basierender Typ~\PValue{Y} definiert, welcher +zu Beginn der Spalte den Phantomabstand automatisch einfügt. Darauf basierend +werden drei Spaltentypen für den links- und rechtsbündigen sowie zentrierten +Textsatz mit einem möglichen Zeilenumbruch erstellt. +% +\begin{Trunk+} +\subsection{Tabellen als Gleitobjekte} +Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden. +Welche Umgebung für die Tabelle selbst dabie genutzt wird ist dabei +nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung +als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie +\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen +Tabellenbreite oder jede andere Tabellenumgebung genutzt werden. +Nachfolgend wird dies an mehreren Beispielen demonstriert. + +\subsubsection{Eine gleitende tabularx-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabularx}-Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor +neue Spaltentypen definiert. + +\end{Trunk+} +\CodeHook{\renewcommand*{\newcolumntype}[2]{}} +\begin{Trunk*} +\newcolumntype{Y}{>{\hspace{0pt}}X} +\newcolumntype{D}{>{\raggedright}Y} +\newcolumntype{E}{>{\centering}Y} +\newcolumntype{F}{>{\raggedleft}Y} + +\end{Trunk*} +% +Nachfolgend wird die Tabelle gesetzt mit den neuen Spaltentypen gesetzt. +% +\begin{Trunk} +\begin{table} +\begin{tabularx}{\textwidth}{@{}DEFY@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer T"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte & +Ein längerer Blindtext im Blocksatz zur besseren Demonstration +einer Y"~Spalte\tabularnewline +\bottomrule +\end{tabularx} +\caption{Eine \texttt{tabularx}-Tabelle}\label{tab:tabularx} +\end{table} + +\end{Trunk} +\InputCode\noindent +% +Die Breite der einzelnen \PValue{X}"~Spalten und deren Derivaten ist dabei +identisch. Ein Gewichten der Spaltenbreiten untereinander ist prinzipiell +möglich, allerdings mit einigen Einschränkungen verbunden. Genaueres hierzu ist +der Dokumentation des Paketes \Package{tabularx} zu entnehmen. + +\subsubsection{Die Tabellenumgebung \Environment{tabulary}} +\label{sec:tabulary} +Das Paket \Package{tabulary} verfolgt im Vergleich zum zuvor beschrieben Paket +\Package{tabularx} einen etwas anderen Ansatz. Anstatt die verfügbare Breite +über alle Spalten gleichmäßig zu verteilen, werden die Spaltenbreite anhand des +jeweils darin befindlichen Inhaltes zueinander gewichtet. Dafür werden die vier +Spaltentypen~\PValue{L},~\PValue{C},~\PValue{R}~sowie~\PValue{J} zur Verfügung +gestellt. Diese entsprechen prinzipiell dem Spaltentyp~\PValue{p}, allerdings +wird deren Breite \emph{automatisch} berechnet, wobei Spalten mit mehr Inhalt +breiter gesetzt werden. Für die automatische Berechnung der Spaltenbreiten muss +verständlicherweise die gewünschte Gesamtbreite angegeben werden, was bei der +\Environment{tabulary}-Umgebung mit dem ersten obligatorischen Argument vor der +Angabe der Spaltendefinition erfolgt. Werden für die Tabelle eine oder mehrere +Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} angegeben, so werden +diese weiterhin in ihrer natürlichen Breite und ohne Zeilenumbruch gesetzt. + +Die Gewichtung der Spalten vom Typ~\PValue{LCRJ} und deren Derivate wird aus +dem verbliebenen Platz die Breite berechnet. Die Berechnung der Spaltenbreite +kann durch den Anwender außerdem über zwei Längen beeinflusst werden. Mit +\Length{tymin} wird die Mindestgröße für Spalten festgelegt. Sollten Sie +wissen, dass eine Spalte sehr schmal wird, können Sie allerdings auch einfach +eine der Standardspalten~\PValue{lcrp} nutzen. Mit der Länge \Length{tymax} +kann die maximale Ausdehnung einer der Spalten vom Typ~\PValue{LCRJ} festgelegt +werden. Für die \Environment{tabulary}-Umgebung wird das vorherige Beispiel +wiederholt. Zu beachten ist, dass die Spaltentypen~\PValue{LCRJ} mit dem Makro +\Macro{tyformat} bereits ein breitenloses Leerzeichen einsetzen, womit sich das +manuelle Einfügen von selbigem durch den Anwender erübrigt. +% +\begin{Trunk+} +\subsubsection{Eine gleitende tabulary-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabulary}-Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabulary}. + +\end{Trunk+} +\begin{Trunk} +\begin{table} +\begin{tabulary}{\textwidth}{@{}LCRJ@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer C"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte & +Ein wesentlich längerer und absolut inhaltsleerer Blindtext im +Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte +\tabularnewline +\bottomrule +\end{tabulary} +\caption{Eine \texttt{tabulary}-Tabelle}\label{tab:tabulary} +\end{table} + +\end{Trunk} +\InputCode + + +\subsubsection{Die Tabellenumgebung \Environment{tabu}} +\label{sec:tabu} +Das Paket \Package{tabu} bietet eine mächtige und komfortable Alternative zu +\Package{tabularx}. Es kam in diesem Tutorial bereits für die Verzeichnisse von +Abkürzungen und Symbolen in \autoref{sec:glossaries} zum Einsatz. Leider ist +das Paket in er aktuellen Version~v2.8 mit Vorsicht zu genießen. Zum einen +wären für das Paket in der aktuellen Version seit geraumer Zeit ein paar +kleinere Bugfixes notwendig, mehr dazu sehen Sie später. Außerdem wird sich die +\hrfn{https://groups.google.com/d/topic/comp.text.tex/xRGJTC74uCI}{% + Benutzerschnittstelle in einer zukünftigen Version +} sehr stark ändern. Sie sollten sich bewusst sein, dass mit der Version~v2.8 +gesetzte Dokumente gegebenenfalls später angepasst werden müssen. + +Nichtsdestotrotz soll hier die Verwendung der \Environment{tabu}-Umgebung +gezeigt werden, insbesondere weil es für das Setzen umbruchfähiger Tabellen mit +automatisch berechneten Spaltenbreiten momentan (fast) keine Alternative zu der +Umgebung \Environment{longtabu} gibt. + +Dieses Paket definiert ebenso einen Spaltentyp~\PValue{X}, welchem allerdings +zusätzlich ein optionales Argument angehängt werden kann. Mit diesem lässt sich +sowohl die Gewichtung der automatisch berechneten Spalten untereinander als +auch die Positionierung zur Grundlinie sowie die Ausrichtung des Inhaltes +ändern. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabu} to 11.7cm {lcrX} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaaa & bbbb & cccc & Worttrennungsmus\-terkontrolle\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline +\bottomrule +\end{tabu} +\end{Hint*} +\endgroup +% +Das Beispiel zeigt auch gleich das momentan meiner Meinung nach größte Problem +des Paketes: Bei mehrzeiligen Zellen fehlt vertikale Zwischenraum zur nächsten +Tabellenzeile. Nun hat man entweder die Möglichkeit, bei jeder Angabe einer +Spalte im Tabellenkopf, welche eine \Macro{parbox} verwendet, mit dem Ausdruck +\PValue{>\{\Macro{strut}\}} die fehlenden Unterlänge auszugleichen oder man +definiert sich abermals einen entsprechenden Spaltentyp. Das ist für die +\PValue{X}"~Spalten der Umgebung \Environment{tabu} etwas schwieriger, da +\Macro{newcolumntype} normalerweise die Definition eines optionalen Argumentes +nicht vorgesehen ist. Mit ein wenig Trickserei ist das dennoch möglich: +% +\begin{Trunk+} +\subsubsection{Eine gleitende tabu-Tabelle} +Eine andere Variante zum Setzen einer Tabelle mit variabler Spaltenbreite +und festgelegter Gesamtbreite ist in \autoref{tab:tabu} zu sehen. Diese +würde in der Umgebung \texttt{tabu} gesetzt. Auch für diese wird zuerst +ein neuer Spaltentyp definiert, welcher die Unzulänglichkeiten der +Umgebung reduziert. Außerdem wird \texttt{\textbackslash ttabbox} aus dem +Paket \texttt{floatrow} verwendet, um die Beschriftung auf die Breite der +Tabelle zu begrenzen. + +\end{Trunk+} +\CodeHook{\renewcommand*{\newcolumntype}[2]{}} +\begin{Trunk*} +\makeatletter +\newcolumntype{Z}{} +\renewcommand*\NC@rewrite@Z[1][]{% + \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}% +} +\makeatother + +\end{Trunk*} +% +Anschließend kann der \PValue{Z}"~Spaltentyp äquivalent zu \PValue{X} genutzt +werden. Zu beachten ist dabei insbesondere die Möglichkeit, die Spalten in +ihrer resultierenden Breite sehr einfach zueinander gewichten zu können~-- im +Gegensatz zur Umgebung \Environment{tabularx}, wo dieses Unterfangen etwas +schwieriger ist. Das Ergebnis ist in \autoref{tab:tabu} zu sehen. Zu beachten +ist dabei die Verwendung von \Macro{ttabbox} aus dem Paket \Package{floatrow}, +um die Beschriftung an die Breite der Tabelle anzupassen. Genaueres dazu in +\autoref{sec:floatlayout}. +% +\begin{Trunk} +\begin{table} +\ttabbox{% +\begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}} + \toprule + \textbf{Linksbündig} & \textbf{Zentriert} & + \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline + \midrule + Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte & + Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte & + Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte & + Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte + \tabularnewline + \bottomrule + \end{tabu}% +}{% + \caption[Eine \texttt{tabu}-Tabelle]{% + Eine \texttt{tabu}-Tabelle in Verbindung mit dem Befehl + \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow} + für Beschriftungen in Objektbreite bereitgestellt wird% + }\label{tab:tabu}% +} +\end{table} + +\end{Trunk} +\InputCode + + + +\section{Querverweise} +\label{sec:references} +% +Damit alle möglichen Querverweise in einem PDF-Dokument automatisch verlinkt +werden, sollte das Paket \Package{hyperref} geladen werden. Um die erzeugten +Links verträglich aussehen zu lassen, werden die Optionen \Option{colorlinks} +sowie \Option{linkcolor}[blue] verwendet. Da \Package{hyperref} allerhand +Veränderungen an vielen Standardbefehlen vornimmt, sollte dieses als letztes in +der Präambel eingebunden werden. Nur Pakete, bei denen in der Dokumentation +explizit darauf hingewiesen wird, dass diese nach \Package{hyperref} zu laden +sind, sollten auch danach folgen. Eines dieser wenigen Pakete ist das in diesem +Tutorial verwendete \Package{glossaries}. +% +\begin{Preamble} +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\end{Preamble} +% +Um auf ein bestimmtes Objekt wie beispielsweise eine Tabelle, eine Abbildung +oder einen bestimmten Anschnitt im Dokument referenzieren zu können, muss mit +\Macro{label}\Parameter{label} ein Anker für selbiges an der entsprechenden +Stelle gesetzt werden. Bei Überschriften sollte dies direkt nach der Nutzung +des Gliederungsbefehls\footnote{\Macro{chapter}, \Macro{section} etc.} +erfolgen. Für Abbildungen, Tabellen oder andere Objekte in Gleitumgebungen muss +der Anker unmittelbar nach der Verwendung von \Macro{caption} respektive +\Macro{captionof} erstellt werden. Um nun auf diesen Anker zu referenzieren, +sollte nicht \Macro{ref} sondern \Macro{autoref} im Fließtext genutzt werden. +Letztgenannter Befehl erzeugt nicht nur einen Link mit der dazugehörigen +Nummerierung sondern stellt dieser die Bezeichnung des referenzierten Objektes% +\footnote{\enquote{Abbildung}, \enquote{Tabelle}, \dots} voran. + +Mit dem Befehl \Macro{pageref} lässt sich auf die Seite eines Ankers verweisen. +Das Paket \Package{varioref} kann dabei unterscheiden, ob der Anker sich auf +der aktuellen Seite, auf einer Seite direkt davor beziehungsweise danach oder +auf einer entfernteren Seite befindet und dementsprechend einen Hinweis darauf +ausgeben. Hierfür werden die Befehle \Macro{vref} sowie \Macro{vpageref} zur +Verfügung gestellt. Das Paket \Package{cleveref} vereint die Vorzüge von +\Macro{autoref} in Verbindung mit \Macro{vref} durch den Befehl \Macro{cref}. + + + +\section{Zitate} +Für das wörtliche Zitieren kann das Paket \Package{csquotes} verwendet werden. +Dieses stellt den Befehl \Macro{enquote} bereit, der die kennzeichnenden +Anführungszeichen automatisch in Abhängigkeit der verwendeten Dokumentsprache +setzt. +% +\begin{Hint} +\usepackage{csquotes} +\end{Hint} +% +Da für die unterschiedlichen Fachdisziplinen teils sehr unterschiedliche +Zitierrichtlinien existieren, kann hier keine allgemeingültige Empfehlung zu +Stilfragen gegeben werden. Zu beachten ist auf jeden Fall, dass zu wörtlichen +Zitaten eine Quellenangabe erfolgen \emph{muss}. Dabei sollte darauf geachtet +werden, dass nicht nur die Quelle selbst sondern zumindest auch die Seitenzahl +des Zitats angegeben wird. +% +\begin{refsection}[\jobname-temp.bib] +\begin{Trunk+} +\section{Zitate} +Bei der Verwendung von wörtlichen Zitaten sollten diese als solche +gekennzeichnet werden. +\end{Trunk+} +\begin{Trunk*} +\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.} +\cite[58]{hanisch14} +\end{Trunk*} +\begin{Trunk+} +Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur +das Werk selber sondern zumindest die Seitenzahl und gegebenfalls +der Absatz der originalen Textstelle angegeben werden. +\end{Trunk+} +% +Längere Zitate sollten abgesetzt vom Fließtext ausgegeben werden. Hierfür +bieten sowohl die Standard"~ als auch die \KOMAScript-Klassen standardmäßig +die Umgebungen \Environment{quote} und \Environment{quotation} an. Allerdings +verwenden beide fest eingestellte Absatzauszeichnungen. Sollen jedoch die +mit der Option \Option{parskip} vorgegebenen Absatzeinstellungen beachtet +werden, so bietet sich das Paket \Package{quoting} an, welches die gleichnamige +Umgebung definiert und die Absätze wie im restlichen Dokument auszeichnet. +% +\begin{Preamble} +\usepackage{quoting} + +\end{Preamble} +% +\begin{Trunk*} +\begin{quoting} +\enquote{% + Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die + Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung + deutlich. + + Wie man sieht, ist der zweite Absatz~-- wie jeder weitere~-- aufgrund + der Einstellung \texttt{parskip=false} eingezogen. +} +\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14} +\end{quoting} +\end{Trunk*} +\begin{Trunk+} +Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz +angegeben werden. Dies kann im Laufe der Arbeit acuh für einen selbst von +Vorteil sein, wenn man beispielsweise die originale Textpassage noch +einmal analysieren möchte. + +\end{Trunk+} +\begin{quoting}[rightmargin=0pt] +\makeatletter +\let\markboth\@gobbletwo +\let\markright\@gobble +\makeatother +\vspace*{-\baselineskipglue} +\printbibliography +\end{quoting} +\end{refsection} + + + +\section{Worttrennungen} +\label{sec:hyphenation} +Bei der Verwendung von \hologo{LaTeXe} gibt es ab und an das Problem, dass +bestimmte Wörter am Zeilenende falsch getrennt werden. Dies hat historische +Gründe. Als \hologo{TeX} in den 1980er-Jahren entwickelt wurde, war es aufgrund +der zu dieser Zeit zur Verfügung stehenden Speichergrößen schier unmöglich, die +Worttrennungen mit einem Wörterbuchansatz umzusetzen. Stattdessen wurde~-- um +den benötigten Speicherbedarf möglichst gering zu halten~-- ein Algorithmus +entworfen, der mögliche Trennstellen in einem Wort mit einer Mustererkennung +ermittelt. Die verwendeten Muster basieren jedoch auf der englischen Sprache, +weshalb auch heute noch in nicht-englischsprachigen Texten teilweise falsche +Trennstellen gefunden werden. + +Zu Beginn wurde bei der Einleitung in \autoref{sec:introduction} auf das Paket +\Package{hyphsubst} hingewiesen, welches dieses Manko~-- aufgrund der nicht +mehr so stark gegebenen Restriktionen bezüglich des Speicherbedarfes~-- mit +einem Wörterbuch behebt. Dieses Paket muss \emph{vor} dem Laden der +Dokumentklasse eingebunden werden. Außerdem wird das Paket \Package{babel} +benötigt. Damit auch Wörter mit Umlauten richtig getrennt werden, ist zudem die +Verwendung der \PValue{T1}"~Schriftkodierung notwendig. Der Beginn einer +Dokumentpräambel könnte folgendermaßen aussehen: +% +\begin{Hint} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +§\dots§ +\end{Hint} +% +Die Option \Option{ngerman} lädt dabei die Trennmuster für die neue deutsche +Rechtschreibung, wobei der Wert \PValue{ngerman-x-latest} die neuesten aller +verfügbaren Trennmuster lädt. Für die alte Orthographie ist stattdessen +\Option{german}[german-x-lastest] zu verwenden. + + +\subsection{Einmalige und globale Worttrennungskorrektur} +Sollte es dennoch passieren, dass ein Wort nicht richtig getrennt wird, kann +dies manuell korrigiert werden. Dafür stellt das Paket \Package{babel} mehrere +Kurzbefehle zur Verfügung. Außerdem lassen sich mit \Macro{hyphenation} für ein +bestimmtes Wort alle potentiellen Trennstellen angeben. Im \TUDScript-Handbuch +ist im Kapitel Tipps~\&~Tricks zum Thema \manualhyperref{sec:tips:hyphenation}{% +Worttrennungen in deutschsprachigen Texten} mehr zu finden. Dort wird auch +erläutert, wie das Problem der alleinigen Trennung von Wörtern mit Bindestrich +an selbigem umgangen werden kann. + + +\subsection{Worttrennung im Flattersatz} +Normalerweise ist bei \hologo{LaTeXe} die Worttrennung im Flattersatz% +\footnote{\Macro{raggedright}, \Macro{raggedleft}, \Macro{center}} deaktiviert. +Mit dem Paket \Package{ragged2e} kann diese hierfür aktiviert werden. Wird es +geladen, stehen dem Anwender die Befehle \Macro{Centering}, \Macro{RaggedLeft} +sowie \Macro{RaggedRight} zur Verfügung, um Worttrennungen im Flattersatz zu +verwenden. Mit der Paketoption \Option{newcommands} können die originalen +Befehle \Macro{centering}, \Macro{raggedleft} und \Macro{raggedright} mit der +Definition der neuen überschrieben werden. Genaueres dazu ist der Dokumentation +des Paketes zu entnehmen. + + + +\section{Mikrotypographische Feinheiten} +Unter Mikrotypographie oder Detailtypographie versteht man die Gestaltung +folgender Feinheiten des Schriftsatzes: +\begin{itemize}[noitemsep] +\item korrekte Anwendung der Satzzeichen +\item Schriftart, Kapitälchen und Ligaturen +\item Wortabstände sowie Laufweite (Buchstaben- und Zeichenabstände) +\item optischer Randausgleich +\end{itemize} + +\noindent Die letzten beiden Punkte werden sensationell gut durch das Paket +\Package{microtype} bearbeitet. Dieses muss lediglich in der Präambel geladen +werden, wobei es nicht mit der klassischen \hologo{TeX}-Engine, wohl jedoch mit +\hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX} funktioniert. +% +\begin{Preamble} +\usepackage[babel]{microtype} + +\end{Preamble} +% +Die Option \Option{babel} ist nur notwendig, wenn einzelne Textpassagen oder +das gesamte Dokument in Englisch oder Französisch verfasst werden und hierfür +die genutzte Sprache mit den entsprechenden Möglichkeiten von \Package{babel} +eingestellt wird. + +Das korrekte Anwenden von Satzzeichen wird für deutschsprachige Texte bereits +in mehreren Artikeln \cite{neubauer1996,neubauer1997,struckmann2007,bier2009} +sehr gut erläutert, weshalb ein Hinweis auf diese Arbeiten für weitergehende +Informationen zu dieser Thematik absolut ausreichend ist. Nachfolgend werden +Tipps gegeben sowie einige \hologo{LaTeXe}-Pakete vorgestellt, die bei der +Umsetzung der in den genannten Artikeln erläuterten Empfehlungen helfen. + + +\subsection{Abkürzungen} +In \cite{struckmann2007} wird gleich zu Beginn darauf hingewiesen, wie häufig +verwendete Abkürzungen sehr einfach im Dokument verwendet werden können und +dabei typographisch richtig gesetzt werden. Beispielsweise gelingt dies für die +Abkürzung \enquote{zum~Beispiel~(z.\,B.)} mit der nachfolgenden Definition: +% +\begin{Hint} +\newcommand{\zB}{\mbox{z.\,B.}\xspace} +\end{Hint} +% +Wenn ohnehin das Paket \Package{glossaries} für Akronyme verwendet wird, kann +alternativ dazu auch dessen Funktionalität genutzt werden. Nach dem Einbinden +braucht man in der Präambel lediglich Folgendes einfügen: +% +\begin{Hint} + \newignoredglossary{abbreviation} + \newcommand*\newabbreviation[4][]{% + \newacronym[type=abbreviation,#1]{#2}{\mbox{#3\xspace}}{#4}% + }% +\end{Hint} +% +Mit \Macro{newignoredglossary} wird dabei ein Glossar erstellt, welche bei der +Ausgabe aller Glossare mit \Macro{printglossaries} ignoriert wird. Im Dokument +kann die gewünschte Abkürzung mit +% +\begin{Hint*} +\newabbreviation{zB}{z.\,B.}{zum Beispiel} +\end{Hint*} +% +definiert und über die gewohnten Befehlen aus \Package{glossaries} verwendet +werden. +% +\begin{Hint*} +Die Ausgabe der eben definierten Abkürzung erfolgt \acrshort{zB} mit dem +Befehl \texttt{\textbackslash acrshort}. Wurde \texttt{glossaries} mit +der Option \texttt{shortcut} geladen, kann alternativ auch das kürzere +Makro \texttt{\textbackslash acs} genutzt werden. +\end{Hint*} + + +\subsection{Mathematiksatz} +Von \hologo{LaTeXe} werden einige Umgebungen für das Setzen mathematischer +Formeln und Ausdrücke bereitgestellt, welche meist jedoch nicht \emph{alle} +Anforderungen eines Nutzers an den Mathematiksatz erfüllen können. Das Paket +\Package{amsmath} bietet deshalb eine Reihe weiterführender Umgebungen für das +Setzen von einzeiligen und mehrzeiligen sowie ausgerichteter Formeln zur +Verfügung. Auf eine Einführung in das Paket wird~-- aufgrund der bereits in +großer Zahl vorhandenen Einführungen~-- in diesem Tutorial verzichtet. Außerdem +stehen mit \Tutorial{mathtype} und \Tutorial{mathswap} zwei weitere Tutorials +zur Verfügung, die sich explizit mit der Thematik eines guten mathematischen +Satz beschäftigen. + +Das Paket \Package{amsmath} stellt den De-facto-Standard für den mathematischen +Satz mit \hologo{LaTeXe} dar. Allerdings wird es~-- insbesondere aus diesem +Grund~-- nur sehr \enquote{vorsichtig} weiterentwickelt. Für das Setzen neuer +Dokumente sollte deswegen das Paket \Package{mathtools} verwendet werden, +welches zwar auf \Package{amsmath} basiert, dieses jedoch um zusätzliche +Funktionalitäten ergänzt und Bugfixes bereithält. + + +\subsection{Einheiten} +Mit dem Paket \Package{siunitx} lassen sich sowohl physikalische Einheiten als +auch Zahlen typographisch korrekt setzen. Sollen die Funktionalitäten in einem +deutschsprachigen Dokument problemlos nutzbar sein, so sind die Hinweise zum +\manualhyperref{sec:tips:siunitx}{Setzen von Einheiten mit \Package{siunitx}} +im \TUDScript-Handbuch zu beachten. Das Paket \Package{units} ist nicht ganz so +mächtig wie \Package{siunitx}, kann allerdings als pragmatische Alternative +gesehen und genutzt werden. + + +\subsection{Darstellung von mathematischen Brüchen} +Für ansehnliche und insbesondere im Fließtext gut lesbare mathematische Brüche +stellt das Paket \Package{xfrac} den Befehl \Macro{sfrac} zur Verfügung. +% +\begin{Preamble} +\usepackage{xfrac} + +\end{Preamble} + + +\subsection{Ligaturen} +Die meisten \hologo{LaTeX}-Schriftfamilien enthalten Ligaturen, die für einen +typographisch sauberen Satz bei zusammengesetzten Wörtern, wie sie gerade im +Deutschen relativ häufig vorkommen, aufgetrennt werden müssten. Mit der +Anwendung \href{http://www.ctan.org/pkg/delig}{\Application{DeLig}} kann dies +automatisiert geschehen. Wird \hologo{LuaLaTeX} als Dokumentprozessor genutzt, +kann alternativ für dieses Unterfangen das Paket \Package{selnolig} verwendet +werden. + + +\subsection{Listen} +\label{sec:lists} +Für Auflistungen aller Art bietet \hologo{LaTeX} die drei Standardumgebungen +\Environment{iteimze}, \Environment{enumerate} und \Environment{description}. +Das häufigste Anliegen bei der Verwendung dieser Umgebungen ist das Reduzieren +der Abstände zwischen den einzelnen, mit \Macro{item} gesetzten Punkten, welche +sehr häufig als zu groß empfunden werden. Eine Aufzählung erscheint ohne +weitere Anpassungen normalerweise so: +% +\CodePreamble{% + Aufzählung mit einer \Environment{itemize}-Umgebung und Standardabständen:% +} +\begin{Hint*} +\begin{itemize} +\item erster Punkt +\item zweiter Punkt +\item dritter Punkt +\end{itemize} +\end{Hint*} +% +Dabei wirken die Abstände zwischen den einzelnen Punkten tatsächlich etwas +überdimensioniert. Mit dem Paket \Package{enumitem} können die Umgebungen für +Auflistungen einfach an die individuellen Bedürfnisse angepasst werden. +% +\begin{Preamble} +\usepackage{enumitem} +\end{Preamble} +Um diese ungewollten Abstände zwischen den Listenpunkten zu entfernen, kann der +Schlüssel \Option{noitemsep} verwendet werden. Mit dem Befehl \Macro{setlist} +werden~-- ohne zusätzliche Angaben im optionalen Argument~-- alle Umgebungen +für Aufzählungen global geändert. Hier soll dies lediglich für die Umgebung +\Environment{itemize} geschehen: +\begin{Preamble*} +\setlist[itemize]{noitemsep} + +\end{Preamble*} +% +Das Ergebnis stellt sich folgendermaßen dar: +% +\CodePreamble{% + Aufzählung mit einer \Environment{itemize}-Umgebung ohne vertikale Abstände:% +} +\begin{Hint*} +\begin{itemize} +\item erster Punkt +\item zweiter Punkt +\item dritter Punkt +\end{itemize} + +\end{Hint*} +% +Alternativ zur globalen Änderung einer speziellen oder aller Aufzählungslisten +kann der Schlüssel \PValue{noitemsep} auch nur gezielt an einzelne Umgebung +über das optionale Argument weitergereicht werden. + +Natürlich erlaubt das Paket noch weitergehende Einstellungen für die Umgebungen +\Environment{itemize}, \Environment{enumerate} und \Environment{description}. +Zusätzlich können diese für eigene Aufzählungsumgebungen geklont und den +eigenen Bedürfnissen angepasst werden. Genaueres hierzu ist der Dokumentation +des Paketes \Package{enumitem} entnehmen. + + +\subsection{Datumsformatierung} +Das Paket \Package{isodate} stellt den Befehl \Macro{printdate} bereit, welcher +für die Formatierung von Datumsangaben verwendet werden kann. Wird das Paket +mit einer der \TUDScript-Dokumentklassen geladen, wird der genannte Befehl +automatisch für alle bereitgestellten Datumsfelder verwendet. +% +\begin{Preamble} +\usepackage{isodate} + +\end{Preamble} + + +\subsection{Auslassungspunkte} +Das typographisch richtige Setzen von Auslassungspunkten mit den Befehlen +\Macro{dots} repsektive \Macro{textellipsis} wird im Handbuch unter +\manualhyperref{sec:tips:dots}{Das Setzen von Auslassungspunkten} genauer +beschrieben, weshalb hier nur kurz darauf eingegangen wird. Es wird das Paket +\Package{ellipsis} benötigt. +% +\begin{Preamble} +\usepackage{ellipsis} +\end{Preamble} +% +Für deutschsprachige Texte sollten außerdem noch +% +\begin{Preamble} +\let\ellipsispunctuation\relax + +\end{Preamble} +% +ausgeführt werden. + + + +\section{Erstellen von Abbildungen} +\label{sec:figures} +Die einfachste Möglichkeit, in einer wissenschaftlichen Abhandlung Grafiken zu +verwenden, ist sicherlich das Einbinden von externen Abbildungen mit dem Befehl +\Macro{includegraphics}. Allerdings ist für eine wissenschaftliche Arbeit in +höchster Qualität meiner Meinung nach das bloße Einfügen einer gescannten oder +heruntergeladenen Grafik unzureichend. Vielmehr sollte diese zum einen als +skalierbare Vektorgrafik vorliegen, um sowohl die höchste Druckqualität als +auch die Wiederverwendbarkeit sicherzustellen, und zum anderen in ihrer +Gestaltung dem verwendeten Layout des verfassten Dokumentes entsprechen. Dies +betrifft sowohl die eingesetzten Farben und Schriften als auch die Stärke der +verwendeten Linien. + +Zum Zeichnen von Grafiken sind die freien Programme \Application{LaTeXDraw} und +besonders \Application{Inkscape} empfehlenswert, da diese die Verwendung der +Dokumentschriften innerhalb der erstellten Grafiken ermöglichen. Im Handbuch zu +\TUDScript wird dies für \manualhyperref{sec:tips:svg}{\Application{Inkscape}} +genauer erläutert. Eine andere Variante ist das \enquote{Programmieren} von +Grafiken. Die zwei bekanntesten \hologo{LaTeX}-Pakete sind \Package{tikz}(pgf) +und \Package{pstricks}(pstricks-base). Für diese beiden wird im Folgenden eine +Abbildung exemplarisch erstellt, ohne dabei tiefer ins Detail gehen zu wollen. +Ebenfalls wird darauf verzichtet, diese im Kopierbeispiel einzubinden. Für +beide Pakete gibt es neben der umfangreichen Dokumentation zahlreiche Beispiele +und Erläuterungen im Internet. + + +\subsection{Das Paket \Package{tikz}} +Zur Verwendung von \Package{tikz}(pgf) ist nicht viel zu sagen. Einfach in der +Dokumentpräambel einbinden und es kann losgehen. Für das nachfolgende Beispiel +sind außerdem noch zwei weitere Programmbibliotheken für \Package{tikz}(pgf) +notwendig. +% +\begin{Hint} +\usepackage{tikz} +\usetikzlibrary{chains} +\usetikzlibrary{decorations.markings} +\tikzset{on grid} +\end{Hint} +% +Ein kurze Anmerkungen zur Skalierung der Grafiken möchte ich mir erlauben. +Normalerweise verwendet \Package{tikz}(pgf) Koordinaten im Zentimeter"=Raster. +Ich persönlich bevorzuge der relativierte Skalierung auf die Textbreite des +Dokumentes, wobei eine Einheit genau \SI{1}{\percent} dieser entspricht. Das +kann mit folgendem Quelltext erreicht werden: +% +\CodeHook{\renewcommand\newlength[1]{}} +\begin{Hint*} +\newlength{\tikzunit} +\setlength{\tikzunit}{.01\textwidth} +\tikzset{x=\tikzunit,y=\tikzunit} +\end{Hint*} +% +Nachfolgend wird eine Grafik innerhalb einer Gleitumgebung exemplarisch +erstellt. Das Ergebnis ist in \autoref{fig:tikz} zu sehen. + +\begin{Hint?} +\begin{figure} +\begin{tikzpicture} + \tikzstyle{inner box}=[% + text width=17\tikzunit, + align=center, + rectangle, + inner sep=.5\tikzunit, + minimum height=8\tikzunit, + font=\hspace{0pt}, + draw + ] + \tikzstyle{inner label}=[align=center, font=\scriptsize] + \tikzstyle{inner box chain}=[every node/.style={on chain}] + \tikzstyle{inner box chain below}=[% + inner box chain, node distance=8\tikzunit,continue chain=going below + ] + \tikzstyle{inner box chain right}=[% + inner box chain,node distance=35\tikzunit,continue chain=going right + ] + \tikzstyle{inner box chain above}=[% + inner box chain,node distance=16\tikzunit,continue chain=going above + ] + \tikzstyle{pstarrow->}=[% + decoration={markings, + mark=at position 1 with {\arrow[xscale=1.5]{stealth}}; + }, + postaction={decorate}, + shorten >=0.7pt + ] + \newcommand\tikzparbox[2][9]{% + \parbox{#1\tikzunit}{\centering\hspace{0pt}#2}% + } + \begin{scope}[start chain] + \begin{scope}[inner box chain below] + \node(NE)[inner box]{Navigations\-ebene}; + \node(NB)[inner label]{gewählte Fahrtroute\\zeitlicher Ablauf}; + \node(BE)[inner box]{{Bahnführungs\-ebene}}; + \node(BS)[inner label]{% + gewählte Führungsgrößen:\\Sollspur, Sollgeschwindigkeit% + }; + \node(SE)[inner box]{Stabilisierungs\-ebene}; + \end{scope} + \begin{scope}[inner box chain right] + \node(LQ)[inner box]{Längs- und Querdynamik}; + \node(FO)[inner box]{Fahrbahn\-oberfläche}; + \end{scope} + \begin{scope}[inner box chain above] + \node(FR)[inner box]{Fahrraum\\\smallskip{\scriptsize Straße + und\\\vspace{-1.5ex}Verkehrssituation}}; + \node(SN)[inner box]{Straßennetz}; + \end{scope} + \end{scope} + \begin{scope}[inner label,minimum size=0pt] + \draw [pstarrow->] (FO) -| ++(13.5,-12) to + node [above]{Istspur, Istgeschwindigkeit} ++(-97,0) |- (SE); + \draw [pstarrow->] (FR) -| ++(14 ,-32) to + node [above]{Bereich sicherer Führungsgrößen} ++(-98,0) |- (BE); + \draw [pstarrow->] (SN) -| ++(14.5 ,-52) to + node [above]{mögliche Fahrtroute} ++(-99,0) |- (NE); + \end{scope} + \begin{scope}[inner label] + \draw (NE) to (NB); + \draw [pstarrow->] (NB) to (BE); + \draw (BE) to (BS); + \draw [pstarrow->] (BS) to (SE); + \draw [pstarrow->] (SE) to + node[above] {\tikzparbox{Stell\-größen}} + node[below] {\tikzparbox{Lenken Gasgeben Bremsen}} + (LQ); + \draw [pstarrow->] (LQ) to + node[above]{\tikzparbox{Regel\-größen}} + node[below]{\tikzparbox{Fahrzeugbewegung}} + (FO); + \draw [pstarrow->] (LQ)+(24,0) |- (FR); + \draw [pstarrow->] (LQ)+(24,0) |- (SN); + \end{scope} + \begin{scope}[very thick,rounded corners=5\tikzunit] + \draw (-12.5,-40) rectangle (12.5,14); + \draw ( 22.5,-40) rectangle (47.5,-18); + \draw ( 57.5,-40) rectangle (82.5,14); + \end{scope} + \begin{scope}[font=\bfseries] + \node at (0,9) {Fahrer}; + \node at (35,-23) {Fahrzeug}; + \node at (70,9) {Umwelt}; + \end{scope} +\end{tikzpicture} +\caption{Eine mit TikZ erstellte Grafik}\label{fig:tikz} +\end{figure} +\end{Hint?} +%\InputCode + + +\subsection{Das Paket \Package{pstricks}} +Die zuvor mit \Package{tikz}(pgf) erstellte Grafik wird nachfolgend mit dem +Paket \Package{pstricks} erstellt. Mit diesem lassen sich PostScript"=Grafiken +erstellen. Ähnlich wie bei \Package{tikz}(pgf) gibt es ein Kernpaket und +zusätzliche Ergänzungen. Diese werden jedoch nicht als Programmbibliotheken +sondern ganz normal als \hologo{LaTeX}"=Pakete eingebunden. +% +\begin{Hint} +\usepackage{pstricks} +\usepackage{pst-node} +\end{Hint} +% +Die Verwendung von PostScript hat zahlreiche Vorteile, macht die direkte +Nutzung von \hologo{pdfLaTeX} etwas schwierig. Das Paket \Package{auto-pst-pdf} +schafft hier jedoch Abhilfe. Wird \hologo{pdfLaTeX} über die zusätzliche Option +\Option{--shell-escape} respektive \Option{--enable-write18} mit erweiterten +Schreibrechten aufgerufen, so werden die Abbildungen automatisch im PDF-Format +erzeugt und eingebunden. +% +\begin{Hint} +\usepackage{auto-pst-pdf} +\end{Hint} +% +Bei einigen Pakete kommt es in der Kombination mit \Package{auto-pst-pdf} zu +kleineren Problemen, die sich jedoch meist relativ leicht beheben lassen. Im +Handbuch wird die \manualhyperref{sec:tips:floatrow}{gleichzeitige Verwendung} +von \Package{auto-pst-pdf} in Kombination mit den Paketen \Package{tikz}(pgf), +\Package{todonotes} sowie \Package{floatrow}~-- bei der Nutzung des Befehls +\Macro{ffigbox}~-- erklärt. Diese Hinweise sollten Sie gegebenenfalls beachten. + +Ähnlich wie zuvor bei der \Package{tikz}(pgf)-Grafik wird die nachfolgende +\Package{pstricks}-Abbildung auf die Textbreite des Dokumentes skaliert, wobei +eine Einheit genau \SI{1}{\percent} dieser entspricht. Außerdem werden noch ein +paar weitere Einstellungen gemacht. Dies geschieht mit: +% +\begin{Hint*} +\psset{% + unit=.01\textwidth,% + cornersize=absolute,% + labelsep=.8ex,% + linewidth=.4pt,% + arrowscale=1.5,% +} +\end{Hint*} +% +Die innerhalb einer Gleitumgebung erzeugte \Package{pstricks}-Grafik ist in +\autoref{fig:pstricks} dargestellt. +% +\begin{Hint?} +\begin{figure} +\begin{pspicture}(0,-2)(100,64) +\newcommand\fnodetext{} +\def\fnodetext(#1)#2#3{% + \fnode[framesize=18 8](#1){#2}% + \rput(#1){\parbox{17\psunit}{\centering\hspace{0pt}#3}}% +} +\newcommand\scriptbox[2][24]{% + \parbox{#1\psunit}{\scriptsize\centering\hspace{0pt}#2}% +} +\rput(15,10){% + \rput(0,49){\textbf{Fahrer}} + \fnodetext(0,40){NE}{Navigations\-ebene} + \fnodetext(0,24){BE}{Bahnführungs\-ebene} + \fnodetext(0,08){SE}{Stabilisierungs\-ebene} + \ncline{->}{NE}{BE} + \ncput*{\scriptbox{gewählte Fahrtroute\\zeitlicher Ablauf}} + \ncline{->}{BE}{SE} + \ncput*{% + \scriptbox{gewählte Führungsgrößen:\\Sollspur,~Sollgeschwindigkeit}% + } + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54) +} +\rput(50,10){% + \rput(0,17){\textbf{Fahrzeug}} + \fnodetext(0,8){FZ}{Längs- und\\Querdynamik} + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,22) +} +\rput(85,10){% + \rput(0,49){\textbf{Umwelt}} + \fnodetext(0,40){SN}{Straßennetz} + \fnodetext(0,24){FR}{% + Fahrraum\\\smallskip\scriptsize{Straße und Verkehrssituation}% + } + \fnodetext(0,08){FO}{Fahrbahn\-oberfläche} + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54) +} + +\ncline{->}{SE}{FZ} +\naput{\scriptbox[9]{Stell\-größen}} +\nbput{\scriptbox[9]{Lenken Gasgeben Bremsen}} +\ncline{->}{FZ}{FO} +\naput{\scriptbox[9]{Regel\-größen}} +\nbput{\scriptbox[9]{Fahrzeugbewegung}} + +\psset{armA=15,armB=0,angleA=0,angleB=180} +\ncangles{->}{FZ}{FR} +\ncangles{->}{FZ}{SN} + +\psset{angleA=180,angleB=0} +\ncloop[loopsize=12,arm=4.5]{<-}{SE}{FO} +\naput{\scriptbox{Istspur, Istgeschwindigkeit}} +\ncloop[loopsize=32,arm=5]{<-}{BE}{FR} +\naput{\scriptbox[30]{Bereich sicherer Führungsgrößen}} +\ncloop[loopsize=52,arm=5.5]{<-}{NE}{SN} +\naput{\scriptbox{mögliche Fahrtroute}} +\end{pspicture} +\caption{Eine mit pstricks erstellte Grafik}\label{fig:pstricks} +\end{figure} +\end{Hint?} + + +\subsection{Auslagern von Grafiken in separate Dateien} +Damit \enquote{programmierte} Grafiken zum einen das Dokument respektive dessen +Struktur nicht unnötig unübersichtlich machen und zum anderen nur nach einer +Änderung abermals kompiliert werden, um die Kompilierungsdauer möglichst gering +zu halten, ist es ratsam, diese in separate Dateien auszulagern. Hierfür bieten +sich die beiden Pakete \Package*{subfiles} und \Package*{standalone} an, welche +im Handbuch erläutert werden. + + + +\section{Dokumentation von Quelltexten} +Sollen in einer Dokument Quelltextauszüge beschrieben werden oder ganze +Quelltextdateien eingebunden werden, so empfiehlt sich für dieses Vorhaben das +Paket \Package{listings}. Neben der bloßen Einbindung der Quelltexte bietet es +zusätzlich die Möglichkeit, die Syntax in Abhängigkeit der verwendeten +Programmiersprache hervorzuheben. Zusätzlich lässt sich ein Verzeichnis mit +allen eingebundenen sowie direkt im Dokument angegebenen Quelltextauszügen +erstellen. +% +\begin{Hint} +\usepackage{listings} +\end{Hint} +% +Wird das Paket in einem Dokument mit UTF"~8-Kodierung verwendet, muss dies dem +Paket in der Präambel mitgeteilt werden: +% +\begin{Hint} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\end{Hint} +% +Nachdem nun die Grundeinstellungen erfolgt sind, kann ein eigener Stil für eine +gewünschte Programmiersprache definiert werden. Im folgenden Beispiel wird dies +für ein MATLAB"~Skript demonstriert. Als erstes wird \Macro{lstdefinestyle} ein +eigener \Package{lsitings}"~Stil erstellt: +% +\begin{Hint*} +\lstdefinestyle{matlab}{% + language=Matlab,% + basicstyle=\ttfamily,% + commentstyle={\color{green!50!black}}, + keywordstyle={\color{blue!75!black}},% + columns=flexible,keepspaces,% +} +\end{Hint*} +% +Dabei wird die verwendete Programmiersprache definiert sowie die Formatierung +für die Quelltextauszüge festgelegt. Für weitere Einstellungsmöglichkeiten +sollte die Dokumentation zum Paket zu Rate gezogen werden. Der so definierte +Stil lässt sich anschließend folgendermaßen verwenden. +% +\begin{Hint} +\begin{lstlisting}[style=matlab] +§\dots§ +\end{lstlisting} +\end{Hint} +% +Soll innerhalb eines Quelltextauszuges ein Teil als \hologo{LaTeX}"~Code +interpretiert werden, lässt sich mit \PValue{escapechar} ein Escape-Zeichen +definieren. Mit \Macro{lstnewenvironment} ist es außerdem möglich, eine eigene +\Package{lsitings}-Umgebung zu definieren. Das Einbinden externer Quelldateien +in das Dokument ist über +\Macro{lstinputlisting}\OParameter{Schlüssel-Wert-Liste}\Parameter{Dateiname} +möglich, wobei dabei im optionalen Argument ebenfalls der definierte Stil +angegeben werden sollte. Es folgt die Ausgabe eines kurzen Beispiels mit dem +zuvor definierten Stil \PValue{matlab}. +% +\begin{lstlisting}[style=matlab] +function perfect = isperfect(test_value) + % This function checks to see if the given number is "perfect"; + % a "perfect" number is an integer whose factors + % (excluding itself) add up to it. + % + % Example: 6 is a perfect number: 1 + 2 + 3 = 6 == 6 + % 8 is not: 1 + 2 + 4 = 7 ~= 8 + % 28 is a perfect number: 1 + 2 + 4 + 7 + 14 = 28 == 28 + % + % Arguments: + % + % test_value (input) check to see if this value + % is perfect or not + % perfect (output) if yes, set this to 1 + % if no, set this to 0 + + % this will keep track of the sum of all integer divisors + tempsum = 0; + + % we check all possible divisors + for (divisor = 1 : test_value - 1) + div_result = test_value / divisor; + + if (div_result == floor(div_result)) + % this is an integer divisor, so add it to the sum + tempsum = tempsum + divisor; + end + end + + % now, does the sum equal the test_value? + if (tempsum == test_value) + perfect = 1; + else + perfect = 0; + end +end +\end{lstlisting} + + + + +\section{Und ganz zum Schluss \dots} +Mit Sicherheit werden Sie im Laufe der Zeit auf die eine oder andere Frage zu +\hologo{LaTeXe} stoßen, die in diesem Tutorial nicht behandelt wurde. Sollten +Sie an diesen Punkt gelangen, so empfehle ich als erstes einen Blick in die +Kapitel \manualhyperref{sec:packages}{Unerlässliche und beachtenswerte Pakete} +sowie \manualhyperref{sec:tips}{Praktische Tipps \& Tricks} im Handbuch zu +\TUDScript. Sollte Ihre Frage trotzdem unbeantwortet bleiben, so wäre der +Besuch eines \hologo{LaTeX}-Forums der nächste Schritt. Für allgemeine Anfragen +kann ich unter anderem folgende Foren empfehlen: +% +\begin{itemize} +\item \hrfn{http://mrunix.de/forums/forumdisplay.php?38-LaTeX-Forum}{mrunix} +\item \hrfn{http://golatex.de/}{golatex} +\item \hrfn{http://tex.stackexchange.com/}{\hologo{LaTeX} Stack Exchange} +\item \hrfn{http://www.latex-community.org/forum/}{\hologo{LaTeX} Community} +\end{itemize} +% +Insbesondere alle \TUDScript betreffende Fragen sollten natürlich direkt im +dazugehörigen \Forum gestellt werden. + +\begin{Trunk+} +\printbibliography[heading=bibintoc]\label{sec:bibliography} +\end{Trunk+} +\printbibliography[heading=bibintoc] + +\addsec{Index} +Da das Tutorial etwas umfangreicher ist, wird für alle erläuterten Optionen, +Umgebungen und Befehle ein Index erstellt. +\PrintIndex + +\FinishTutorial[% + Um das im kopierten Beispiel erstellte Literaturverzeichnis in das Dokument + einbinden zu können, bedarf es dem einmaligen Aufruf von \Application{biber} + nach dem ersten Durchlauf von \hologo{pdfLaTeX}. Dies erfolgt mit dem Aufruf + \PValue{biber}~\PName{Dateiname}. Danach ist ein weiteres mal die Verwendung + von \PValue{pdflatex}~\PName{Dateiname} notwendig. + + Für das Erstellen von Abkürzungs- und Symbolverzeichnis sollte das mehrmalige + Ausführen von \PValue{pdflatex}~\PName{Dateiname} vollkommen ausreichen. In + diesem Fall werden die Einträge mit \Application{makeindex} sortiert. Soll + stattdessen \Application{xindy} die Sortierung durchführen, muss beim Laden + von \Package{glossaries} die entsprechende Paketoption aktiviert werden. Für + diesen Fall sollte nach der Verwendung von \hologo{pdfLaTeX} der Aufruf des + Perl"=Skriptes \PValue{makeglossaries}~\PName{Dateiname} erfolgen, was + allerdings nur mit \Distribution{\hologo{TeX}~Live} ohne weiteres Zutun + möglich ist. Nutzer von \Distribution{\hologo{MiKTeX}} müssen das Sortieren + mit \Application{xindy} händisch anstoßen. +] +\end{document} 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..ede73513e1a --- /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..ddcd0404246 --- /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..a5d9097ccb1 --- /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..84fa648559e --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.tex @@ -0,0 +1,81 @@ +\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[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\usepackage{bookmark} +\usepackage{microtype} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscrsource.tex} +\KOMAoptions{parskip=half-} +\begin{document} +\addtokomafont{subject}{\sffamily} +\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{} v3.12} +\title{Ein \LaTeXe-Bundle für Dokumente \mbox{im neuen \CD der} \mbox{\TnUD}} +\subtitle{Dokumentierter Quelltext} +\date{\filedate\\[1ex] Version \fileversion} +\author{Falk Hanisch\thanks{\tudscrmail}} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Quelltextdokumentation des \TUDScript-Bundles},% + pdfkeywords = {LaTeX, \TUDScript, Quelltext},% + }% +\endgroup% +\makeatother +\maketitle +Das \TUDScript-Bundle setzt das \CD der \TnUD für \LaTeXe{} um. Die darin +enthaltenen Klassen und Paketen basieren auf dem \KOMAScript-Bundle und sind +sehr eng mit diesen verwoben. Momentan ergänzen sie die alten, auf den +Standard-\LaTeX-Klassen basierenden Vorlagen von Klaus Bergmann, sollen diese +jedoch mittel- bis langfristig ersetzen.% +\footnote{% + aktuell ist dies \cls{tudbook}, geplant \cls{tudfax}, \cls{tudletter}, + \cls{tudform}, \cls{tudhaus} und evtl. auch \cls{tudbeamer} +} +Es handelt sich bei diesem Dokument \emph{nicht} um das Anwenderhandbuch +sondern um den dokumentierten Quelltext der Implementierung von \TUDScript. +Das Anwenderhandbuch kann über die Konsole respektive das Terminal mit dem +Aufruf \texttt{texdoc tudscr} geöffnet werden. + +\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} +\DocInclude{tudscr-manual} +\DocInclude{tudscr-doc} + +\addpart{\appendixname} +\phantomsection\addxcontentsline{toc}{section}{\indexname} +\PrintIndex +\clearpage +\phantomsection\addxcontentsline{toc}{section}{Change History} +\PrintChanges +\end{document} diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf Binary files differnew file mode 100644 index 00000000000..f19b0077e48 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf Binary files differnew file mode 100644 index 00000000000..313e94257f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf Binary files differnew file mode 100644 index 00000000000..0fa94a76a3b --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf 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..517936b8410 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx @@ -0,0 +1,610 @@ +% \CheckSum{271} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-base.dtx}[% + 2014/11/05 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{tudscrbase}[% +%<*driver|package> +%!TUDVersion +%<package> package + (basics for the bundle)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-base.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% +% \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 +%<*package> +% \fi +% +% \subsection{Das Paket \pkg{tudscrbase}} +% +% Das Paket \pkg{scrbase} wird zur Optionsdefinition benötigt. +% \begin{macrocode} +\RequirePackage{scrbase}[2013/12/19] +% \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}[2012/04/25] +% \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}[2011/01/03] +% \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} +% +% \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@numkey@bool} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \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}% +} +% \end{macrocode} +% Um Dopplungen im Code zu vermeiden, werden für die numerische Schlüssel die +% booleschen Standardwertzuweisungen in einem Makro gespeichert. +% \begin{macrocode} +\newcommand*\TUD@numkey@bool{% + {false}{0},{off}{0},{no}{0},{true}{1},{on}{1},{yes}{1}% +} +\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@bool +% \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 mit \cs{tud@cmd@use}\marg{Befehlsname} +% weiterhin 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 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]{% + \PackageWarning{tudscrbase}{% + It wasn't possible to patch `#1'.\MessageBreak% + Please contact the author via \tudscrmail.\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} +% \changes{v2.02}{2014/07/25}{Beachtung der gegebenen Standardwerte}%^^A +% \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@\TUD@parameter@family @#2@default% + }{% + KV@\TUD@parameter@family @#3@default% + }% + }{% + \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}% + \@expandtwoargs{\csletcs}{KV@#1@#2@default}{KV@#1@#3@default}% + }% +} +% \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]{% + \PackageWarning{tudscrbase}{% + Parameter `#1' can only be used with values:\MessageBreak% + #2% + }% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@wrn +% +% \iffalse +%</package> +%<*load> +% \fi +% +% \subsection{Laden des Paketes} +% Die Klassen benötigen das Paket und laden dieses auch. +% \begin{macrocode} +\RequirePackage{tudscrbase}[\TUDVersion] +% \end{macrocode} +% +% \iffalse +%</load> +%<*execute> +% \fi +% +% \subsection{Durchreichen von Optionen und Standardoptionen} +% +% Durchreichen aller Klassenoptionen an die \KOMAScript-Klasse bzw. an die +% genutzte \TUDScript-Elternklasse. +% \begin{macrocode} +%<*!inherit> +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +%</!inherit> +%<*inherit> +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\tudinh@name}} +%</inherit> +% \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. +% \begin{macrocode} +%<*!inherit> +\TUDExecuteOptions{\TUDDefaultOptions} +%</!inherit> +\TUDProcessOptions\relax +% \end{macrocode} +% Die korrespindierende \KOMAScript-Klasse bzw. \TUDScript-Elternklasse wird +% geladen. +% \begin{macrocode} +%<*!inherit> +\LoadClass{\scrcls@name}[2013/12/19] +%</!inherit> +%<*inherit> +\LoadClass{\tudinh@name} +%</inherit> +% \end{macrocode} +% +% \iffalse +%<*!inherit> +% \fi +% +% \subsection{Externe Pakete} +% +% \changes{v2.01}{2014/04/24}{Versionsanforderungen bei benötigten Paketen}%^^A +% \changes{v2.02}{2014/07/08}{Warnung bei der Verwendung von \pkg{graphics}}%^^A +% +% 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. +% +% Die \env{abstract}-Umgebung wird im Vergleich zu den \KOMAScript-Klassen +% stark erweitert. Für diese sowie für die Umgebungen \env{declarations} und +% \env{tudpage} wird das Paket \pkg{environ} für die 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. +% Sollte lediglich das \pkg{graphics}-Paket geladen worden sein, so wird der +% Nutzer mit einer Warnung informiert, dass das \pkg{graphicx}-Paket zusätzlich +% geladen wird. +% \begin{macrocode} + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\tudcls@name}{% + The package `graphics' was superseded by `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} + \RequirePackage{tudscrcolor}[\TUDVersion]% +} +% \end{macrocode} +% +% \iffalse +%</!inherit> +%</execute> +% \fi +% +% \Finale +% +\endinput 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..bf07d2ead4c --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx @@ -0,0 +1,444 @@ +% \CheckSum{233} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-color.dtx}[% + 2014/10/10 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{tudscrcolor}[% +%<*driver|package> +%!TUDVersion +%<package> package + (corporate design colors)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-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> +% \fi +% +% \subsection{Optionen des Paketes \pkg{tudscrcolor}} +% +% \begin{macrocode} +\DeclareOption{reduced}{\let\setcdcolors@add\relax} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} +% \end{macrocode} +% +% \iffalse +%</package> +%<*class> +% \fi +% +% \subsection{Befehle für die \cls{tudscr}-Klassen} +% +% \begin{macro}{\nopagecolor} +% \begin{macro}{\tud@pagecolor} +% \begin{macro}{\tud@restorepagecolor} +% Diese Befehle dienen zum Umschalten der Farben für Titel- und Kapitelseiten. +% 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} +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \let\tud@pagecolor\pagecolor% + \let\tud@restorepagecolor\nopagecolor% + \AfterPackage*{pagecolor}{% + \let\tud@pagecolor\newpagecolor% + \let\tud@restorepagecolor\restorepagecolor% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@restorepagecolor +% \end{macro}^^A \tud@pagecolor +% \end{macro}^^A \nopagecolor +% 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> +% \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}{cdgrey} +% \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{cdgrey}{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 cdgrey +% \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}[2007/01/21] +\setcdcolors{} +% \end{macrocode} +% +% \iffalse +%</package> +% \fi +% +% \Finale +% +\endinput 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..091416da345 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx @@ -0,0 +1,569 @@ +% \CheckSum{336} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-comp.dtx}[% + 2014/11/05 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{tudscrcomp}[% +%<*driver|package> +%!TUDVersion +%<package> package + (compatibility for tudbook)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-comp.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Kompatibilität für die \cls{tudbook}-Klasse und frühere Versionen} +% +% 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> +% \fi +% +% \subsection{Das Paket \pkg{tudscrcomp} -- \cls{tudbook}-Kompatibilität} +% +% \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=true}% + \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=true}% + \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{% + \global\@tud@chapterpage@temptrue% + \tud@chapterpage@wrn% +} +\newcommand*\tud@chapterpage@set[1][]{% + \if@tud@chapterpage@temp% + \if@tud@chapterpage% + \TUDoptions{chapterpage=false}% + \else% + \TUDoptions{chapterpage=true}% + \fi% + \fi% +} +\newcommand*\tud@chapterpage@unset[1][]{% + \tud@chapterpage@set% + \global\@tud@chapterpage@tempfalse% +} +\AtEndPreamble{% + \pretocmd{\tud@chapter}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@nchapter}}% + \apptocmd{\tud@chapter}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@nchapter}}% + \pretocmd{\tud@schapter}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@schapter}}% + \apptocmd{\tud@schapter}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@schapter}}% + \pretocmd{\tud@addchap}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@naddchap}}% + \apptocmd{\tud@addchap}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@naddchap}}% + \pretocmd{\tud@saddchap}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@saddchap}}% + \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@saddchap}}% +} +% \end{macrocode} +% 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> +% \fi +% +% \subsection{Kompatibilität zu früheren \TUDScript-Versionen} +% +% Neben den Optionen und Befehlen im Paket \pkg{tudscrcomp} gibt es weitere +% veraltete, die jedoch direkt in den Klassen vorgehalten werden. Deren Maßgabe +% ist es, die Kompatibilität zu älteren \TUDScript-Versionen zu erhalten. +% +% Mit der Version v2.02 wurde eine Menge~-- teilweise sehr tiefgreifend~-- +% geändert. Die Kompatibilität zu früheren Versionen wird nicht verfolgt. +% In Zukunft wird es wohl noch die ein oder andere Änderung geben. Hierfür soll +% jedoch allerdings sehr wohl ein Kompatibilitätsmodus zur Verfügung stehen. +% Hiermit wird alles dafür vorbereitet. +% +% \iffalse +%<*class&option> +% \fi +% +% \begin{option}{color} +% \begin{option}{colour} +% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit +% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus +% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten. +% \begin{macrocode} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=lite}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} +% \end{macrocode} +% \end{option}^^A colour +% \end{option}^^A color +% \begin{option}{tudfonts} +% Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert. +% \begin{macrocode} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A tudfonts +% \begin{option}{tudfoot} +% Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert. +% \begin{macrocode} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfoot=true}% + \else% + \TUDoptions{cdfoot=false}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A tudfoot +% \begin{option}{tudscrver} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% \begin{macro}{\tudscr@v@comp} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% \begin{macro}{\tudscr@v@first} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% \begin{macro}{\tudscr@v@2.02} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% \begin{macro}{\tudscr@v@last} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% In einigen Fällen sind Änderungen mit früheren Versionen nicht kompatibel +% oder unerwünscht, weil diese beispielsweise das Ausgabeergebnis verändern. +% Standardmäßig werden die Klassen in der aktuellen Version geladen. Mit +% \opt{tudscrver=\meta{Version}} kann auf das Verhalten einer früheren +% Version geschaltet werden. Die eingestellte Kompatibilität wird als Zahl in +% \cs{tudscr@v@comp} gespeichert. In den Makros \cs{tudscr@v@\meta{Version}} +% werden die zugehörigen Nummern gespeichert. +% \begin{macrocode} +\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{tudscrver}[last]{% + \scr@ifundefinedorrelax{tudscr@v@#1}{% + \def\tudscr@v@comp{0}% + \ClassWarningNoLine{\tudcls@name}{% + You have set option `tudscrver' to `#1', but\MessageBreak% + this value of version is not supported.\MessageBreak% + Because of this, version was set to `first'% + }% + \FamilyKeyStateProcessed% + }{% + \ClassInfoNoLine{\tudcls@name}{% + Switching compatibility level to `#1'% + }% + \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \FamilyKeyStateProcessed% + }% +} +% \end{macrocode} +% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim +% Laden der Klasse gesetzt werden. Danach geht dies nicht mehr. +% \begin{macrocode} +\AtEndOfClass{% + \TUD@key{tudscrver}[]{% + \ClassError{\tudcls@name}{Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +% Außerdem wird darauf geachtet, dass mindestens \KOMAScript-Version~v3.12 +% vorhanden ist, andernfalls wird ein Fehler erzeugt. +% \begin{macrocode} + \ifcsdef{scr@v@3.12}{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% + \ClassError{\tudcls@name}{% + KOMA-Script compatibility level too low% + }{% + \TUDVersion\space has to be used at least with\MessageBreak% + KOMA-Script `version=v3.12'% + }% + \fi% + }{% + \ClassError{\tudcls@name}{% + outdated version of KOMA-Script% + }{% + \TUDVersion\space has to be used with KOMA-Script v3.12 or newer% + }% + }% +} +\@namedef{tudscr@v@first}{0} +\@namedef{tudscr@v@2.02}{0} +\@namedef{tudscr@v@last}{0} +% \end{macrocode} +% \end{macro}^^A \tudscr@v@last +% \end{macro}^^A \tudscr@v@2.02 +% \end{macro}^^A \tudscr@v@first +% \end{macro}^^A \tudscr@v@comp +% \end{option}^^A tudscrver +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{length}{\chapterheadingvskip} +% Die Länge \cs{chapterheadingvskip} wird aus Gründen der Kompatibilität zu +% älteren Versionen definiert. +% \begin{macrocode} +%<*book|report> +\newlength{\chapterheadingvskip} +\let\chapterheadingvskip\headingsvskip +%</book|report> +% \end{macrocode} +% \end{length}^^A \chapterheadingvskip +% \begin{macro}{\professorship} +% Für die Angabe des Lehrstuhls bzw. der Professur mit kann anstelle von +% \cs{chair} als Aliasbefehl auch \cs{professorship} genutzt werden. +% \begin{macrocode} +\newcommand*\professorship{} +\let\professorship\chair +% \end{macrocode} +% \end{macro}^^A \professorship +% \begin{macro}{\student} +% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden. +% \begin{macrocode} +\newcommand*\student{} +\let\student\author +% \end{macrocode} +% \end{macro}^^A \student +% \begin{macro}{\studentid} +% \begin{macro}{\matriculationid} +% Zur Angabe von Matrikelnummer kann auch \cs{studentid} oder +% \cs{matriculationnumber} genutzt werden. +% \begin{macrocode} +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +% \end{macrocode} +% \end{macro}^^A \matriculationid +% \end{macro}^^A \studentid +% \begin{macro}{\enrolmentyear} +% Das Immatrikulationsjahr kann auch mit \cs{enrolmentyear} angegeben werden. +% \begin{macrocode} +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +% \end{macrocode} +% \end{macro}^^A \enrolmentyear +% \begin{macro}{\birthplace} +% Zur Angabe des Geburtsortes kann auch \cs{birthplace} verwendet werden. +% \begin{macrocode} +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +% \end{macrocode} +% \end{macro}^^A \birthplace +% \begin{macro}{\location} +% Für die Angabe des Ortes kann auch \cs{location} genutzt werden. +% \begin{macrocode} +\newcommand*\location{} +\let\location\place +% \end{macrocode} +% \end{macro}^^A \location +% \begin{macro}{\submissiondate} +% Der Befehl \cs{submissiondate} kann als Aliasbefehl für den Standardbefehl +% \cs{date} zur Datumsangabe genutzt werden. +% \begin{macrocode} +\newcommand*\submissiondate{} +\let\submissiondate\date +% \end{macrocode} +% \end{macro}^^A \submissiondate +% \begin{macro}{\oralexaminationdate} +% Für \cs{defensedate} kann als Aliasbefehl auch \cs{oralexaminationdate} +% verwendet werden. +% \begin{macrocode} +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +% \end{macrocode} +% \end{macro}^^A \oralexaminationdate +% \begin{macro}{\birthday} +% Der Geburtstag kann auch mit \cs{birthday} angegeben werden. +% \begin{macrocode} +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +% \end{macrocode} +% \end{macro}^^A \birthday +% \begin{macro}{\logofile} +% \begin{macro}{\logofilename} +% Diese beiden Befehle können anstelle von \cs{headlogo} eingesetzt werden. +% \begin{macrocode} +\newcommand*\logofile{} +\let\logofile\headlogo +\newcommand*\logofilename{} +\let\logofilename\headlogo +% \end{macrocode} +% \end{macro}^^A \logofilename +% \end{macro}^^A \logofile +% +% \iffalse +%</class&body> +% \fi +% +% \Finale +% +\endinput 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..b980c247226 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx @@ -0,0 +1,225 @@ +% \CheckSum{183} +% \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-doc.dtx +%<*driver> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-doc.dtx}[% + 2014/12/16 v2.02 TUD-KOMA-Script\space% +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<class>\ProvidesClass{tudscrdoc}[% +%<*driver|class> +%!TUDVersion +%<class> class + (source code documentation based on scrdoc)% +] +%</driver|class> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed{} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-doc.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A +% +% \section{Quelltextdokumentation für das \TUDScript-Bundle} +% +% Mit dieser Klasse erfolgt die Quelltextdokumentation des \TUDScript-Bundles. +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class> +% \fi +% +% Sie basiert auf der Klasse \cls{scrdoc}. +% \begin{macrocode} +\LoadClassWithOptions{scrdoc} +% \end{macrocode} +% Die Seitenränder werden so eingestellt, dass für die Darstellung des +% Quelltextes genau 80~Zeichen zur Verfügung stehen. +% \begin{macrocode} +\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}{1.5\headsep} +\setlength{\textheight}{\dimexpr\paperheight-2\headsep-\footskip} +\RequirePackage{dox}[2010/12/16] +% \end{macrocode} +% Titelei. +% \begin{macrocode} +\title{% + \texttt{\filename}\thanks{% + Dies ist Version \fileversion\ von Datei \texttt{\filename}.% + }% +} +\author{Falk Hanisch\thanks{\tudscrmail}} +\date{\filedate} +% \end{macrocode} +% Befehle, welche nicht im Index auftauchen sollen. +% \begin{macrocode} +\DoNotIndex{\",\\,,\if,\@} +% \end{macrocode} +% Weitere Eintragstypen mittels Paket~\pkg{dox}. +% \begin{macrocode} +\doxitem[idxtype=Option]{Option}{option}{Optionen} +\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} +\doxitem[idxtype=Seitenstil]{Pagestyle}{pagestyle}{Seitenstile} +\doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen} +\doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler} +\doxitem[idxtype=Farbe]{Color}{color}{Farben} +\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} +\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} +% \end{macrocode} +% Zusätzliche Auszeichnungsbefehle. +% \begin{macrocode} +\DeclareRobustCommand*{\cls}[1]{\mbox{\textsf{\textbf{#1}}}} +\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{\textbf{#1}}}} +\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\val}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\pgs}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}} +% \end{macrocode} +% \begin{macro}{\ToDo} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\@ToDo} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\@@ToDo} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Die Befehle für die ToDo-Notizen. Um in der gleichen Nomenklatur wie beim +% Handbuch bleiben zu können, wird die Randnotizmarke als optionales Argument +% hinter dem eigentlichen Text angegeben. +% \begin{macrocode} +\newcommand*\ToDo[2][]{% + \@ifnextchar[ + {\@ToDo{#2}}{\@ToDo{#2}[]} +} +\newcommand*\@ToDo{} +\newcommand*\@@ToDo{}% +\def\@ToDo#1[#2]{% + \ifdefined\tudfinalflag\else% + \def\@@ToDo{\ifstr{#2}{}{ToDo}{ToDo: #2}}% + \endgraf% + \hfuzz0.8pt% + \leavevmode\marginpar{\raggedleft\fbox{\@@ToDo\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#1\strut}}% + \endgraf% + \fi% +}% +% \end{macrocode} +% \end{macro}^^A \@@ToDo +% \end{macro}^^A \@ToDo +% \end{macro}^^A \ToDo +% Optionen bzw. Flag für das automatisierte Erstellen der Quelltextdokumentation +% mit einem Skript ohne ToDo-Befehle. +% \begin{macrocode} +\DeclareOption{final}{\let\tudfinalflag\relax} +\ProcessOptions\relax +% \end{macrocode} +% Und noch etwas Kleinkram für \pkg{hyperref}, \pkg{babel} und \pkg{csquotes}. +% \begin{macrocode} +\AfterPackage{hyperref}{% + \pdfstringdefDisableCommands{\def\TUDScript{TUD-KOMA-Script}}% +} +\AfterPackage{babel}{% + \AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}% +} +\AtBeginDocument{% + \providecommand*\url[1]{\texttt{#1}}% + \providecommand*\texorpdfstring[2]{#1}% + \@ifpackageloaded{babel}{}{% + \ClassWarning{\tudcls@name}{Package `babel' not loaded}% + \let\selectlanguage\@gobble% + \let\glqq\relax% + \let\grqq\relax% + }% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\glqg#1\grqq{}}% + }% + \providecommand*\ifdin[2]{#2}% +} +% \end{macrocode} +% Sollte das Paket \pkg{tudscrfonts} geladen worden sein, so wird die Stärke +% der Schriften für die Quelltextausgabe etwas erhöht, um die Lesbarkeit zu +% verbessern. Andernfalls wird das Paket \pkg{lmodern} geladen. +% \begin{macrocode} +\AtBeginDocument{% + \expandafter\ifx\csname if@tud@cdfonts\endcsname\iftrue\relax% + \RequirePackage{mweights}[2013/07/21]% + \def\mddefault{m}% + \def\mdseries@tt{m}% + \renewcommand*\@pnumwidth{1.7em}% + \else% + \RequirePackage{lmodern}[2009/10/30]% + \fi% +}% +% \end{macrocode} +% +% \iffalse +%</class> +% \fi +% +% \Finale +% +\endinput 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..92ddb27e125 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx @@ -0,0 +1,643 @@ +% \CheckSum{399} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-fields.dtx}[% + 2014/11/13 v2.02 TUD-KOMA-Script (input fields)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-fields.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% \changes{v2.02}{2014/11/05}{Korrekturen bei der Verwendung von +% \cs{@@title}}%^^A +% +% \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> +% \fi +% +% \subsection{Textfelder} +% +% Für das Setzen von Feldern werden bei einem übergebenen Argument führende und +% angehängte Leerzeichen beseitigt. +% \begin{macrocode} +\RequirePackage{trimspaces}[2009/09/17] +% \end{macrocode} +% Von den Klassen benötigte Formularfelder werden definiert. +% \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} +\newcommand*\@faculty{} +\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}} +% \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} +\newcommand*\@department{} +\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}} +% \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} +\newcommand*\@institute{} +\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}} +% \end{macrocode} +% \end{field}^^A \@institute +% \end{macro}^^A \institute +% \begin{macro}{\chair} +% \begin{field}{\@chair} +% Angabe des Lehrstuhls bzw. der Professur mit \cs{chair}\marg{Lehrstuhl} für +% die TUD-Kopfzeile, wird im Makro \cs{@chair} gespeichert. +% \begin{macrocode} +\newcommand*\@chair{} +\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}} +% \end{macrocode} +% \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} +\newcommand*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +% \end{macrocode} +% \end{field}^^A \@extraheadline +% \end{macro}^^A \extraheadline +% \begin{macro}{\title} +% \begin{field}{\@@title} +% \begin{field}{\@@author} +% \changes{v2.02}{2014/07/25}{entfernt}%^^A +% Für die spätere Verwendung im Dokument des Titels~-- beispielsweise für die +% Aufgabenstellung oder die Selbstständigkeitserklärung~-- wird das Feld +% \cs{@@title} definiert. In diesem wird der mit \cs{title} gesicherte Eintrag +% ohne die etwaigen Fußnoten gespeichert. Das Feld \cs{@@author} wurde mit der +% Version~v2.02 entfernt. +% \begin{macrocode} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \protected@xdef\@@title{\trim@spaces{#1}}% + \endgroup% +} +% \end{macrocode} +% \end{field}^^A \@@author +% \end{field}^^A \@@title +% \end{macro}^^A \title +% \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} +\newcommand*\@authormore{} +\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}} +% \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} +\newcommand*\@thesis{} +\newcommand*\@@thesis{} +\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +\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% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% + \endgroup% + \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]{% + \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}% + }% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% +} +\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}{\graduation} +% \changes{v2.02}{2014/05/16}{neu, von \cs{degree} umbenannt}%^^A +% \begin{field}{\@graduation} +% \changes{v2.02}{2014/05/16}{neu, von \cs{@degree} umbenannt}%^^A +% \begin{field}{\@graduationabbr} +% \changes{v2.02}{2014/05/16}{neu, \cs{@degreeabbr} umbenannt}%^^A +% Der angestrebte Abschluss bzw. der zu erwerbende akademische Grad, welcher +% auf der Titelseite ausgegeben werden soll, wird im Makro \cs{@graduation} +% gespeichert. Zusätzlich kann als optionales Argument die Kurzform des +% akademischen Grades angegeben werden, wird in \cs{@graduationabbr} +% gespeichert. +% \begin{macrocode} +\newcommand*\@graduation{} +\newcommand*\@graduationabbr{} +\newcommand*\graduation[2][]{% + \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}% + \gdef\@graduation{#2}% +} +% \end{macrocode} +% \end{field}^^A \@graduationabbr +% \end{field}^^A \@graduation +% \end{macro}^^A \graduation +% \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} +% \changes{v2.02}{2014/05/16}{Automatisch erzeugter Eintrag der Betreuer mit +% \cs{supervisor} für Selbstständigkeitserklärung verworfen}%^^A +% \begin{field}{\@supervisor} +% (Erst- und Zweit"~)Betreuer bei Abschlussarbeiten, wird in \cs{@supervisor} +% gespeichert. Mehrere Betreuer werden durch \cs{and} getrennt. +% \begin{macrocode} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{\gdef\@supervisor{#1}} +% \end{macrocode} +% \end{field}^^A \@supervisor +% \end{macro}^^A \supervisor +% \begin{macro}{\supporter} +% \changes{v2.02}{2014/05/16}{Automatisch erzeugter Eintrag der Betreuer mit +% \cs{supervisor} für Selbstständigkeitserklärung verworfen}%^^A +% \begin{field}{\@supporter} +% Diese Feld ist für die Hilfesteller bei der Anfertigung der Abschlussarbeit, +% welche auf der Selbstständigkeitserklärung aufgeführt werden. Mehrere +% Hilfesteller werden durch \cs{and} voneinander getrennt. +% \begin{macrocode} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{\gdef\@supporter{#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} +% Angabe der Matrikelnummer für Titelseite und Aufgabenstellung, wird in dem +% Makro \cs{@matriculationid} gespeichert. +% \begin{macrocode} +\newcommand*\@matriculationnumber{} +\newrobustcmd*\matriculationnumber[1]{% + \gdef\@matriculationnumber{#1}% +} +% \end{macrocode} +% \end{field}^^A \@matriculationnumber +% \end{macro}^^A \matriculationnumber +% \begin{macro}{\matriculationyear} +% \begin{field}{\@matriculationyear} +% Das Immatrikulationsjahr für den Titel wird in \cs{@matriculationyear} +% gespeichert. +% \begin{macrocode} +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +% \end{macrocode} +% \end{field}^^A \@matriculationyear +% \end{macro}^^A \matriculationyear +% \begin{macro}{\placeofbirth} +% \begin{field}{\@placeofbirth} +% Der Geburtsort für den Titel wird in \cs{@placeofbirth} gespeichert. +% \begin{macrocode} +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +% \end{macrocode} +% \end{field}^^A \@placeofbirth +% \end{macro}^^A \placeofbirth +% \begin{macro}{\publisher} +% \begin{field}{\@publisher} +% \changes{v2.02}{2014/07/25}{entfernt}%^^A +% Kleine Korrektur für \KOMAScript, der Befehl sollte im Singular stehen. +% \begin{macrocode} +\providecommand*\publisher[1]{\publishers{#1}} +% \end{macrocode} +% \end{field}^^A \@publisher +% \end{macro}^^A \publisher +% \begin{macro}{\confirmationclosing} +% \begin{field}{\@confirmationclosing} +% \changes{v2.02}{2014/07/25}{\cs{@@date} mit \cs{@date} ersetzt}%^^A +% Als Abschluss der Selbstständigkeitserklärung für Ort und Unterschrift. +% \begin{macrocode} +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@date% + \\[20mm plus 10mm minus 10mm]% + \begingroup% + \let\and\hfil% + \let\thanks\@gobble% + \let\footnote\@gobble% + \@author% + \hfil% + \endgroup% +} +\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +% \end{macrocode} +% \end{field}^^A \@confirmationclosing +% \end{macro}^^A \confirmationclosing +% \begin{macro}{\place} +% \begin{field}{\@place} +% Die Angabe des Ortes mit \cs{place} für die Selbstständigkeitserklärung wird +% im Makro \cs{@place} gespeichert und standardmäßig mit \enquote{Dresden} +% gesetzt. +% \begin{macrocode} +\newcommand*\@place{Dresden} +\newcommand*\place[1]{\gdef\@place{#1}} +% \end{macrocode} +% \end{field}^^A \@place +% \end{macro}^^A \place +% +% \iffalse +%</class> +%<*supervisor> +% \fi +% +% \begin{macro}{\course} +% \begin{field}{\@course} +% Studiengang für den Kopf der Aufgabenstellung, wird im Makro \cs{@course} +% gespeichert. +% \begin{macrocode} +\newcommand*\@course{} +\newrobustcmd*\course[1]{\gdef\@course{#1}} +% \end{macrocode} +% \end{field}^^A \@course +% \end{macro}^^A \course +% \begin{macro}{\discipline} +% \changes{v2.02}{2014/05/16}{neu, von \cs{branch} umbenannt}%^^A +% \begin{field}{\@discipline} +% \changes{v2.02}{2014/05/16}{neu, von \cs{@branch} umbenannt}%^^A +% Studienrichtung bzw. Fachrichtung für den Kopf der Aufgabenstellung, wird +% im Makro \cs{@discipline} gespeichert. +% \begin{macrocode} +\newcommand*\@discipline{} +\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}} +% \end{macrocode} +% \end{field}^^A \@discipline +% \end{macro}^^A \discipline +% \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}{\contactperson} +% \changes{v2.02}{2014/05/16}{neu, \cs{contact} umbenannt}%^^A +% \begin{field}{\@contactperson} +% \changes{v2.02}{2014/05/16}{neu, \cs{@contact} umbenannt}%^^A +% \begin{macro}{\office} +% \begin{field}{\@office} +% \begin{macro}{\telephone} +% \changes{v2.02}{2014/05/16}{neu, \cs{phone} umbenannt}%^^A +% \begin{field}{\@telephone} +% \changes{v2.02}{2014/05/16}{neu, \cs{@phone} umbenannt}%^^A +% \begin{macro}{\emailaddress} +% \changes{v2.02}{2014/05/16}{neu, \cs{email} umbenannt}%^^A +% \begin{field}{\@emailaddress} +% \changes{v2.02}{2014/05/16}{neu, \cs{@email} umbenannt}%^^A +% 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*\@contactperson{} +\newcommand*\contactperson[1]{\gdef\@contactperson{#1}} +\newcommand*\@office{} +\newrobustcmd*\office[1]{\gdef\@office{#1}} +\newcommand*\@telephone{} +\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}} +\newcommand*\@emailaddress{} +\newrobustcmd*\emailaddress[1]{\gdef\@emailaddress{#1}} +\AfterPackage*{hyperref}{% + \renewrobustcmd*\emailaddress[1]{% + \gdef\@emailaddress{\href{mailto:#1}{\nolinkurl{#1}}}% + }% +} +% \end{macrocode} +% \end{field}^^A \@emailaddress +% \end{macro}^^A \emailaddress +% \end{field}^^A \@telephone +% \end{macro}^^A \telephone +% \end{field}^^A \@office +% \end{macro}^^A \office +% \end{field}^^A \@contactperson +% \end{macro}^^A \contactperson +% \begin{macro}{\grade} +% \begin{field}{\@grade} +% \begin{field}{\@headline} +% Die 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> +% \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}{\undef\printdate} +% \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 +% \begin{macro}{\date} +% \begin{field}{\@date} +% \begin{field}{\@@date} +% \changes{v2.02}{2014/07/25}{entfernt}%^^A +% \begin{field}{\@datemore} +% 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 erweitert, das Feld \cs{@@date} wurde entfernt. +% \begin{macrocode} +\newcommand*\@datemore{} +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% +} +% \end{macrocode} +% \end{field}^^A \@datemore +% \end{field}^^A \@@date +% \end{field}^^A \@date +% \end{macro}^^A \date +% \begin{macro}{\defensedate} +% \begin{field}{\@defensedate} +% Das Verteidigungsdatum erscheint auf dem Titel und wird in \cs{@defensedate} +% gespeichert. +% \begin{macrocode} +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +% \end{macrocode} +% \end{field}^^A \@defensedate +% \end{macro}^^A \defensedate +% \begin{macro}{\dateofbirth} +% \begin{field}{\@dateofbirth} +% Angabe des Geburtstages für die Titelseite, wird im Makro \cs{@dateofbirth} +% gespeichert. +% \begin{macrocode} +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +% \end{macrocode} +% \end{field}^^A \@dateofbirth +% \end{macro}^^A \dateofbirth +% +% \iffalse +%</class> +%<*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 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..f3264e41b05 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx @@ -0,0 +1,1371 @@ +% \CheckSum{1099} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-fonts.dtx}[% + 2014/12/04 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package&identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package&identify>\ProvidesPackage{tudscrfonts}[% +%<*driver|package&identify> +%!TUDVersion +%<package> package + (corporate design fonts)% +] +%</driver|package&identify> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-fonts.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}%^^A +% \changes{v2.02}{2014/09/30}{Nutzung alter tud-Klassen ermöglicht}%^^A +% +% \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{Verwendbarkeit des Paketes \pkg{tudscrfonts}} +% +% \begin{macrocode} +\PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}{% + The package `tudscrfonts' must not be used with\MessageBreak% + a TUD-KOMA-Script class% + } +]{tudscrfonts} +% \end{macrocode} +% +% \iffalse +%</class&option> +%<*package&identify> +% \fi +% +% \subsection{Verwendung alter TUD-Klassen oder \TUDScript~v1.0} +% +% Das Paket kann genutzt werden, um alle möglichen veralteten Klassen mit den +% neuen Schriftfamilien zu verwenden. +% \begin{macro}{\if@tud@oldclass} +% \changes{v2.02}{2014/08/29}{neu}%^^A +% \begin{macro}{\if@tud@oldscrclass} +% \changes{v2.02}{2014/08/29}{neu}%^^A +% \begin{macrocode} +\newif\if@tud@oldclass +\newif\if@tud@oldscrclass +% \end{macrocode} +% Wenn eine der alten Klassen aus den Vorlagen von Klaus Bergmann geladen +% wurde, wird dies für spätere Anpassungen registriert. +% \begin{macrocode} +\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}% +% \end{macrocode} +% Soll das Paket \pkg{tudscrfonts} mit den \TUDScript-Klassen der Version~v1.0 +% genutzt werden, muss Sorge dafür getragen werden, dass einige veraltete +% Befehle aktualisiert werden. Hierfür müssen diese \enquote{unschädlich} +% gemacht werden, noch bevor das Paket selbst in Erscheinung tritt. +% \begin{macrocode} +\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}% +\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}% +\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}% +\if@tud@oldscrclass + \let\TUDoptions\relax + \let\TUDoption\relax + \let\univln\relax + \let\univrn\relax + \let\univbn\relax + \let\univxn\relax + \let\univls\relax + \let\univrs\relax + \let\univbs\relax + \let\univxs\relax + \let\dinbn\relax +\fi +% \end{macrocode} +% \end{macro}^^A if@tud@oldscrclass +% \end{macro}^^A if@tud@oldclass +% \iffalse +%</package&identify> +%<*(class|package)&option> +% \fi +% +% \subsection{Schriftauswahl im \TUDScript-Bundle} +% +% Das \TUDScript-Bundle unterstützt sowohl die Schriftauswahl im klassischen +% New Font Selection Scheme (NFSS) als auch das Einbinden der Schriften im +% OpenType"=Format aus dem System über das Paket \pkg{fontspec} für Lua\LaTeX +% bzw. Xe\LaTeX, wobei die letztere Variante nicht ideal ist. Zum einen +% funktioniert das Kerning nicht sonderlich gut und zum anderen sind keine +% Schriften für den mathematischen Satz vorhanden. Da die skriptbasierte +% Installation der PostScript"=Schriften gut funktioniert, ist diese Variante +% zu bevorzugen. Trotzdem werden beide Varianten, die Schriftfamilie des \CDs +% für den Fließtext und die Überschriften zu verwenden, angeboten. +% \begin{option}{fontspec} +% \changes{v2.02}{2014/08/29}{neu}%^^A +% \begin{macro}{\if@tud@fontspec} +% \changes{v2.02}{2014/08/29}{neu}%^^A +% \begin{macro}{\if@tud@univers} +% \begin{macro}{\if@tud@dinbold} +% \changes{v2.02}{2014/08/29}{neu}%^^A +% \begin{macro}{\tud@univers} +% \begin{macro}{\tud@dinbold} +% \begin{macro}{\tud@mathenc} +% Mit der Option \opt{fontspec} kann die explizite Verwendung des Paketes +% \pkg{fontspec} aktiviert werden. Nur so ist eine vollständige Anpassung der +% Schriften an die Funktionalitäten des Paketes möglich. Zu Beginn werden +% Schalter und Hilfsmakros definiert. +% \begin{macrocode} +\newif\if@tud@univers +\newif\if@tud@dinbold +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\newcommand*\tud@mathenc{OT1} +% \end{macrocode} +% Hier kommt die eigentliche Option. +% \begin{macrocode} +\newif\if@tud@fontspec +\TUD@key@lock{fontspec}[true]{% + \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +} +% \end{macrocode} +% Da dieser Prozess sehr tief in die Schriftauswahl eingreift und das Laden des +% Paketes die Schriftauswahl für das ganze Dokument verändert, wird diese +% Option nur beim Laden der Klasse zugelassen. +% \begin{macrocode} +%<*class> +\AtEndOfClass{% + \TUD@key{fontspec}[]{% + \ClassError{\tudcls@name}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +%</class> +%<*package> +\AtEndOfPackage{% + \TUD@key{fontspec}[]{% + \PackageError{tudscrfonts}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + package `tudscrfonts' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \@ifpackageloaded{fontspec}{% + \PackageError{tudscrfonts}{Package `fontspec' too early}{% + When using the option `fontspec' you must not load\MessageBreak% + the package `fontspec' before `tudscrfonts'.% + }% + }{} +%</package> +} +% \end{macrocode} +% Anschließend erfolgt die Verarbeitung der Option am Ende der Klasse. Zu +% allererst wird die Kodierung der Mathematikschriften für den weiteren Verlauf +% festgelegt. Da es so gut wie keine freien OpenType"=Schriften für den +% mathmatischen Formelsatz gibt, werden unabhängig vom Status der Option +% \opt{fontspec} \emph{immer} die PostScript"=Schriften verwendet, falls diese +% installiert sind. Dabei wird die Kodierung der Mathematikschriften abhängig +% von der Eingabekodierung gewählt. +% \begin{macrocode} +\AtEndPreamble{% + \@expandtwoargs\in@{OT}{\encodingdefault}% + \ifin@% + \def\tud@mathenc{OT1}% + \else% + \def\tud@mathenc{T1}% + \fi% +% \end{macrocode} +% Nun wird überprüft, ob die PostScript"=Schriften installiert sind. Wird das +% Paket \pkg{fontspec} verwendet, werden diese nur für die Mathematikschriften +% verwendet. Sollte diese nicht vorhanden sein, wird eine Warnung ausgegeben. +% Ist die Option nicht aktiviert, wird beim Nichtvorhandensein der Schriften +% eine Warnung ausgegeben und eine Rückfallebene definiert. +% \begin{macrocode} + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@univers.fd}}% + }% + \def\@tempb#1{% +%<*class> + \ClassInfoNoLine{\tudcls@name}{% +%</class> +%<*package> + \PackageInfoNoLine{tudscrfonts}{% +%</package> + `#1' fonts not found for math typesetting% + }% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% + }% + \def\@tempb#1{% +%<*class> + \ClassWarningNoLine{\tudcls@name}{% +%</class> +%<*package> + \PackageWarningNoLine{tudscrfonts}{% +%</package> + `#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% + }% + }% + \fi% + \@tempa{\@tud@universtrue}{\@tempb{Univers}}% +% \end{macrocode} +% Ebenso wie bei der Univers"=Schriftfamilie wird auch bei DIN~Bold verfahren. +% \begin{macrocode} + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@dinbold.fd}}% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% + }% + \fi% + \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% +% \end{macrocode} +% Nachdem auf die Schriften geprüft wurde, kommt nun die Umsetzung der Option. +% Sollten die PostScript"=Schriften installiert sein, wird \pkg{fontspec} darin +% gehindert, die Mathematikschriften von sich aus anzupassen. +% \begin{macrocode} + \if@tud@fontspec% + \if@tud@univers\if@tud@dinbold% + \PassOptionsToPackage{no-math}{fontspec}% + \fi\fi% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +% \end{macrocode} +% Damit ist die Verarbeitung der Option \opt{fontspec} abgeschlossen. +% \begin{macrocode} +} +% \end{macrocode} +% \end{macro}^^A \tud@mathenc +% \end{macro}^^A \tud@dinbold +% \end{macro}^^A \tud@univers +% \end{macro}^^A if@tud@dinbold +% \end{macro}^^A if@tud@univers +% \end{macro}^^A \if@tud@fontspec +% \end{option}^^A fontspec +% +% \iffalse +%</(class|package)&option> +%<*(class|package)&body> +% \fi +% +% \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. Diese können so im Dokument unabhängig +% von der Option \opt{cdfont} genutzt werden +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% Dies geschieht abhängig von der Option \opt{fontspec}. +% \begin{macrocode} + \if@tud@fontspec% +% \end{macrocode} +% Für die ersten drei Schriften werden hierfür feste NFSS-Namen vergeben, um +% diese beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu können. +% \begin{macrocode} + \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% + \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% + \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% + \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% + \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% + \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% + \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% + \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% + \newcommand*\textuln[1]{{\univln#1}} + \newcommand*\texturn[1]{{\univrn#1}} + \newcommand*\textubn[1]{{\univbn#1}} + \newcommand*\textuxn[1]{{\univxn#1}} + \newcommand*\textuls[1]{{\univls#1}} + \newcommand*\texturs[1]{{\univrs#1}} + \newcommand*\textubs[1]{{\univbs#1}} + \newcommand*\textuxs[1]{{\univxs#1}} +% \end{macrocode} +% Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem +% NFSS definiert. +% \begin{macrocode} + \else% + \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} + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \fi% +% \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 in DIN~Bold. Bei der Schriftauswahl +% wird neben dieser noch die entsprechende Mathematikschrift aktiviert. Auch +% hier geschieht dies abhängig von der Option \opt{fontspec}. +% \begin{macrocode} +%<*package> + \ifdef{\sectfont}{}{\let\sectfont\relax}% +%</package> + \if@tud@fontspec% + \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% + \newcommand*\textdbn[1]{{\dinbn#1}} + \else% + \if@tud@dinbold% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% + \else% + \let\dinbn\sectfont% + \fi% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textdbn}{\dinbn} + \fi% +% \end{macrocode} +% \end{macro}^^A \textdbn +% \end{macro}^^A \dinbn +% \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{iwona}"~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}{OT1}{\tud@univers}{l}{n} + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{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}{\tud@univers t}{l}{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} + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} +% \end{macrocode} +% \end{macro}^^A \mv@universbold +% \end{macro}^^A \mv@univers +% \begin{macro}{\mv@dinbold} +% \changes{v2.02}{2014/06/27}{Symbole \val{symbols} werden aus Schriftart +% DIN~Bold verwendet}%^^A +% 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}{\tud@dinbold}{b}{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}{\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 +% definiert. +% \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 +% +% \iffalse +%</(class|package)&body> +%<*(class|package)&option> +% \fi +% +% 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. Damit Fußnoten nicht +% automatisch in Majuskeln gesetzt werden, wird außerdem der interne Befehl +% \cs{@uclcnotmath} aus diesem Paket angepasst. +% \changes{v2.02}{2014/06/27}{Ignorieren von Fußnoten im Befehl +% \cs{MakeTextUppercase}}%^^A +% \begin{macrocode} +\RequirePackage{textcase}[2004/10/07] +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath% + \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% + \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% +}{}{\tud@patch@wrn{@uclcnotmath}}% +% \end{macrocode} +% \begin{option}{cdfont} +% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{barfont}}%^^A +% \changes{v2.02}{2014/08/29}{Schlüsselwerte für \opt{fontspec}}%^^A +% \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} +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@numkey@bool,% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% + {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% +%<*class> + {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% + {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% + {noheavybarfont}{5},{barfontnoheavy}{5},% + {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% +%</class> + {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% + {sansmath}{8},{sans}{8},% + {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% + {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% + {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% + {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% +%<*class> + \TUD@std@numkey@lock{barfont}{false}% +%</class> + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=false}% +%<*class> + \TUD@std@numkey@lock{barfont}{true}% +%</class> + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=true}% +%<*class> + \TUD@std@numkey@lock{barfont}{heavy}% +%</class> + \or% + \TUDoptions{din=false}% + \or% + \TUDoptions{din=true}% + \or% +%<*class> + \TUDoptions{barfont=true}% +%</class> + \or% +%<*class> + \TUDoptions{barfont=heavy}% +%</class> + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath=true}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek=true}% + \or% + \TUDoptions{fontspec=true}% + \or% + \TUDoptions{fontspec=false}% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@cdfont +% \end{option}^^A cdfont +% \begin{option}{cdfonts} +% \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% +% \end{macrocode} +% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung +% sofort. Ist die Verwendung der Schriften des \CDs gewünscht, werden diese mit +% \cs{tud@font@cdfonts} aktiviert. +% \begin{macrocode} + \if@tud@cdfonts% + \if@atdocument\tud@font@cdfonts\fi% +% \end{macrocode} +% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~-- +% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt. +% \begin{macrocode} + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% +% \end{macrocode} +% Werden die Schriften des \CDs deaktiviert, wird auf die zu Dokumentbeginn +% gesicherten Schriften\footnote{mit und ohne Serifen} zurückgeschaltet. +% \begin{macrocode} + \else% + \if@atdocument% + \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}% + \normalfont\selectfont% + \fi% +% \end{macrocode} +% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt. +% \begin{macrocode} + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \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} +%<*class> + \if@atdocument\tud@layout@process\fi% +%</class> + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@cdfonts +% \end{option}^^A cdfonts +% +% \iffalse +%</(class|package)&option> +%<*(class|package)&body> +% \fi +% +% \begin{macro}{\tud@font@cdfonts} +% Mit diesem Befehl werden die Schriften des \CDs aktiviert. Dabei wird die +% Option \opt{fontspec} beachtet. +% \begin{macrocode} +\newcommand*\tud@font@cdfonts{% +% \end{macrocode} +% Schnitte der Schriften vorher vorher gesichert, um diese später vollständig +% wiederherstellen zu können.. +% \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}% +% \end{macrocode} +% Danach erfolgt die Definition der Schriften des \CDs entweder mit dem Paket +% \pkg{fontspec} oder\dots +% \begin{macrocode} + \if@tud@fontspec% + \if@tud@heavyfont% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ] + \else% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% +% \end{macrocode} +% Für die alten Klassen von Klaus Bergmann sowie \TUDScript in der Version~v1.0 +% werden die fetten Schriften in einem stärkeren Schriftschnitt gesetzt. +% \begin{macrocode} +%<*package> + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \setsansfont{Univers Light}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + }{}% +%</package> + \fi% +% \end{macrocode} +% \dots nach dem NFSS. +% \begin{macrocode} + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \if@tud@heavyfont% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \renewcommand*\bfdefault{m}% +% \end{macrocode} +% Bei den alten Klassen von Klaus Bergmann bzw. \TUDScript~v1.0 sind die fetten +% Schriften stärker. +% \begin{macrocode} +%<*package> + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \renewcommand*\bfdefault{b}% + }{}% +%</package> + \renewcommand*\mddefault{l}% + \fi% + \fi% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% +% \end{macrocode} +% Zum Abschluss wird die gewählte Standardschrift aktiviert. +% \begin{macrocode} + \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 +% \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 beziehungsweise +% 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 +% \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@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}{\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 +% +% \iffalse +%</(class|package)&body> +%<*(class|package)&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]{% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@heavyfont +% \end{option}^^A heavyfont +% \begin{option}{barfont} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% \begin{macro}{\tud@barfont} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der +% TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext +% aktiviert werden. +% \begin{macrocode} +%<*class> +\newcommand*\tud@barfont{0} +\TUD@key@lock{barfont}[true]{% + \TUD@set@numkey@lock{barfont}{tud@barfont}{% + \TUD@numkey@bool,% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% +} +%</class> +% \end{macrocode} +% \end{macro}^^A \tud@barfont +% \end{option}^^A barfont +% \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@slantedgreek@locked +% \end{macro}^^A \if@tud@slantedgreek +% \end{option}^^A slantedgreek +% +% \iffalse +%</(class|package)&option> +%<*package&option> +% \fi +% +% Für das Paket \pkg{tudscrfonts} werden die Schriften aktiviert und~-- aus +% Kompatibilitätsgründen zur \cls{tudbook}-Klasse~-- die Option \opt{serifmath} +% definiert. Die an das Paket übergebenen Optionen werden daran anschließend +% ausgeführt. +% \begin{macrocode} +\TUDoptions{cdfont=true} +\DeclareOption*{\TUDoptions{\CurrentOption}} +\TUDProcessOptions\relax +% \end{macrocode} +% +% \iffalse +%</package&option> +%<*class&body> +% \fi +% +% \begin{macro}{\tud@head@font@set} +% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{barfont} hinzugefügt}%^^A +% \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@bold{} +\newcommand*\tud@head@font@light{} +\newcommand*\tud@head@font@set{% +% \end{macrocode} +% Zuerst die Rückfallebene für den Fall, dass keine Schriften im \CD verendet +% werden. +% \begin{macrocode} + \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% + {\sfdefault}{bx}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% +% \end{macrocode} +% Die Option \opt{barfont} wird ausgewertet. +% \begin{macrocode} + \ifcase \tud@barfont\relax% + \if@tud@cdfonts% + \ClassWarning{\tudcls@name}{% + It isn't possible to use `barfont=false'\MessageBreak% + together with `cdfont=true'% + }% + \fi% + \or% + \@tud@cdfontstrue% + \def\mddefault{l}% + \or% + \@tud@cdfontstrue% + \def\mddefault{m}% + \fi% +% \end{macrocode} +% Die Schriften für den Kopf im \CD werden aktiviert. +% \begin{macrocode} + \if@tud@cdfonts% +% \end{macrocode} +% Damit \cs{DeclareFixedFont} zusammen mit \pkg{fontspec} verwendet werden +% kann, wurde zu Beginn der Klasse den drei benötigten Schriftschnitten der +% Univers spezielle Namen zugewiesen, die hier verwendet werden. +% \begin{macrocode} + \if@tud@fontspec% + \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@font@size}% + \ifstr{\mddefault}{m}{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + }{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@font@size}% + }% +% \end{macrocode} +% Die klassische Auswahl mittels NFSS-Schriftname und \cs{mddefault}. +% \begin{macrocode} + \else% + \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}{\mddefault}{n}{\tud@head@font@size}% + \fi% + \fi% + \fi% +} +% \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&body> +%<*(class|package)&body> +% \fi +% +% \begin{macro}{\ifdin} +% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}%^^A +% 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 Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe +% im Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden. +% \begin{macrocode} +\newrobustcmd*\ifdin{% + \@tempswafalse + \@expandtwoargs\in@{DINBold}{\f@family}% + \ifin@\@tempswatrue\fi% + \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% + \if@tempswa + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \ifdin +% Wird das Paket \pkg{tudscrfonts} mit den alten TUD-Klassen oder \TUDScript in +% der Version~v1.0 verwendet, müssen einige Kompatibilitätseinstellungen +% vorgenmommen werden. Dies betrifft insbesondere allerhand darin definierter, +% fixer Schriften sowie die Mathematikschriften. +% \begin{macrocode} +%<*package> +\AtBeginDocument{% + \ifbool{@tud@oldclass}{% + \if@tud@fontspec% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {UniversLight}{m}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {UniversLightOblique}{m}{n}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {UniversBold}{m}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {UniversLight}{m}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {UniversLightOblique}{m}{n}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {UniversBold}{m}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {UniversLight}{m}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {UniversLightOblique}{m}{n}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {UniversBold}{m}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {UniversLight}{m}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {UniversLightOblique}{m}{n}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {UniversBold}{m}{n}{15}% + \else% + \if@tud@univers% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {\tud@univers}{l}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {\tud@univers}{l}{sl}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {\tud@univers}{b}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {\tud@univers}{l}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {\tud@univers}{l}{sl}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {\tud@univers}{b}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {\tud@univers}{l}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {\tud@univers}{l}{sl}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {\tud@univers}{b}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {\tud@univers}{l}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {\tud@univers}{l}{sl}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {\tud@univers}{b}{n}{15}% + \fi% + \fi% + \if@sansmath% + \DeclareSymbolFont{aunLetters}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetSymbolFont{aunLetters}{bold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \DeclareSymbolFont{aunOperators}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetSymbolFont{aunOperators}{bold}{\tud@mathenc}{\tud@univers}{b}{n}% + \DeclareSymbolFontAlphabet{\mathsf}{aunOperators}% + \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}% + \DeclareMathAlphabet\mathbf{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet\mathbf{bold}{\tud@mathenc}{\tud@univers}{b}{n}% + \DeclareMathAlphabet\mathit{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet\mathit{bold}{\tud@mathenc}{\tud@univers}{l}{sl}% + \fi% + \let\dinBold\dinbn% + \let\dinfamily\dinbn% + }{}% + \ifbool{@tud@oldscrclass}{% + \cmd@restore{rmdefault}% + \cmd@restore{sfdefault}% + \cmd@restore{bfdefault}% + \cmd@restore{mddefault}% + \cmd@restore{familydefault}% + \cmd@restore{seriesdefault}% + \cmd@restore{shapedefault}% + \cmd@restore{rmfamily}% + \cmd@restore{sffamily}% + \cmd@restore{ttfamily}% + \DeclareSymbolFontAlphabet{\mathrm}{operators} + \if@tud@fontspec% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@fntsz}% + \else% + \if@tud@univers% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {\tud@univers}{b}{n}{\tud@head@fntsz}% + \fi% + \fi% + }{}% +} +%</package> +% \end{macrocode} +% 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{Anpassungen für das Paket \pkg{ragged2e}} +% +% \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} +%<*class> +\newcommand*\tud@RaggedRight{\raggedright} +%</class> +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% +%<*class> + \renewcommand*\tud@RaggedRight{\RaggedRight}% +%</class> +} +% \end{macrocode} +% \end{macro}^^A \tud@ragged2e +% \end{macro}^^A \tud@raggedright +% +% \iffalse +%</(class|package)&body> +%<*package&body> +% \fi +% Ganz zum Schluss merden für das Paket \pkg{tudscrfonts} noch ein paar +% Anpassungen für die \cls{tudbook}-Klasse gemacht. +% \begin{macrocode} +\@ifclassloaded{tudbook}{% + \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makechapterhead}}% + \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% + \patchcmd{\section}{\dinBold\Large\bfseries}% + {\if@tud@din\dinbn\fi\Large}{}{\tud@patch@wrn{section}}% + \patchcmd{\showtitle}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{showtitle}}% +}{} +% \end{macrocode} +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput 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..5e305fb91e5 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx @@ -0,0 +1,977 @@ +% \CheckSum{587} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-frontmatter.dtx}[% + 2014/12/04 v2.02 TUD-KOMA-Script (frontmatter)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-frontmatter.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/11/05}{Verbesserungen für Kolumnentitel und +% Inhaltsverzeichnis}%^^A +% +% \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 +% \enquote{Erklärung} 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&body> +% \fi +% +% \begin{macro}{\tud@fm@check} +% \changes{v2.02}{2014/07/18}{neu}%^^A +% Mit diesem Befehl wird für den Fall, dass eine oder mehrerer Erklräungen auf +% einer einzelnen Seite gesetzt werden sollen geprüft, ob dies überhaupt +% möglich ist. Sollte dies nicht der Fall sein, wird eine Warnung ausgegeben. +% \begin{macrocode} +\newcommand*\tud@fm@check[2]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \@tempswatrue% + \ifboolexpr{bool {@tud@#1@fil} and bool {@tud@#1@multi}}{% + \setbox0\vbox{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-\baselineskip}}% + \fi% + #2% + }% + \ifdim\textheight<\dimexpr\ht0+\dp0\relax% + \ClassWarning{\tudcls@name}{% + The given content within the `#1'\MessageBreak% + environment is too large, so it wasn't possible\MessageBreak% + to center the body vertically. Setting the option\MessageBreak% + `#1=nofill' would be a solution. You\MessageBreak% + could also use multiple `#1' environments% + }% + \@tempswafalse% + \fi% + }{}% + }{}% + #2% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@check +% \begin{macro}{\tud@fm@set} +% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}%^^A +% Dies ist das zentrale Makro zur Ausgabe der einzelnen Erklärungen, welches +% alle relevanten Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, +% \opt{abstract/declaration=multi}, \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} +% Sollte die Gliederungsebene der Erklärung einem Kapitel entsprechen, wird +% jede Erklärung immer auf eine neue Seite gesetzt. Die Optionen zum vertikalen +% Zentrieren wird ignoriert. Auf eine Warnung für den Anwender wird verzichtet. +% \begin{macrocode} +%<*book|report> + \ifnumless{\@nameuse{tud@#1@level}}{3}{}{% + \boolfalse{@tud@#1@multi}% + \boolfalse{@tud@#1@fil}% + }% +%</book|report> +% Im Zweispaltensatz wird der Inhalt der Umgebung einfach ausgegeben, eine +% vertikale Zentrierung findet nicht statt. +% \begin{macrocode} + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% +% \end{macrocode} +% Beim einspaltigen Satz wird die \opt{titlepage}-Option beachtet. +% \begin{macrocode} + \else% +% \end{macrocode} +% Sollte diese aktiv sein, wird jede Erklärung oder Zusammenfassung abhängig +% von der Einstellung von \opt{abstract/declaration=multi} entweder auf eine +% neue Seite gesetzt, oder aber auf der aktuellen ausgegeben. Dabei werden +% diese ggf. noch vertikal auf der Seite ausgerichtet. +% \begin{macrocode} + \if@titlepage% + \ifbool{@tud@#1@multi}{}{\clearpage}% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \if@tempswa\vspace*{\z@ \@plus 1fil}\fi% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 2fil}}{}% +% \end{macrocode} +% Bei deaktivierter \opt{titlepage}-Option werden die Inhalte jeder erzeugten +% Erklärung direkt nacheinander ausgegeben. Die Erklärung oder Zusammenfassung +% wird dabei wie ein Zitat ausgegeben, sollte dessen Überschrift nicht +% in Form eines Abschnitts gesetzt werden. Der Inhalt wird entweder in der +% normalen \env{quotation}-Umgebung oder aber~-- wenn entsprechend das Paket +% \pkg{quoting} geladen wurde~-- in der \env{quoting}-Umgebung gesetzt. Die +% entsprechende Umgebung wird hierfür im Makro \cs{tud@quoting} gespeichert. +% \begin{macrocode} + \else% + \ifnum\@nameuse{tud@#1@level}<2\begin{\tud@quoting}\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\end{\tud@quoting}\fi% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@set +% \begin{macro}{\tud@fm@body} +% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}%^^A +% \begin{macro}{\tud@fm@vcenter} +% \changes{v2.02}{2014/07/18}{Mit \pkg{scrlayer-scrpage} entfernt}%^^A +% 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 und der +% Kolumnentitel wird \cs{tud@fm@head} verwendet, welches abhängig von den +% gewählten Optionen die Gliederungsebene der Überschrift setzt. Die optional +% gewählte vertikale Ausrichtung des Inhaltes wird seit Version~v2.02 nicht +% mehr von \cs{tud@fm@vcenter} sondern hier direkt ausgeführt. +% \begin{macrocode} +\newcommand*\tud@fm@body[3]{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% +% \end{macrocode} +% Für die Verwendung einer kleinen, zentrierten Überschrift wird vorher ein +% Abstand eingefügt. Dies ist jedoch nur notwendig, wenn \env{multicols} nicht +% verwendet wird. +% \begin{macrocode} + \ifbool{@tud@#1@multi}{% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@vcenter +% \end{macro}^^A \tud@fm@body +% \begin{macro}{\tud@fm@head} +% \changes{v2.02}{2014/07/18}{an \pkg{scrlayer-scrpage} angepasst}%^^A +% \changes{v2.02}{2014/10/09}{Bugfix für Kolumnentitel}%^^A +% 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@head}\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}~-- wenn es +% tatsächlich geladen wurde~-- ein Anker für einen Hyperlink erzeugt. Ist +% \cs{if@tud@\meta{Typ}@toc} wahr, so entspricht der erzeugte Eintrag ins +% Inhaltsverzeichnis für \cls{tudscrartcl} normalerweise dem eines Abschnitts, +% der für \cls{tudscrbook} und \cls{tudscrreprt} dem eines Kapitels.% +% \footnote{sonst sieht das Inhaltsverzeichnis recht bescheiden aus} +% Mit der Eintellung \val{tocleveldown} kann der Eintrag um eine Ebene +% \begin{macrocode} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \or% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \@afterindentfalse% + \begingroup% + \centering% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \endgraf% + \endgroup% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip\relax% + \@afterheading% + \or% + \section*{#2}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi% +%<*book|report> + \or% + \chapter*{#2}% + \@mkdouble{\MakeMarkcase{#2}}% +%</book|report> + \fi% + \ifbool{@tud@#1@markboth}{% + \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}% + }{}% + \ifbool{@tud@#1@toc}{% + \ifbool{@tud@#1@toc@leveldown}{% +%<*book|report> + \addsectiontocentry{}{#2}% +%</book|report> +%<*article> + \addsubsectiontocentry{}{#2}% +%</article> + }{% +%<*book|report> + \addchaptertocentry{}{#2}% +%</book|report> +%<*article> + \addsectiontocentry{}{#2}% +%</article> + } + }{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@head +% \begin{macro}{\tud@fm@next} +% \changes{v2.02}{2014/07/19}{mit \pkg{scrlayer-scrpage} eingeführt}%^^A +% Dieser Befehl sorgt für die Trennung einzelner Abschnitte innerhalb der +% Umgebungen \env{abstract} und \env{declarations}. Dabei werden bei aktiver +% vertikaler Ausrichtung die entsprchenden Abstände dazwischen eingefügt. +% \begin{macrocode} +\newcommand*\tud@fm@next[2]{% + \TUD@parameter@set[#1]{#2}% + \if@twocolumn% + \ifbool{@tud@#1@multi}{\par}{\newpage} + \else% + \if@titlepage% + \ifbool{@tud@#1@fil}{% + \vspace*{\z@ \@plus 1fil}% + \ifbool{@tud@#1@multi}{}{% + \vspace*{\z@ \@plus 1fil}% + \clearpage% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \vspace*{\z@ \@plus 1fil}% + }% + }{\ifbool{@tud@#1@multi}{}{\clearpage}}% + \else% + \ifnum\@nameuse{tud@#1@level}<2 + \end{\tud@quoting} + \begin{\tud@quoting} + \fi% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@next +% \begin{macro}{\tud@fm@pagestyle} +% \changes{v2.02}{2014/07/19}{neu}%^^A +% Dieser Befehl sorgt für die Auswahl des Seitenstiles über die Parameter von +% \env{abstract} und \env{declarations}. +% \begin{macrocode} +\newcommand*\tud@fm@pagestyle[2]{% + \if@titlepage% + \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + }% + \else% + \ClassWarning{\tudcls@name}{% +%<*article> + The key `pagestyle' can only be used with\MessageBreak% + activated option `titlepage'% +%</article> +%<*book|report> + The key `pagestyle' can only be used either with\MessageBreak% + activated option `titlepage' or with chapter\MessageBreak% + headings (`#1=chapter')% +%</book|report> + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@pagestyle +% \begin{macro}{\tud@fm@level@wrn} +% \changes{v2.02}{2014/07/19}{entfernt}%^^A +% \begin{macro}{\tud@fm@option@wrn} +% \changes{v2.02}{2014/07/19}{entfernt}%^^A +% \begin{macro}{\tud@fm@multi@wrn} +% \changes{v2.02}{2014/07/19}{entfernt}%^^A +% Die Befehle für die Warnungen an den Benutzer bei nicht beachteten oder nicht +% umsetzbaren Einstellungen wurden mit der Version~v2.02 entfernt, da Sie als +% wenig sinnvoll erachtet wurden. +% \end{macro}^^A \tud@fm@multi@wrn +% \end{macro}^^A \tud@fm@option@wrn +% \end{macro}^^A \tud@fm@level@wrn +% \begin{macro}{\tud@quoting} +% \begin{macro}{\tud@endquoting} +% \changes{v2.02}{2014/07/19}{entfernt}%^^A +% Mit diesem Befehl 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} +\newcommand*\tud@quoting{quotation} +\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} +% \end{macrocode} +% \end{macro}^^A \tud@endquoting +% \end{macro}^^A \tud@quoting +% +% \iffalse +%</class&body> +%<*class&option> +% \fi +% +% \begin{macro}{\tud@fm@switch} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% Das aus \KOMAScript{} bekannte Verhalten für die Zusammenfassung wird für die +% beiden Klassen \cls{tudscrartcl} und \cls{tudscrreprt} adaptiert. Dazu werden +% boolesche Schlüssel bei der Definiton der beiden Optionen \opt{abstract} und +% \opt{declaration} eingefügt. Außerdem werden zusätzliche Werte zur Auswahl +% einer Gliederungsebene für die gesetzten Überschriften wie \cs{section} oder +% \cs{chapter}\footnote{nicht für \cls{tudscrartcl}} oder bereitgestellt, +% welche auch für die Buchklasse \cls{tudscrbook} zur Verfügung stehen. Das +% Setzen von Einträgen ins Inhaltsverzeichnis lässt sich ebenfalls anpassen. +% +% Des Weiteren werden mehrere Schlüssel für die Anordnung und Positionierung +% von Zusammenfassung bzw. Erklärungen bereitgestellt. Diese dienen dem Setzen +% der Optionen \opt{abstract/declaration} mit den Werten \val{single/multi}, +% \val{toc/notoc}, \val{fill/nofill} sowie \val{leveldown}. +% \begin{macrocode} +\newcommand*\tud@fm@switch{% + {section}{2},{sect}{2},{sec}{2},{addsec}{2},% +%<*article> + {new}{2},{std}{2},{heading}{2},% +%</article> +%<*book|report> + {chapter}{3},{chap}{3},{addchap}{3},% + {new}{3},{std}{3},{heading}{3},% +%</book|report> + {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% + {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% + {nottotoc}{6},{notoc}{6},% + {markboth}{7},{mark}{7},% + {nomarkboth}{8},{nomark}{8},% + {one}{9},{simple}{9},{single}{9},% + {multi}{10},{multiple}{10},{all}{10},{two}{10},{both}{10},{double}{10},% + {nofil}{11},{nofill}{11},{novfil}{11},{novfill}{11},% + {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@switch +% +% \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@toc@leveldown} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% Dieser Schalter bestimmt, ob der Eintrag in das Inhaltsverzeichnis in der +% obersten Gliederungsebene~-- \cs{chapter} für die Klassen \cls{tudscrbook} +% und \cls{tudscrreprt} sowie \cs{section} für \cls{tudscrartcl}~-- oder in der +% darunterliegenden erfolgt. +% \begin{macrocode} +\newif\if@tud@abstract@toc@leveldown +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@toc@leveldown +% \begin{macro}{\if@tud@abstract@markboth} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% Dieser Schalter setzt rechten und linken Kolumnentitel automatisch auf die +% verwendete Überschrift. +% \begin{macrocode} +\newif\if@tud@abstract@markboth +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@markboth +% \begin{macro}{\if@tud@abstract@multi} +% Is dieser Schalter aktiviert, wird eine durch \cs{nextabstract} angegebene +% zweite~-- wahrscheinlich in einer Fremdsprache verfasste~-- Zusammenfassung +% auf die gleiche Seite wie die erste zu setzen. Gesetzt wird der Schalter über +% die Option \opt{abstract=single/multi}. +% \begin{macrocode} +\newif\if@tud@abstract@multi +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@multi +% \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{option}{abstract} +% Alle Klassen unterstützen die Werte, welche in \cs{tud@fm@switch} definiert +% wurden. Die beiden Klassen \cls{tudscrartcl} und\ cls{tudscrreprt} adaptieren +% außerdem das aus \KOMAScript{} bekannte Verhalten über die booleschen Werte +% aus \cs{TUD@numkey@bool}. +% \begin{macrocode} +%<*report|article> +\TUD@key{abstract}[true]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% +%</report|article> +%<*book> +\TUD@key{abstract}[chapter]{% + \edef\@tempb{\tud@fm@switch}% +%</book> + \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#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} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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=multi}) und ob +% die Zusammenfassung einen Eintrag ins Inhaltsverzeichnis bekommen soll. +% \begin{macrocode} + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \@tud@abstract@toc@leveldownfalse% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \@tud@abstract@toc@leveldowntrue% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@markbothtrue% + \or% + \@tud@abstract@markbothfalse% + \or% + \@tud@abstract@multifalse% + \or% + \@tud@abstract@multitrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A abstract +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{environment}{abstract} +% Die \env{abstract}-Umgebung wird komplett überarbeitet. Um alle gewünschten +% Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, \opt{abstract@multi}, +% \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} +% Sollten Überschriften in Form von Kapiteln gewählt worden sein, so wird +% temporär die \opt{titlepage}-Option aktivert, da alle weiteren notwendigen +% Einstellungen dieser entsprechen. Bei aktiver \opt{titlepage}-Option wird +% anschließend der aktuelle Seitenstil gesichert, um diesen nach der Umgebung +% wiederherstellen zu können. +% \begin{macrocode} + \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% +% \end{macrocode} +% Als nächstes 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. Bei aktiver Option +% \opt{titlepage} kann über den Parameter \opt{pagestyle} der Seitenstil +% innerhalb der Umgebung geändert werden. Dieser wird automatisch auf +% \val{headings} gesetzt, wenn beidseitige Kolumnentitel verwendet werden. +% \begin{macrocode} + \TUD@parameter@set[abstract]{#1}% + \if@tud@abstract@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% +% \end{macrocode} +% Nach der Umgebung wird bei aktiver \opt{titlepage}-Option der ursprüngliche +% Seitenstil zurückgesetzt. +% \begin{macrocode} +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +% \end{macrocode} +% \end{environment}^^A abstract +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/07/19}{neu}%^^A +% \begin{parameter}{markboth} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \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{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \@tud@abstract@markbothfalse% + \manualmark\markboth{#1}{#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 markboth +% \end{parameter}^^A pagestyle +% \end{parameter}^^A columns +% \end{parameter}^^A language +% \begin{macro}{\nextabstract} +% Um einzelne Abschnitte innerhalb einer Zusammenfassung trennen zu können, ist +% dieser Befehl notwendig. +% \begin{macrocode} +\newcommand*\nextabstract[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \else% + \ifbool{@tud@abstract@multi}{% + \ifcase\@nameuse{tud@abstract@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \fi% + \tud@fm@next{abstract}{#1}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{abstract}{\abstractname}}]% + \else% + \tud@fm@head{abstract}{\abstractname}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \nextabstract +% +% \iffalse +%</class&body> +%<*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. +% \begin{macro}{\tud@declaration@level} +% \begin{macro}{\if@tud@declaration@toc} +% \begin{macro}{\if@tud@declaration@toc@locked} +% \begin{macro}{\if@tud@declaration@toc@leveldown} +% \changes{v2.02}{2014/11/05}{}%^^A +% \begin{macro}{\if@tud@declaration@markboth} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \begin{macro}{\if@tud@declaration@multi} +% \begin{macro}{\if@tud@declaration@fil} +% 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@toc@leveldown +\newif\if@tud@declaration@markboth +\newif\if@tud@declaration@multi +\@tud@declaration@multitrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +% \end{macrocode} +% \end{macro}^^A \if@tud@declaration@fil +% \end{macro}^^A \if@tud@declaration@multi +% \end{macro}^^A \if@tud@declaration@markboth +% \end{macro}^^A \if@tud@declaration@toc@leveldown +% \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> + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}{true}% + \@tud@declaration@toc@leveldownfalse% + \or% + \stdbool@lock{@tud@declaration@toc}{true}% + \@tud@declaration@toc@leveldowntrue% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@markbothtrue% + \or% + \@tud@declaration@markbothfalse% + \or% + \@tud@declaration@multifalse% + \or% + \@tud@declaration@multitrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A declaration +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{environment}{declarations} +% \begin{macro}{\if@tud@declarations} +% Die \env{declarations}-Umgebung wird ähnlich zur \env{abstract}-Umgebung +% definiert. Prinzipiell funktioniert diese genauso, inklusive der Parameter. +% Der Schalter \cs{if@tud@declarations} wird verwendet, um die weiteren Befehle +% \cs{declaration}, \cs{confirmation} und \cs{blocking} innerhalb und außerhalb +% dieser Umgebung verwenden zu können. +% \begin{macrocode} +\newif\if@tud@declarations +\NewEnviron{declarations}[1][]{% + \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \@tud@declarationstrue% + \TUD@parameter@set[declaration]{#1}% + \if@tud@declaration@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{declaration}{\BODY}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +% \end{macrocode} +% \end{macro}^^A \if@tud@declarations +% \end{environment}^^A declarations +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \changes{v2.02}{2014/07/19}{neu}%^^A +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/07/19}{neu}%^^A +% \begin{parameter}{markboth} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \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{blocking}. 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{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \@tud@declaration@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{company}{\def\@company{#1}}% + \TUD@parameter@define{supporter}{\def\@supporter{#1}}% + \TUD@parameter@define{place}{\def\@place{#1}}% + \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#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 declaration +% \end{parameter}^^A company +% \end{parameter}^^A closing +% \end{parameter}^^A place +% \end{parameter}^^A supporter +% \end{parameter}^^A markboth +% \end{parameter}^^A pagestyle +% \end{parameter}^^A columns +% \end{parameter}^^A language +% \begin{macro}{\declaration} +% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}%^^A +% 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][]{% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \tud@fm@blocking + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \tud@fm@blocking% + \end{declarations}% + }% +} +% \end{macrocode} +% \end{macro}^^A \declaration +% \begin{macro}{\confirmation} +% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}%^^A +% \begin{macro}{\tud@fm@confirmation} +% \changes{v2.02}{2014/07/18}{neu}%^^A +% Mit diesem Befehl kann die Selbstständigkeitserklärung ausgegeben werden. Das +% optionale Argument bestimmt, wer als Unterstützer angegeben wird. Außerdem +% sind Schlüssel-Wert-Paare als Option nutzbar. +% \begin{macrocode} +\newcommand*\confirmation[1][]{% +% \end{macrocode} +% Damit das optionale Argument ohne Schlüssel für die Unterstützer verwendet +% werden kann, wird der Handler umdefiniert. +% \begin{macrocode} + \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \end{declarations}% + }% +% \end{macrocode} +% Der Handler wird auf das ursprüngliche Verhalten zurückgesetzt. +% \begin{macrocode} + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +% \end{macrocode} +% Dies ist der eigentliche Inhalt des Befehls \cs{confirmation}. +% \begin{macrocode} +\newcommand*\tud@fm@confirmation{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\confirmationname}{% + \confirmationtext\vskip0pt\@confirmationclosing% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@confirmation +% \end{macro}^^A \confirmation +% \begin{macro}{\blocking} +% \changes{v2.02}{2014/05/16}{neu, \cs{restriction} umbenannt}%^^A +% \changes{v2.02}{2014/07/18}{an \pkg{scrlayer-scrpage} angepasst}%^^A +% \begin{macro}{\tud@fm@blocking} +% \changes{v2.02}{2014/07/18}{neu}%^^A +% 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*\blocking[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@blocking% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@blocking% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +% \end{macrocode} +% Dies ist der eigentliche Inhalt des Befehls \cs{blocking}. +% \begin{macrocode} +\newcommand*\tud@fm@blocking{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\blockingname}{\blockingtext}% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@blocking +% \end{macro}^^A \blocking +% +% \iffalse +%</class&body> +% \fi +% +% \Finale +% +\endinput 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..50ea0d764dd --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx @@ -0,0 +1,1532 @@ +% \CheckSum{1021} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-layout.dtx}[% + 2014/11/21 v2.02 TUD-KOMA-Script (layout)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-layout.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/08}{Nutzung \cs{FamilyKeyState}}%^^A +% +% \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@cover} +% \changes{v2.02}{2014/08/08}{neu}^^A +% \begin{macro}{\tud@layout@title} +% \begin{macro}{\tud@layout@part} +% \begin{macro}{\tud@layout@chapter} +% \begin{macro}{\tud@layout@switch} +% 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 Cover- 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@cover}{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +%<*book|report> +\csdef@lock{tud@layout@chapter}{0} +%</book|report> +% \end{macrocode} +% 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{} +\edef\tud@layout@switch{% + \TUD@numkey@bool,% + {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} +% Es folgt die eigentliche Option. +% \begin{macrocode} +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@cover}{0}% + \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@cover}{1}% + \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}% +% \end{macrocode} +% Die Umschlagseite wird standardmäßig immer monochrom gesetzt. +% \begin{macrocode} + \csstd@lock{tud@layout@cover}{1}% + \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@cover}{1}% + \csstd@lock{tud@layout@title}{3}% +% \end{macrocode} +% Ein komplett farbiges Layout ist bloß für 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% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@switch +% \end{macro}^^A \tud@layout@chapter +% \end{macro}^^A \tud@layout@part +% \end{macro}^^A \tud@layout@title +% \end{macro}^^A \tud@layout@cover +% \end{macro}^^A \if@tud@cd +% \end{option}^^A cd +% \begin{option}{cdcover} +% \changes{v2.02}{2014/08/08}{neue Option für \cs{makecover}}^^A +% Das durch die Option \opt{cd} insgesamt festgelegte Layout kann für die +% einzelnen Elemente Umschlagseite (\opt{cdcover}),\dots +% \begin{macrocode} +\TUD@key{cdcover}[true]{% + \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@cover}{0}% + \or% + \csset@lock{tud@layout@cover}{1}% + \or% + \csset@lock{tud@layout@cover}{2}% + \or% + \csset@lock{tud@layout@cover}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +% \end{option}^^A cdcover +% \begin{option}{cdtitle} +% \dots Titel (\opt{cdtitle}),\dots +% \begin{macrocode} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \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@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +%</book|report> +% \end{macrocode} +% \end{option}^^A cdchapter +% \begin{option}{headings} +% Die \KOMAScript-Option \opt{headings} setzt die Formatierung aller +% Überschriften zurück. Damit die Einstellungen für das \CD aktiv bleiben, +% werden nach der Ausführung der Option die mit \cs{tud@font@koma@set} +% definierten Makros \cs{tud@font@koma@\meta{Element}} erneut an die +% entsprechenden Schriftelemente angehängt. +% \begin{macrocode} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \AtEndOfFamilyOptions{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% + \ifcase \tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% +%<*book|report> + \fi% + \ifcase \tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% +%</book|report> + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% + }% +} +% \end{macrocode} +% \end{option}^^A headings +% +% \iffalse +%<*book|report> +% \fi +% +% Die nun folgenden Optionen und Befehle werden nur für die beiden Klassen +% \cls{tudscrbook} und \cls{tudscrreprt} 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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@layout@process\fi% + \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 +% \begin{option}{cleardoublespecialpage} +% \changes{v2.02}{2014/07/08}{Nutzung als globale Klassenoption mit Werten für +% Seitenstile aus den \KOMAScript{} bzw. \TUDScript-Klassen}%^^A +% \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@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% +% \end{macrocode} +% Dabei wird die Rückseite entweder wie alle Vakatseiten oder leer gesetzt. +% \begin{macrocode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + \else% +% \end{macrocode} +% Zusätzlich wird die Seite ggf. auch farbig ausgegeben (s. \opt{color}). +% \begin{macrocode} + \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{% + \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{% +% \end{macrocode} +% Außerdem kann ein Seitenstil gezielt ausgewählt werden. +% \begin{macrocode} + \ifstr{#1}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + \FamilyKeyStateProcessed% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% +% \end{macrocode} +% Beim Laden der Klasse selbst sind die speziellen Seitenstile der \KOMAScript- +% bzw. \TUDScript-Klassen noch nicht definiert. Diese sollen als Werte jedoch +% trotzdem erlaubt sein. +% \begin{macrocode} + \ifx\@currname\tudcls@name% + \ifx\@currext\@clsextension% + \ifstr{#1}{headings}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \tud@ifinpslist{#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{}% + }% + \fi% + \fi% + }% + }}}% + \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&body> +% \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 +% \begin{KOMAfont}{tud@heading} +% \changes{v2.02}{2014/08/24}{entfernt}%^^A +% \begin{KOMAfont}{parttitle} +% \begin{macro}{\tud@font@heading} +% \begin{macro}{\tud@font@heading@size} +% \begin{macro}{\tud@font@heading@numsize} +% \changes{v2.02}{2014/08/24}{entfernt}%^^A +% \begin{macro}{\tud@font@part} +% \changes{v2.02}{2014/08/24}{entfernt}%^^A +% \begin{macro}{\tud@font@part@number} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \begin{macro}{\tud@font@part@title} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \begin{macro}{\tud@font@chapter} +% \changes{v2.02}{2014/08/24}{entfernt}%^^A +% Mit \cs{tud@font@heading} wird die Schriftart für Ü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\tud@raggedright\else\tud@RaggedRight\fi% +} +\newcommand*\tud@font@heading@size{\Huge} +% \end{macrocode} +% Anschließend wird das Schriftelement für die Option \opt{parttitle} erstellt. +% \begin{macrocode} +\newkomafont{parttitle}{% + \tud@font@heading% + \color{\tud@color@partfont}% + \usesizeofkomafont{section}% +} +% \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 +% \end{KOMAfont}^^A parttitle +% \end{KOMAfont}^^A tud@heading +% \begin{length}{\pageheadingsvskip} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{length}{\headingsvskip} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Mit diesen Längen kann der Anwender die Überschriften von Titel, Teilen und +% Kapiteln vertikal von ihrer Standardposition verschieben, welche vom \CD +% eigentlich vorgegeben ist. Die Länge \cs{pageheadingsvskip} verschiebt dabei +% Überschriften, welche allein auf einer Seite stehen, also Überschriften von +% Teilen oder auf Kapitelseiten. Auch die vertikale Position des Titels kann +% damit beeinflusst werden. Mit \cs{headingsvskip} werden Überschriften von +% Kapiteln oder aber die des Titelkopfes (\opt{titlepage=false}) verschoben, +% bei denen nach der Überschrift direkt der Fließtext folgt. +% \begin{macrocode} +\newlength{\pageheadingsvskip} +\newlength{\headingsvskip} +% \end{macrocode} +% \end{length}^^A \headingsvskip +% \end{length}^^A \pageheadingsvskip +% \begin{macro}{\tud@layout@process} +% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}%^^A +% 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 die Umschlagseite. Je nachdem, ob das \CD verwendet +% wird, wird der Satzspiegel standardmäßig umgestellt oder eben nicht. +% \begin{macrocode} + \ifcase \tud@layout@cover\relax% + \stdbool@lock{@tud@cover@cdlayout}{false}% + \else% + \stdbool@lock{@tud@cover@cdlayout}{true}% + \fi% +% \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@cmd@restore{titlepagestyle}% + \tud@font@koma@unset{titlehead}% + \tud@font@koma@unset{title}% + \tud@font@koma@unset{subtitle}% + \tud@font@koma@unset{subject}% + \tud@font@koma@unset{author}% + \tud@font@koma@unset{date}% + \tud@font@koma@unset{publishers}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@cmd@store{titlepagestyle}% + \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}% + \tud@font@koma@set{title}{% + \usekomafont{disposition}% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{% + \fontfamily{\sfdefault}% + \fontseries{\bfdefault}% + \selectfont% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{author}{\usekomafont{subject}}% + \tud@font@koma@set{date}{\usekomafont{titlepage}}% + \tud@font@koma@set{publishers}{\usekomafont{author}}% + \let\maketitle\tud@maketitle% + \renewcommand*\titlepagestyle{plain.tudheadings}% + \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@unset{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}{\usekomafont{parttitle}}% + \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \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@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \renewcommand*\partheadmidvskip{\par\nobreak\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% +%<*book|report> + \let\partheadendvskip\tud@partheadendvskip% + \renewcommand*\partheademptypage{}% + \renewcommand*\partpagestyle{plain.tudheadings}% +%</book|report> + \let\@part\tud@@part% +%<*book|report> + \let\@spart\tud@@spart% +%</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@sectioning@reset[addchap]{chapter}% + \tud@font@koma@unset{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@sectioning@set[addchap]{chapter}{% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@chapterfont}% + }% + \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} +% Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}. +% \begin{macrocode} +%<*book|report> + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \let\@@makechapterhead\tud@@@makechapterhead% +%</book|report> + \fi% +} +% \end{macrocode} +% Die beteiligten Optionen führen den Befehl nur nach der Präambel aus. Um die +% Grundeinstellungen zu Beginn des Dokumentes umzusetzen, werden die Befehle +% am Ende der Präambel einmalig ausgeführt. +% \begin{macrocode} +\AtEndPreamble{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@process +% \begin{macro}{\tud@partheadstartvskip} +% \changes{v2.02}{2014/11/05}{Nutzung der Option \opt{parttitle} verbessert}%^^A +% 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. +% \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% + \begingroup% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \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% + \begingroup% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@partfont}% + \ifx\@@title\@empty% + \tud@makeuppercase{\strut}% + \else% + \tud@makeuppercase{\@@title}% + \fi% + \par\nobreak\vskip .775\baselineskip% + \endgroup% + \else% + \usekomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \fi% + \endgroup% +} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@partheadstartvskip +% +% \iffalse +%<*book|report> +% \fi +% +% \begin{macro}{\tud@partheadendvskip} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Hiermit wird 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 die beiden Optionen +% \opt{cleardoublespecialpage} und \opt{clearcolor} die Rückseite farbig +% gesetzt. +% \begin{macrocode} +\newcommand*\tud@partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \clearpage% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@partheadendvskip +% \begin{macro}{\tud@parttitle} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \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 +\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}}% +%</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\relax% + \@afterindentfalse\@afterheading% +} +% \end{macrocode} +% \end{macro}^^A \tud@partpreamble +% \begin{macro}{\tud@chapterheadstartvskip} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im +% \CD angepasst. Mit der Länge \cs{headingsvskip} 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} +\newcommand*\tud@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@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% + \if@tud@chapterpage% + \vspace*{\pageheadingsvskip}% + \else% + \vspace*{\headingsvskip}% + \fi% +}% +% \end{macrocode} +% \end{macro}^^A \tud@chapterheadstartvskip +% \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}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \endgroup% + \fi% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \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=true}% + \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 +% 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. Für die Verwendung +% der \env{abstract}-Umgebung in den Präambeln wird außerdem der Befehl +% \cs{phantomsection} auf \cs{relax} gesetzt, um mit \cs{autoref} automatisch +% generierte Querverweise aus dem Paket \pkg{hyperref} nicht zu verändern. +% \begin{macrocode} +\patchcmd{\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% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +% \end{macrocode} +% \begin{macro}{\tud@chapter@pre} +% \begin{macro}{\tud@chapter@app} +% Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten +% Kapitelseiten (Option~\opt{chapterpage}). Eingefügt werden sie für die +% die Gliederungsbefehle der Kapitel innerhalb von \cs{tud@sectioning@case}. +% \begin{macrocode} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% +% 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 dies mit \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 für den Zweispaltensatz auf normales Verhalten zurückgestellt. +% \begin{macrocode} + \if@restonecol\twocolumn\fi% +% \end{macrocode} +% Sollten keine reinen Kapitelseiten verwendet werden, muss gegebenenfalls im +% Fuß genügend Freiraum für das \DDC-Logo gelassen werden. +% \begin{macrocode} + \else% + \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \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} +% \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 +% Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und +% \cls{tudscrreprt} beendet. +% +% \iffalse +%</book|report> +% \fi +% +% \begin{macro}{\SecDef} +% \begin{macro}{\scr@section@dblarg} +% \begin{macro}{\scr@section@xdblarg} +% Diese Befehle werden ab der \KOMAScript-Version~v3.13a eingeführt. Damit +% werden obligatorische Argumente der Gliederungsebenen besser auf das +% optionale Argument dupliziert, falls dieses nicht angegeben wurde. Damit das +% auch mit der Version~v3.12 funktioniert, werden die entsprechenden Befehle +% hier bereitgehalten. +% \begin{macrocode} +\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} +\providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% +} +\providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a +} +% \end{macrocode} +% \end{macro}^^A \scr@section@xdblarg +% \end{macro}^^A \scr@section@dblarg +% \end{macro}^^A \SecDef +% \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} +% \begin{macro}{\tud@npart} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@opart} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@naddpart} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@oaddpart} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@nchapter} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@ochapter} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@naddchap} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@oaddchap} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@nsection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@osection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@nsubsection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@osubsection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@nsubsubsection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% \begin{macro}{\tud@osubsubsection} +% \changes{v2.02}{2014/09/12}{entfernt}%^^A +% 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 mit \cs{SecDef} 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. +% +% Alle für die \TUDScript-Klassen angepassten Gliederungsbefehle von \cs{part} +% bis \cs{subsubsection} werden seit Version~v2.02 ausnahmslos mit \cs{SecDef} +% erzeugt. Damit wurden die in vorherigen Versionen benötigten Hilfsmakros +% \cs{tud@n\meta{Gliederungsbefehl}} und \cs{tud@o\meta{Gliederungsbefehl}} +% überflüssig unt deshalb entfernt. +% \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@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 +% \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@sectioning@set} +% \changes{v2.02}{2014/08/16}{Bug mit Majuskeln bei \cs{addsec} behoben}%^^A +% \begin{macro}{\tud@sectioning@case} +% \changes{v2.02}{2014/09/12}{Reimplementierung mit \cs{SecDef}}%^^A +% \begin{macro}{\tud@sectioning@reset} +% \begin{macro}{\tud@sectioning@uppercase} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\tud@font@koma@set} +% \begin{macro}{\tud@font@koma@reset} +% \changes{v2.02}{2014/08/24}{neu}%^^A +% \begin{macro}{\tud@font@koma@unset} +% Das Makro \cs{tud@sectioning@set} sichert und überschreibt die gegebenen +% Befehle der einzelnen Gliederungsebenen 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 gegebenen Gliederungsbefehls +% ohne zusätzliche Definition der Schrift. Dies ist für die von \KOMAScript{} +% obendrein 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@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. Dies passiert mit \cs{SecDef}. Für die +% Teileebene werden beispielsweise entweder \cs{tud@part} oder \cs{tud@spart} +% aufgerufen. Dabei wird durch \cs{SecDef} für \cs{tud@part} das obligatorische +% in das optionale Argument kopiert, falls keines angegeben wurde. +% \begin{macrocode} + \csedef{#1}{% + \noexpand\SecDef% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@#1\endcsname% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@s#1\endcsname% + }% +% \end{macrocode} +% Da für die normale Version das optionale Argument ggf. durch \cs{SecDef} +% automatisch erzeugt wird, ist nur die Definition eines Befehls mit optionalen +% Argument notwendig. Dabei 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} + \csedef{tud@#1}[##1]##2{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname% + [{##1}]{\noexpand\tud@sectioning@uppercase{##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} + \csedef{tud@s#1}##1{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname*% + {\noexpand\tud@sectioning@uppercase{##1}}% + }% +% \end{macrocode} +% Aus nicht ganz nachvollziehbaren Gründen gibt es bei Überschriften, die mit +% \cs{addsec} gesetzt werden, ein Problem, wenn innerhalb dieser der Befehl +% \cs{NoCaseChange} verwendet wird. Dieser bleibt hier wirkungslos. Es liegt +% sehr wahrscheinlich daran, dass diese Befehle intern \cs{section*} verwenden. +% Deshalb werden für \cs{addsec} die Befehle leicht abgewandelt definiert. +% \begin{macrocode} + \ifstr{#1}{addsec}{% + \def\tud@addsec[##1]##2{% + \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}% + }% + \def\tud@saddsec##1{% + \@@tud@addsec*{\tud@sectioning@uppercase##1}% + }% + }{}% +% \end{macrocode} +% Die Änderungen durch \cs{tud@chapter@pre} und \cs{tud@chapter@app} 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} +%<*book|report> + \@tempswafalse% + \ifstr{#1}{chapter}{\@tempswatrue}{}% + \ifstr{#1}{addchap}{\@tempswatrue}{}% + \if@tempswa% + \def\@tempa{,s}% + \@for\@tempb:=\@tempa\do{% + \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@pre% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@app% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + }% + \fi% +%</book|report> +} +% \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@unset{#2}% +} +% \end{macrocode} +% Der Befehl \cs{tud@sectioning@uppercase} ist für das Setzen der +% Gliederungsüberschriften in Majuskeln verantwortlich. Außerdem wird ggf. die +% Option \opt{footnotes=symbolheadings} umgesetzt. +% \begin{macrocode} +\robustify{\footnote}% +\newcommand*\tud@sectioning@uppercase[1]{% + \begingroup% + \if@tud@symbolheadings% + \let\c@footnote\c@symbolheadings% + \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}% + \fi% + \tud@makeuppercase{#1}% + \endgroup% +} +% \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 \cs{tud@font@koma@\meta{Element}} +% zugewiesen, welches intern angepasst werden kann. Mit \cs{tud@font@koma@set} +% werden dem angegebenen Element die gewünschten Schriftattribute zugeteilt. +% \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} +% Durch die Option \opt{headings} werden die Schriftelemente zurückgesetzt. +% Mit dem hier definierten Befehl \cs{tud@font@koma@reset} kann diesen das +% Hilfsmakro abermals zugewiesen +% werden. +% \begin{macrocode} +\newcommand*\tud@font@koma@reset[1]{% + \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% +} +% \end{macrocode} +% Mit \cs{tud@font@koma@unset} 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@unset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@font@koma@unset +% \end{macro}^^A \tud@font@koma@reset +% \end{macro}^^A \tud@font@koma@set +% \end{macro}^^A \tud@sectioning@uppercase +% \end{macro}^^A \tud@sectioning@reset +% \end{macro}^^A \tud@sectioning@case +% \end{macro}^^A \tud@sectioning@set +% \begin{macro}{\usesizeofkomafont} +% \changes{v2.02}{2014/05/17}{entfernt}%^^A +% Mit \TUDScript~v2.02 wurde die Bereitstellung dieses Befehls aufgrund der +% zwingenden Verwendung von \KOMAScript{}~v3.12 entfernt. +% \end{macro}^^A \usesizeofkomafont +% +% \iffalse +%</class&body> +% \fi +% +% \Finale +% +\endinput 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..96d43819ce8 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx @@ -0,0 +1,638 @@ +% \CheckSum{549} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-locale.dtx}[% + 2014/11/11 v2.02 TUD-KOMA-Script (localization)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-locale.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% \changes{v2.02}{2014/11/05}{Korrekturen bei der Verwendung von +% \cs{@@title}}%^^A +% +% \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> +% \fi +% +% \begin{locale}{\graduationtext} +% \changes{v2.02}{2014/05/16}{neu, umbenannt von \cs{degreetext}}%^^A +% \begin{locale}{\supervisorname} +% \begin{locale}{\supervisorothername} +% \begin{locale}{\refereename} +% \changes{v2.02}{2014/05/20}{Unterscheidung, ob ein oder mehrere Gutachter +% angegeben sind}%^^A +% \begin{locale}{\refereeothername} +% \begin{locale}{\advisorname} +% \begin{locale}{\advisorothername} +% \begin{locale}{\professorname} +% \begin{locale}{\professorothername} +% \changes{v2.02}{2014/09/03}{neu}%^^A +% \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}{\blockingname} +% \changes{v2.02}{2014/05/16}{neu, \cs{restrictionname} umbenannt}%^^A +% \begin{locale}{\blockingtext} +% \changes{v2.02}{2014/05/16}{neu, \cs{restrictiontext} umbenannt}%^^A +% \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 +% 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{% + \ClassError{\tudcls@name}{% + `\string#1' not defined for language `\languagename'% + }{% + Currently the class `\tudcls@name' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single 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 \tudscrmail% + }% + }% +} +\tud@locale@define{\graduationtext} +\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{\professorothername} +\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} +%<*book> +\tud@locale@define{\abstractname} +%</book> +\tud@locale@define{\confirmationname} +\tud@locale@define{\confirmationtext} +\tud@locale@define{\blockingname} +\tud@locale@define{\blockingtext} +\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} +% \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 \blockingtext +% \end{locale}^^A \listlistingname +% \end{locale}^^A \listingname +% \end{locale}^^A \blockingname +% \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 \professorothername +% \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 \graduationtext +% +% \iffalse +%</class> +%<*supervisor> +% \fi +% +% \begin{locale}{\taskname} +% \begin{locale}{\tasktext} +% \begin{locale}{\authorname} +% \begin{locale}{\titlename} +% \begin{locale}{\coursename} +% \begin{locale}{\disciplinename} +% \changes{v2.02}{2014/05/16}{neu, umbenannt von \cs{branchname}}%^^A +% \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}{\contactpersonname} +% \changes{v2.02}{2014/05/16}{neu, umbenannt von \cs{contactname}}%^^A +% Die für \pkg{tudscrsupervisor} 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{\disciplinename} +\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{\contactpersonname} +% \end{macrocode} +% \end{locale}^^A \contactpersonname +% \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 \disciplinename +% \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} +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\tud@locale@german} +% \changes{v2.02}{2014/07/07}{als Aliasbefehl für \cs{providecaptionname} mit +% dem Argument \marg{deutsche Sprachliste}}%^^A +% Dieser Befehl dient zur Definition der deutschsprachigen Bezeichner. Dabei +% müssen als Argumente der Bezeichnerbefehl selbst sowie die dazugehörige +% Definition angegeben werden. Intern wird dabei \cs{providecaptionname} +% verwendet. +% \begin{macrocode} +\newcommand*\tud@locale@german{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@locale@german +% Hier erfolgt die eigentliche Definition der sprachabhängigen Bezeichner für +% die deutsche Sprache und ihre Dialekte. +% \begin{macrocode} +\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}% +\tud@locale@german{\supervisorname}{Betreuer}% +\tud@locale@german{\supervisorothername}{}% +\tud@locale@german{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + Erstgutachter% + \else% + Gutachter% + \fi% +} +\tud@locale@german{\refereeothername}{Zweitgutachter}% +\tud@locale@german{\advisorname}{Fachreferent}% +\tud@locale@german{\advisorothername}{}% +\tud@locale@german{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Betreuende Hochschullehrer% + \else% + Betreuender Hochschullehrer% + \fi% +} +\tud@locale@german{\professorothername}{}% +\tud@locale@german{\datetext}{Eingereicht am}% +\tud@locale@german{\dateofbirthtext}{Geboren am}% +\tud@locale@german{\placeofbirthtext}{in}% +\tud@locale@german{\defensedatetext}{Verteidigt am}% +\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}% +\tud@locale@german{\matriculationnumbername}{Matrikelnummer}% +\tud@locale@german{\coverpagename}{Umschlagseite}% +\tud@locale@german{\titlepagename}{Titelblatt}% +%<*book> +\tud@locale@german{\abstractname}{Zusammenfassung}% +%</book> +\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}% +\tud@locale@german{\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.% +} +\tud@locale@german{\blockingname}{Sperrvermerk}% +\tud@locale@german{\blockingtext}{% + 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 Technischen + Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des + Pr\"ufungsausschusses zug\"anglich zu machen.% +} +\tud@locale@german{\listingname}{Quelltext}% +\tud@locale@german{\listlistingname}{Quelltextverzeichnis}% +\tud@locale@german{\dissertationname}{Dissertation}% +\tud@locale@german{\diplomathesisname}{Diplomarbeit}% +\tud@locale@german{\masterthesisname}{Master-Arbeit}% +\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}% +\tud@locale@german{\studentresearchname}{Studienarbeit}% +\tud@locale@german{\projectpapername}{Projektarbeit}% +\tud@locale@german{\seminarpapername}{Seminararbeit}% +\tud@locale@german{\researchname}{Forschungsbericht}% +\tud@locale@german{\logname}{Protokoll}% +\tud@locale@german{\internshipname}{Praktikumsbericht}% +\tud@locale@german{\reportname}{Bericht}% +% \end{macrocode} +% +% \iffalse +%</class> +%<*supervisor> +% \fi +% +% Hier erfolgen für das Paket \pkg{tudscrsupervisor} weitere Definitionen. +% \begin{macrocode} +\tud@locale@german{\taskname}{Aufgabenstellung}% +\tud@locale@german{\tasktext}{f\"ur die Anfertigung einer}% +\tud@locale@german{\authorname}{Name}% +\tud@locale@german{\titlename}{Titel}% +\tud@locale@german{\coursename}{Studiengang}% +\tud@locale@german{\disciplinename}{Studienrichtung}% +\tud@locale@german{\issuedatetext}{Ausgeh\"andigt am}% +\tud@locale@german{\duedatetext}{Einzureichen am}% +\tud@locale@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}% +\tud@locale@german{\focusname}{Schwerpunkte der Arbeit}% +\tud@locale@german{\objectivesname}{Ziele der Arbeit}% +\tud@locale@german{\evaluationname}{Gutachten}% +\tud@locale@german{\evaluationtext}{f\"ur die}% +\tud@locale@german{\contentname}{Inhalt}% +\tud@locale@german{\assessmentname}{Bewertung}% +\tud@locale@german{\gradetext}{% + Die Arbeit wird mit der Note \textbf{\@grade} bewertet.% +} +\tud@locale@german{\noticename}{Aushang}% +\tud@locale@german{\contactpersonname}{Ansprechpartner}% +% \end{macrocode} +% +% \iffalse +%</supervisor> +% \fi +% +% +% \subsection{Englischsprachige Bezeichner} +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\tud@locale@english} +% \changes{v2.02}{2014/07/07}{Pseudonym für \cs{providecaptionname} mit +% dem Argument \marg{englische Sprachliste}}%^^A +% Dieser Befehl dient zur Definition der englischsprachigen Bezeichner. Dabei +% müssen als Argumente der Bezeichnerbefehl selbst sowie die dazugehörige +% Definition angegeben werden. Intern wird dabei \cs{providecaptionname} +% verwendet. +% \begin{macrocode} +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@locale@english +% Hier erfolgt die eigentliche Definition der sprachabhängigen Bezeichner für +% die deutsche Sprache und ihre Dialekte. +% \begin{macrocode} +\tud@locale@english{\graduationtext}{to achieve the academic degree}% +\tud@locale@english{\supervisorname}{Supervisor}% +\tud@locale@english{\supervisorothername}{}% +\tud@locale@english{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + First referee% + \else% + Referee% + \fi% +} +\tud@locale@english{\refereeothername}{Second referee}% +\tud@locale@english{\advisorname}{Advisor}% +\tud@locale@english{\advisorothername}{}% +\tud@locale@english{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Supervising professors% + \else% + Supervising professor% + \fi% +} +\tud@locale@english{\professorothername}{}% +\tud@locale@english{\datetext}{Submitted on}% +\tud@locale@english{\dateofbirthtext}{Born on}% +\tud@locale@english{\placeofbirthtext}{in}% +\tud@locale@english{\defensedatetext}{Defended on}% +\tud@locale@english{\matriculationyearname}{Matriculation year}% +\tud@locale@english{\matriculationnumbername}{Matriculation number}% +\tud@locale@english{\coverpagename}{Cover page}% +\tud@locale@english{\titlepagename}{Title page}% +%<*book> +\tud@locale@english{\abstractname}{Abstract}% +%</book> +\tud@locale@english{\confirmationname}{Statement of authorship}% +\tud@locale@english{\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.% +} +\tud@locale@english{\blockingname}{Restriction note}% +\tud@locale@english{\blockingtext}{% + 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 + Technische Universit\"at Dresden, the reviewers and also the + members of the examination board.% +} +\tud@locale@english{\listingname}{Listing}% +\tud@locale@english{\listlistingname}{List of Listings}% +\tud@locale@english{\dissertationname}{Dissertation}% +\tud@locale@english{\diplomathesisname}{Diploma Thesis}% +\tud@locale@english{\masterthesisname}{Master Thesis}% +\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}% +\tud@locale@english{\studentresearchname}{Student Research Project}% +\tud@locale@english{\projectpapername}{Project Paper}% +\tud@locale@english{\seminarpapername}{Seminar Paper}% +\tud@locale@english{\researchname}{Research Report}% +\tud@locale@english{\logname}{Log}% +\tud@locale@english{\internshipname}{Internship Report}% +\tud@locale@english{\reportname}{Report}% +% \end{macrocode} +% +% \iffalse +%</class> +%<*supervisor> +% \fi +% +% Hier erfolgen für das Paket \pkg{tudscrsupervisor} weitere Definitionen. +% \begin{macrocode} +\tud@locale@english{\taskname}{Task}% +\tud@locale@english{\tasktext}{for the preparation of a}% +\tud@locale@english{\authorname}{Name}% +\tud@locale@english{\titlename}{Title}% +\tud@locale@english{\coursename}{Course}% +\tud@locale@english{\disciplinename}{Discipline}% +\tud@locale@english{\issuedatetext}{Issued on}% +\tud@locale@english{\duedatetext}{Due date for submission}% +\tud@locale@english{\chairmanname}{Chairman of the Audit Committee}% +\tud@locale@english{\focusname}{Focus of work}% +\tud@locale@english{\objectivesname}{Objectives of work}% +\tud@locale@english{\evaluationname}{Evaluation}% +\tud@locale@english{\evaluationtext}{for the}% +\tud@locale@english{\contentname}{Content}% +\tud@locale@english{\assessmentname}{Assessment}% +\tud@locale@english{\gradetext}{% + The thesis is evaluated with a grade of \textbf{\@grade}.% +} +\tud@locale@english{\noticename}{Notice}% +\tud@locale@english{\contactpersonname}{Contact}% +% \end{macrocode} +% +% \iffalse +%</supervisor> +%<*class> +% \fi +% +% \subsection{Unterstützung des Paketes \pkg{listings}} +% +% Die Bezeichner des Paketes werden auf die bereits definierten gesetzt. +% \begin{macrocode} +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +% \end{macrocode} +% +% \subsection{Unterstützung des Paketes \pkg{mathswap}} +% +% Wird das Paket \pkg{mathswap} verwendet, werden die Ersetzungen für Punkt und +% Komma im Mathematikmodus sprachspezifisch angepasst. +% \begin{macrocode} +\AfterPackage{mathswap}{% + \tud@locale@german{\@commaswap}{,}% + \tud@locale@german{\@dotswap}{\,}% + \tud@locale@english{\@commaswap}{\,}% + \tud@locale@english{\@dotswap}{.}% +} +% \end{macrocode} +% +% \iffalse +%</class> +% \fi +% +% \Finale +% +\endinput 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..392573d872d --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx @@ -0,0 +1,3361 @@ +% \CheckSum{2611} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-manual.dtx}[% + 2014/12/17 v2.02 TUD-KOMA-Script\space% +%</driver> +%<identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<class&identify>\ProvidesClass{tudscrman}[% +%<package&identify>\ProvidesPackage{tudscrman}[% +%<*driver|(class|package)&identify> +%!TUDVersion +%<class> class (internal manual)% +%<package> package (internal tutorials)% +] +%</driver|(class|package)&identify> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-manual.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/11/18}{Index für Tutorials möglich}%^^A +% \changes{v2.02}{2014/12/17}{xindy-Stildatei wird zur Laufzeit erzeugt}%^^A +% +% \section{Klasse und Paket für die Anwenderdokumentation von \TUDScript} +% +% Es werden die Klasse \cls{tudscrman} für das \TUDScript-Handuch sowie das +% Paket \pkg{tudscrman} für das Setzen von einigen Anwenderleitfäden bzw. +% Tutorials erzeugt. Da es zwischen der Klasse und dem Paket es eine große +% Menge an Überschneidungen gibt, basieren diese auf der gleichen Quelldatei. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*body> +% \fi +% +% \subsection{Benötigte Pakete für die Anwenderdokumentation} +% +% Basis für das Handbuch ist die Klasse \cls{tudscrreprt}. An diese werden alle +% Klassenoptionen weitergereicht. Sie wird für das Setzen des Anwenderhandbuchs +% genutzt. Zusätzlich wird das Paket \pkg{tudscrman} erstellt, um an das +% Handbuch angelehnte Tutorials in einem Unterordner zu erstellen. Sowohl für +% die Klasse als auch das Paket werden einige Pakete geladen. +% +% Das Paket \pkg{xparse} erlaubt eine sehr freie Deklaration von Makros mit +% nahezu beliebig arrangierbaren (optionalen) Argumenten. +% \begin{macrocode} +\RequirePackage{xparse}[2013/12/31] +% \end{macrocode} +% Für den Fließtext werden Pfeile u.\,ä. durch \pkg{textcomp} bereitgestellt. +% \begin{macrocode} +\RequirePackage{textcomp}[2005/09/27] +% \end{macrocode} +% Verbesserungen am \LaTeX-Kernel. +% \begin{macrocode} +\RequirePackage{fixltx2e}[2014/06/10] +% \end{macrocode} +% Vergrößerung des Durchschusses. +% \begin{macrocode} +\RequirePackage{setspace}[2011/12/19] +\setstretch{1.1}\recalctypearea +% \end{macrocode} +% Sprachunterstützung. +% \begin{macrocode} +\RequirePackage{babel}[2014/03/24] +% \end{macrocode} +% Sprachabhängiges Setzen von Anführungszeichen. +% \begin{macrocode} +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\AtBeginDocument{% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\glqg#1\grqq{}}% + }% +} +% \end{macrocode} +% Das Paket \pkg{microtype} wird für den optischen Randausgleich verwendet. +% \begin{macrocode} +\RequirePackage[babel]{microtype}[2013/05/23] +% \end{macrocode} +% Verbesserte Zitate. +% \begin{macrocode} +\RequirePackage{quoting}[2014/01/28] +% \end{macrocode} +% Automatisierte Datumsformatierung. +% \begin{macrocode} +\RequirePackage{isodate}[2010/01/03] +% \end{macrocode} +% Verschiedenste Symbole aus dem \LaTeX-Universum. +% \begin{macrocode} +\RequirePackage{hologo}[2012/04/26] +% \end{macrocode} +% Das Paket \pkg{marginnote} stellt nicht fließenden Randnotizen bereit. +% \begin{macrocode} +\RequirePackage{marginnote}[2012/03/29] +% \end{macrocode} +% Sowohl im Handbuch als auch in den Tutroials werden Quelltextauszüge für das +% bessere Verständnis des Anwenders angegeben. Um diese darzustellen wird das +% Paket \pkg{listings} verwendet. +% \begin{macrocode} +\RequirePackage{listings}[2014/03/04] +\lstdefinestyle{tudscr}{% + basicstyle=\ttfamily\setstretch{1},% + keywordstyle=,% + columns=fullflexible,keepspaces,% + aboveskip=.5\baselineskipglue,% + belowskip=.5\baselineskipglue,% + language=[LaTeX]TeX,% + texcl,% +} +% \end{macrocode} +% Mit dem Paket \pkg{silence} lassen sich ungewollte bzw. lästige Warnungen +% deaktivieren. +% \begin{macrocode} +\RequirePackage{silence}[2012/07/02] +% \end{macrocode} +% Das Pakete wird genutzt, um externer Dateien nur zu kompilieren, wenn dies +% aufgrund einer Änderung auch notwendig ist. +% \begin{macrocode} +\RequirePackage{filemod}[2011/09/19] +% \end{macrocode} +% Sollte \pkg{auto-pst-pdf} aktiv sein, so wird das Laden von \pkg{todonotes} +% unterdrückt, da dieses wiederum das Paket \pkg{tikz} lädt, was zu Problem bei +% der automatisierten Erstellung von \env{pstricks}"=Grafiken führt. +% \begin{macrocode} +\RequirePackage{ifpdf}[2011/01/30] +\ifpdf + \PassOptionsToPackage{colorinlistoftodos,obeyFinal,color=HKS92!10}{todonotes} + \RequirePackage{todonotes}[2012/07/25] +\else + \TUDoptions{ToDo=false} +\fi +% \end{macrocode} +% Um die \cs{write18} sowohl für Windows als auch für unixoide Betriebssysteme +% nutzen zu können, wird das Paket \pkg{ifplatform} geladen. Damit dieses nicht +% allzu lästig ist, wird mithilfe von \pkg{silence} die normalerweise erzeugte +% Warnung der nicht aktivierten Option \opt{shell escape} deaktiviert. +% \begin{macrocode} +\WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled} +\RequirePackage{ifplatform}[2010/10/22] +% \end{macrocode} +% Das Paket \pkg{hyperref} wird für alle möglichen Links und Querverweise +% geladen. +% \begin{macrocode} +\PassOptionsToPackage{hyperindex=false}{hyperref} +\AtEndPreamble{% + \RequirePackage{hyperref}[2012/11/06] + \hypersetup{colorlinks,linkcolor=blue} +% \end{macrocode} +% Es folgen einige Befehle, die an das Paket \pkg{hyperref} gekoppelt sind. +% \begin{macro}{\Email} +% Hyperlink für die Angabe einer E-Mail-Adresse. +% \begin{macrocode} + \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} +% \end{macrocode} +% \end{macro}^^A \Email +% Die Bezeichner für die Abschnittsebenen werden umbenannt. +% \begin{macrocode} + \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} + \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} + \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt} +% \end{macrocode} +% \begin{macro}{\autorefname} +% \begin{macro}{\@autorefname} +% \begin{macro}{\@@autorefname} +% Der Befehl \cs{autorefname} dient dazu, den Verweistyp beziehungsweise den +% Bezeichner des aktuellen oder optional zu einem speziellen Label ohne die +% dazugehörige Nummerierung zu erhalten. Auf der Seite LaTeX Stack Exchange% +%\footnote{\url{http://tex.stackexchange.com/q/33776/}} wurde das Prinzip +% vorgestellt und hier übernommen. +% \begin{macrocode} + \newcommand*\autorefname[1][current]{% + \ifstr{#1}{current}{% + \expandafter\HyPsd@@autorefname\@currentHref\@nil% + }{% + \@autorefname\HyPsd@@autorefname{#1}% + }% + \unskip\xspace% + } + \newcommand*\@autorefname[2]{% + \expandafter\ifx\csname r@#2\endcsname\relax% + ??% + \else% + \expandafter\expandafter\expandafter\@@autorefname% + \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil% + \fi% + } + \newcommand*\@@autorefname{} + \def\@@autorefname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil} +% \end{macrocode} +% \end{macro}^^A \@@autorefname +% \end{macro}^^A \@autorefname +% \end{macro}^^A \autorefname +% \begin{macro}{\manualhyperdef} +% \changes{v2.02}{2014/10/27}{neu}%^^A +% \begin{macro}{\manualhyperref} +% \changes{v2.02}{2014/10/27}{neu}%^^A +% Diese beiden Befehle dienen zum Defnieren von Textankern im Handbuch und zum +% Referenzieren auf diese. Bei der Erstelung des Ankers mit \cs{manualhyperdef} +% wird zusätzlich auch noch ein Label (\cs{label}) erzeugt. Die Sternversion +% des Befehls unterdrückt dies. Der Anker wird mit \cs{Hy@raisedlink}~-- wie es +% auch bei normalen \pkg{hyperref}-Labels geschieht~-- über die Grundlinie +% gehoben. Die Version mit Apostroph kann nach Überschriften verwendet werden +% und verschiebt die vertikale Position des Ankers noch weiter nach oben. +% \begin{macrocode} +%<*class> + \NewDocumentCommand\manualhyperdef{st'm}{% + \IfBooleanTF{#2}{% + \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\jobname}{#3}{}}% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \@afterindentfalse\@afterheading% + }{% + \Hy@raisedlink{\hyperdef{\jobname}{#3}{}}% + \ignorespaces% + }% + \IfBooleanF{#1}{\label{#3}}% + } + \newcommand*\manualhyperref[2]{\hyperref{}{\jobname}{#1}{#2}} +%</class> +% \end{macrocode} +% Aus einem Tutorial erfolgen alle Querverweise mit \cs{manualhyperref} auf das +% Anwenderhandbuch \enquote{tudscr}. +% \begin{macrocode} +%<*package> + \newcommand*\manualhyperref[2]{\hyperref{../tudscr}{tudscr}{#1}{#2}} +%</package> +% \end{macrocode} +% \end{macro}^^A \manualhyperref +% \end{macro}^^A \manualhyperdef +% Damit sind die Ausführungen für das Paket \pkg{hyperref} \emph{fast} beendet. +% Etwas später wird noch der Befehl \cs{pdfexpandableoutline} definiert. +% \begin{macrocode} +} +% \end{macrocode} +% Für die Erstellung des Indexes wird das Paket \pkg{imakeidx} zusammen mit +% \pkg{xindy} verwendet. Zuerst ein paar kleinere Einstellungen für das Layout. +% \begin{macrocode} +\PassOptionsToPackage{xindy,splitindex}{imakeidx} +\RequirePackage{imakeidx}[2013/07/11]% +\indexsetup{% +%<*class> + level=\addsec,% +%</class> +%<*package> + level=\subsection*,% +%</package> + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% +} +\newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} +% \end{macrocode} +% \begin{macro}{\tud@write@i} +% \changes{v2.02}{2014/10/22}{neu}%^^A +% \begin{macro}{\tud@write@ii} +% \changes{v2.02}{2014/11/02}{neu}%^^A +% \begin{macro}{\tud@read} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% Für die Erstellung der Indizes wird zum Sortieren das Programm \pkg{xindy} +% genutzt. Für dieses wird eine eigene Stildatei verwendet, welche zur Laufzeit +% erzeugt wofür zuerst ein Ausgabestream reserviert wird. +% \begin{macrocode} +\newcommand*\tud@write@i{} +\newwrite\tud@write@i +% \end{macrocode} +% Für die Tutorials werden später zusätzlich noch ein weiterer Ausgabe- sowie +% ein Eingabestream benötigt, die hier gleich mit initilaisiert werden. +% \begin{macrocode} +%<*package> +\newcommand*\tud@write@ii{} +\newwrite\tud@write@ii +\newcommand*\tud@read{} +\newread\tud@read +%</package> +% \end{macrocode} +% \end{macro}^^A \tud@read +% \end{macro}^^A \tud@write@ii +% \end{macro}^^A \tud@write@i +% Nachfolgend wird die zu erstellenden \pkg{xindy}-Stildatei kurz beschrieben. +% \begin{macrocode} +\openout\tud@write@i=tudscrman-temp.xdy +% \end{macrocode} +% Als erstes wird Standard-\LaTeX-Modul geladen. +% \begin{macrocode} +\write\tud@write@i{(require "texindy.xdy")} +% \end{macrocode} +% Leider lässt sich für Seitenzahlbereiche via \val{:attr} (noch) kein Markup +% für angehängte \enquote{f.} sowie \enquote{ff.} einstellen. Diese würden +% deshalb bei kursiven oder fetten Seitenzahlen trotzdem in normaler Schrift +% erscheinen, weshalb auf die Auszeichnung folgender Seiten verzichtet wird. +% \begin{macrocode} +%\write\tud@write@i{(require "ff-ranges.xdy")} +% \end{macrocode} +% Seitenbereiche werden sofort zusammengefasst, wobei als Trennzeichen ein +% Halbgeviertstrich verwendet wird. +% \begin{macrocode} +\write\tud@write@i{% +(define-location-class^^J% +\space\space "arabic-page-numbers" ("arabic-numbers") :min-range-length 1^^J% +)% +} +\write\tud@write@i{(markup-range :sep "--")} +% \end{macrocode} +% Alle Argumente in eckigen Klammern werden ignoriert. Dies wird bei einigen +% Indexbefehlen genutzt, um die nicht beachteten RegExp-Regeln auszugleichen, +% siehe den nächsten Absatz. +% \begin{macrocode} +\write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)} +% \end{macrocode} +% Innerhalb ausgewählter Auszeichnungs- und Textbefehle sollten die Befehle +% selbst, nicht jedoch die Argumente verworfen werden. Leider werden die +% manuell erstellten RegExp-Regeln durch \texttt{texindy} zu spät genutzt +% (\url{http://sourceforge.net/p/xindy/bugs/22/}). +% \begin{macrocode} +%\write\tud@write@i{(merge-rule "\\hyperindex\{(.*)\}\{(.*)\}" "/2" :eregexp)} +%\write\tud@write@i{(merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)} +%\write\tud@write@i{(merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)} +%\write\tud@write@i{(merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)} +%\write\tud@write@i{(merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)} +% \end{macrocode} +% Es werden die Attribute \emph{declare} mit der Abkürzung \emph{!} sowie +% \emph{important} mit der Abkürzung \emph{?} und \emph{default} definiert, +% welche hierarchisch gleichgestellt sind. +% \begin{macrocode} +\write\tud@write@i{% + (define-attributes (("declare" "!" "important" "?" "default")))% +} +% \end{macrocode} +% Eine Alternative wäre, diese in der Hierarchie zu unterscheiden, allerdings +% war eine Bildung von zufriedenstellenden Seitenbereichen dabei nicht möglich +% und wurde deshalb verworfen. +% \begin{macrocode} +%\write\tud@write@i{(markup-attribute-group-list :sep ", ")} +%\write\tud@write@i{% +%\space\space(define-attributes (("declare" "!") ("important" "?")("default")))% +%} +% \end{macrocode} +% Einträge, die als wichtig deklariert wurden, können auch für normale zur +% Bereichsbildung verwendet werden. +% \begin{macrocode} +\write\tud@write@i{(merge-to "important" "default")} +\write\tud@write@i{(merge-to "?" "default")} +% \end{macrocode} +% Hier erfolgt die Definition der Auszeichnugen der Attribute. Deklarationen +% werden fett gedruckt, wichtige Einträge erscheinen kursiv. Außerdem wird ein +% entsprechnder Link auf die Seite eingefügt. +% \begin{macrocode} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "declare"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "!"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "important"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "?"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\hyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "default"^^J% +)% +} +% \end{macrocode} +% Punkte zwischen Eintrag und Seitenzahl. +% \begin{macrocode} +\write\tud@write@i{% + (markup-locclass-list :open "\string\,\string\dotfill\string\,")% +} +% \end{macrocode} +% Dieser Querverweistyp wird speziell im allgemeinen Index verwendet, um auf +% einen Spezialindex zu verweisen. +% \begin{macrocode} +\write\tud@write@i{(define-crossref-class "seeidx")} +\write\tud@write@i{% +(markup-crossref-list^^J% +\space\space :class "seeidx" :open "\string\seeidx{" :sep "; " :close "}{}"^^J% +)% +} +% \end{macrocode} +% Damit ist die \pkg{xindy}-Stildatei fertig. +% \begin{macrocode} +\closeout\tud@write@i +% \end{macrocode} +% Nun können die einzelnen Indizes erstellt werden. +% \begin{macrocode} +%<*class> +\makeindex[title={Allgemeiner Index},options=\xdyopt]% +%</class> +\makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]% +\makeindex[% + title={Umgebungen, Befehle und Seitenstile},name=macros,options=\xdyopt% +]% +%<*class> +\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]% +%</class> +\makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]% +%<*class> +\makeindex[title={\"Anderungsliste},name=changelog,columns=1,options=\xdyopt]% +%</class> +% \end{macrocode} +% +% \iffalse +%<*class> +% \fi +% +% \subsubsection{Pakete für die Klasse \cls{tudscrman}} +% +% Das Paket \pkg{enumitem} erlaubt das Beeinflussen der Standardlisten und die +% Ableitung neuer Listen aus diesen. mit \cs{setlist\{noitemsep\}} werden die +% zusätzlichen Zwischenräume innerhalb der Listen beseitigt. +% \begin{macrocode} +\RequirePackage{enumitem}[2011/09/28] +\setlist{noitemsep} +% \end{macrocode} +% Das Paket \pkg{ellipsis} sorgt für korrekte Auslassungpunkte. +% \begin{macrocode} +\AtBeginDocument{ + \RequirePackage{ellipsis}[2004/9/28] + \let\ellipsispunctuation\relax +} +% \end{macrocode} +% Mit Hilfe von \pkg{tabularx} können Tabellen bestimmter Breite und +% automatisch berechneten Spaltenbreiten gesetzt werden. +% \begin{macrocode} +\RequirePackage{tabularx}[1999/01/07] +% \end{macrocode} +% Mit \pkg{ragged2e} wird~-- falls benötigt~-- die Silbentrennung im +% Flattersatz aktiviert. +% \begin{macrocode} +\RequirePackage{ragged2e}[2009/05/21] +% \end{macrocode} +% Die Fußnoten werden nicht mit jedem Kapitel zurückgesetzt. +% \begin{macrocode} +\RequirePackage{chngcntr}[2009/09/02] +\counterwithout{footnote}{chapter} +% \end{macrocode} +% Das Paket wird für die Erstellung von Tabellen verwendet. +% \begin{macrocode} +\RequirePackage{booktabs}[2005/04/14] +% \end{macrocode} +% Verbesserte Referenzierungen auf Seiten. +% \begin{macrocode} +\RequirePackage{varioref}[2011/10/02]% +\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} +% \end{macrocode} +% Erstellen von Grafiken. +% \begin{macrocode} +\RequirePackage{tikz}[2013/12/13] +% \end{macrocode} +% Einbinden von ganzseitigen PDF"~Dokumenten als Beispiel im Handbuch. +% \begin{macrocode} +\RequirePackage{pdfpages}[2013/08/25] +% \end{macrocode} +% Typographisch saubere Einheiten. +% \begin{macrocode} +\RequirePackage{units}[1998/08/04] +% \end{macrocode} +% Befehle für die Dokumentation des Pakets \pkg{tudscrsupervisor}. +% \begin{macrocode} +\RequirePackage{tudscrsupervisor}[\TUDVersion] +% \end{macrocode} +% +% \iffalse +%</class> +%<*package> +% \fi +% +% \subsubsection{Pakete für das Paket \pkg{tudscrman}} +% +% Mit dem Paket \pkg{scrwfile} lassen sich Probleme mit zu wenig verfügbaren +% Streams für das Schreiben externer Datein beheben. Hintergrund ist die +% Verwendung des Paketes \pkg{glossaries} in einem der Tutorials, welches eine +% Vielzahl solcher Streams benötigt. Das Paket \pkg{morewrites} hat keinen +% Einfluss auf \pkg{glossaries}. +% \begin{macrocode} +\RequirePackage{scrwfile}[2013/08/05] +% \end{macrocode} +% Die Umgebungen \env{Preamble}, \env{Trunk} und \env{Hint} sowie deren +% Varianten nutzen das Paket \pkg{filecontents}, um ihren Inhalt in eine +% temporäre Datei zu schreiben und diese direkt mit dem Paket \pkg{listings} +% darzustellen sowie ggf. den Quelltext auszuführen. Beim Überschreiben einer +% Datei wird für gewöhnlich eine Warnung erzeugt. Mit dem Paket \pkg{silence} +% wird diese innerhalb der genannten Umgebungen deaktiviert. +% \begin{macrocode} +\RequirePackage{filecontents}[2011/10/08] +\WarningFilter[Tutorial]{latex}{Overwriting file}% +% \end{macrocode} +% +% \iffalse +%</package> +%</body> +%<*option> +% \fi +% +% \subsection{Optionen der Anwenderdokumentation} +% +% Hier werden die Optionen für Klasse und Paket definiert. +% +% \begin{option}{ToDo} +% \changes{v2.02}{2014/07/10}{neu}%^^A +% \begin{macro}{\if@tud@todo} +% \changes{v2.02}{2014/07/10}{neu}%^^A +% Diese Option ist verantwortlich für den Schalter \cs{if@tud@todo}. Über +% diesen wird gesteuert, ob ToDo-Notizen ausgegeben werden sollen. +% \begin{macrocode} +\newif\if@tud@todo +\@tud@todotrue +\TUD@ifkey{ToDo}{@tud@todo} +% \end{macrocode} +% \end{macro}^^A \if@tud@todo +% \end{option}^^A ToDo +% +% \iffalse +%<*class> +% \fi +% +% Es werden einige Optionen für das Handbuch standardmäßig aktiviert. Dazu +% werden diese an die entsprechende Elternklasse übergeben. +% \begin{macrocode} +\PassOptionsToClass{% + cdfoot=true,% + chapterpage=true,% + chapterprefix=true,% + headings=optiontoheadandtoc,% + captions=tableheading,% + numbers=noenddot,% + color=true,% +}{\tudinh@name} +\PassOptionsToPackage{automark}{scrlayer-scrpage} +% \end{macrocode} +% \begin{macro}{\tudfinalflag} +% \begin{macro}{\tudprintflag} +% Außerdem wird geprüft, ob durch einen externen pdf\LaTeX-Aufruf die Flags +% \cs{tudfinalflag} und/oder \cs{tudprintflag} definiert wurde. In diesem Fall +% werden Optionen zur finalen Ausgabe und/oder unbunten Druck aktiviert. +% \begin{macrocode} +\DeclareOption{final}{\let\tudfinalflag\relax} +\DeclareOption{print}{\let\tudprintflag\relax} +\AtBeginDocument{% + \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}% + \ifdef{\tudprintflag}{\hypersetup{hidelinks}\TUDoptions{color=no}}{}% +} +% \end{macrocode} +% \end{macro}^^A \tudprintflag +% \end{macro}^^A \tudfinalflag +% +% \iffalse +%</class> +%<*package> +% \fi +% +% Wird das Paket \pkg{tudscrman} geladen, werden zu Beginn des Dokumentes ein +% paar Standardeinstellungen gemacht. +% +% \begin{macrocode} +\KOMAoptions{headings=small} +\TUDoptions{cd=true,cdfoot=true} +% \end{macrocode} +% Falls innerhalb eines Tutorials das Paket \pkg{pstricks} verwendet wird, muss +% dafür Sorge getragen werden, dass die automatische Kompilierung reibungslos +% mit \pkg{auto-pst-pdf} funktioniert. +% \begin{macrocode} +\AfterPackage*{pstricks}{% + \ifnum\pdfshellescape=1\relax + \RequirePackage{auto-pst-pdf}[2009/04/26] + \else + \RequirePackage[off]{auto-pst-pdf}[2009/04/26] + \fi +} +% \end{macrocode} +% +% \iffalse +%</package> +%</option> +%<*body> +% \fi +% +% \subsection{Gemeinsame Befehle und Umgebungen für Klasse und Paket} +% +% Es folgen die Definitionen für Befehle und Umgebungen für Klasse und Paket, +% welche sich überschneidenden und für beide benötigt werden. Allerdings sind +% diese jedoch für Klasse und Paket in ihrer Implementierung teilweise sehr +% unterschiedlich. +% +% \subsubsection{Auszeichnung von Variablen, Parametern etc.} +% +% \begin{macro}{\PName} +% \begin{macro}{\PBoolean} +% \begin{macro}{\PBName} +% \changes{v2.02}{2014/11/12}{neu}%^^A +% \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} +\newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} +\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} +\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PSet{\PName{Einstellung}} +\newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} +\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} +\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} +\newrobustcmd*\OLParameter[1]{% + \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% +} +\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} +\newrobustcmd*\POParameter[1]{\mbox{\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 \PBName +% \end{macro}^^A \PBoolean +% \end{macro}^^A \PName +% +% \subsubsection{Kompilieren von externen Dateien und Querverweise auf diese} +% +% \begin{macro}{\Tutorial} +% \changes{v2.02}{2014/08/22}{neu}%^^A +% \changes{v2.02}{2014/10/22}{Reimplementierung}%^^A +% \begin{macro}{\hypertut} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% Die gegebenenfalls notwendige Kompilierung und die Referenzierung eines +% Tutorials aus dem Handbuch erfolgt mit \cs{Tutorial}. Außerdem erfolgt mit +% \cs{hypertut} ein verlinkter Eintrag in den Index. +% \begin{macrocode} +%<*class> +\newrobustcmd*\hypertut[2]{% + \hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}% +} +\NewDocumentCommand\Tutorial{som}{% + \ifnum\pdfshellescape=1\relax% +% \end{macrocode} +% Um mit den verschachtelten Aufrufen von pdf\LaTeX{} umgehen zu können, wird +% das ganze Prozedere in ein Skript ausgelagert. Somit können die Aufrufe von +% pdf\LaTeX{} für die Tutorials im entsprechenden Ordner erfolgen. +% \begin{macrocode} + \filemodCmp{tutorials/#3.pdf}{tutorials/#3.tex}{}{% + \immediate\openout\tud@write@i=tutorials.sh% + \immediate\write\tud@write@i{% + cd tutorials^^J% + pdflatex -shell-escape #3^^J% + biber #3^^J% + makeglossaries #3^^J% + pdflatex #3^^J% + pdflatex #3% + }% + \immediate\closeout\tud@write@i% +% \end{macrocode} +% Hier erfolgt die Unterscheidung der Befehle für die unterschiedlichen OS. +% \begin{macrocode} + \ifwindows% + \immediate\write18{rename tutorials.sh tutorials.bat}% + \immediate\write18{tutorials.bat}% + \immediate\write18{del tutorials.bat}% + \else% + \immediate\write18{bash tutorials.sh}% + \immediate\write18{rm tutorials.sh}% + \fi% + }% + \fi% +% \end{macrocode} +% Hyperlink und Indexeintrag. +% \begin{macrocode} + \IfFileExists{tutorials/#3.pdf}{% + \hypertut{#3}{}% + }{% + \textsbn{#3.pdf}% + \tud@shellescape@wrn% + }% + \IfBooleanF{#1}{% + \index[files]{\hypertut{#3}{~{\idxfont(Tutorial)}\IfValueT{#2}{|#2}}}% + }% +} +%</class> +% \end{macrocode} +% Der Befehl für die Querverweise innerhalb von Tutorials. +% \begin{macrocode} +%<*package> +\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}} +%</package> +% \end{macrocode} +% \end{macro}^^A \hypertut +% \end{macro}^^A \Tutorial +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\IncludeExample} +% \changes{v2.02}{2014/07/25}{Skalierung der eingefügten Seiten}%^^A +% \changes{v2.02}{2014/10/14}{Reimplementierung}%^^A +% Mit diesem Befehl wird eine \LaTeX-Datei ggf. übersetzt und anschließend als +% PDF"~Datei wieder eingebunden. Zuvor wird der dazugehörige Quelltext mittels +% \cs{lstinputlisting} im Dokument ausgegeben. Dieser Befehl wird lediglich für +% die Klasse \cls{tudscrman} benötigt. +% \begin{macrocode} +\newcommand*\IncludeExample[1]{% + \lstinputlisting[style=tudscr]{examples/#1}% +% \end{macrocode} +% Die Beispiele werden nur erneut kompiliert, wenn sich diese geändert haben +% oder noch gar kein entsprechendes PDF"~Dokument existiert. +% \begin{macrocode} + \ifnum\pdfshellescape=1\relax% + \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{% + \immediate\write18{% + pdflatex -shell-escape -output-directory examples examples/#1.tex + pdflatex -output-directory examples examples/#1.tex + pdflatex -output-directory examples examples/#1.tex + }% + }% + \fi% +% \end{macrocode} +% Ist die gesuchte Datei vorhanden, wird diese auch eingebunden. Andernfalls +% wird eine Warnung mit dem Hinweis auf die notwendige Verwednung von +% \val{pdflatex} mit der Option \opt{--shell-escape} erzeugt. +% \begin{macrocode} + \IfFileExists{examples/#1.pdf}{% + \includepdf[% + pages=-,noautoscale,frame,keepaspectratio,pagecommand={},% + height=\textheight,width=\textwidth, offset=5mm 0mm% + ]{examples/#1.pdf}% + }{% + \tud@shellescape@wrn% + }% +} +% \end{macrocode} +% \end{macro}^^A \IncludeExample +% +% \iffalse +%</class> +% \fi +% +% \subsubsection{ToDo-Liste} +% +% \begin{macro}{\ToDo} +% \changes{v2.02}{2014/07/10}{Verwendung von \pkg{todonotes}}%^^A +% \begin{macro}{\@ToDo} +% \changes{v2.02}{2014/07/10}{neu}%^^A +% \begin{macro}{\ListOfToDo} +% \changes{v2.02}{2014/07/10}{neu}%^^A +% Mit dem Befehl \cs{ToDo}\oarg{options}\marg{inline text}\oarg{marginnote} +% kann bei aktivierter Option \opt{ToDo} eine Notiz mit einer offenen Ausgabe +% erstellt werden. Das vorangestellte Argument kann Optionen beinhalten, welche +% durch \pkg{todonotes} unterstützt werden. Außerdem werden die vier boolschen +% Schlüssel \val{doc}, \val{man}, \val{imp} und \val{nxt} definiert, welche +% eine feste, farbliche Kodierung erzeugen. Das angestellte optionale Argument +% erzeugt eine gleichartige Notiz am Rand, in welcher vorzugsweise die +% angedachte Version eingetragen werden kann. Mit \cs{ListOfToDo} wird abhängig +% von der Option \opt{ToDo} eine Liste der offenen Aufgaben erstellt. +% \begin{macrocode} +\newcommand*\@ToDo{} +\NewDocumentCommand\ToDo{somo}{% + \ifbool{@tud@todo}{% + \begingroup% +% \end{macrocode} +% Die boolschen Schlüssel. +% \begin{macrocode} + \define@boolkey{todonotes}{doc}[true]{% + \ifbool{KV@todonotes@doc}{\setkeys{todonotes}{color=HKS41!10}}{}% + }% + \define@boolkey{todonotes}{rls}[true]{% + \ifbool{KV@todonotes@rls}{\setkeys{todonotes}{color=HKS44!50}}{}% + }% + \define@boolkey{todonotes}{imp}[true]{% + \ifbool{KV@todonotes@imp}{\setkeys{todonotes}{color=HKS07!50}}{}% + }% + \define@boolkey{todonotes}{nxt}[true]{% + \ifbool{KV@todonotes@nxt}{\setkeys{todonotes}{color=HKS57!50}}{}% + }% +% \end{macrocode} +% In \cs{@ToDo} wird das optionale Argument für \pkg{todonotes} gesichert. +% \begin{macrocode} + \def\@ToDo{}% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\edef\@ToDo{#2,nolist}}{\edef\@ToDo{#2}}% + }{% + \IfBooleanT{#1}{\edef\@ToDo{nolist}}% + }% +% \end{macrocode} +% Damit die Randnotiz nicht verrutscht, wird \cs{marginnote} anstelle von +% \cs{marginpar} verwendet. Außerdem ist eine Verschiebung um den durch +% \pkg{todonotes} definierten Leerraum notwendig. +% \begin{macrocode} + \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% + \vskip.8ex% +% \end{macrocode} +% hier erfolgt die Ausgabe. +% \begin{macrocode} + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \endgroup% + \par\noindent% + }{}% + \ignorespaces% +} +% \end{macrocode} +% Zum Schluss wird der Befehl \cs{ListOfToDo} definiert, der die Liste der noch +% zu erledigenden Punkte nur ausgeführt ausgibt, wenn die Option \opt{ToDo} +% aktiviert ist. Außerdem werden die Randnotizen auf den linken~-- weil +% größeren~-- Rand gesetzt. +% \begin{macrocode} +\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi} +\reversemarginpar +% \end{macrocode} +% \end{macro}^^A \ListOfToDo +% \end{macro}^^A \@ToDo +% \end{macro}^^A \ToDo +% +% \subsubsection{Kleinkram} +% +% \begin{macro}{\bsc} +% \changes{v2.02}{2014/07/22}{\cs{DeclareRobustCommand} ersetzt mit +% \cs{newrobustcmd} aus \pkg{etoolbox}}%^^A +% Eine einfacher zu verwendende Kurzform. +% \begin{macrocode} +\newrobustcmd*\bsc{\@backslashchar} +% \end{macrocode} +% \end{macro}^^A \bsc +% \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{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% +} +% \end{macrocode} +% \end{length}^^A \baselineskipglue +% \begin{macro}{\tud@shellescape@wrn} +% \changes{v2.02}{2014/10/14}{neu}%^^A +% Dieses Makro wird verwendet, wenn eine gesuchte Datei nicht gefunden wurde, +% weil das Dokument noch nicht mit der Option \opt{--shell-escape} kompiliert +% wurde. +% \begin{macrocode} +\newcommand*\tud@shellescape@wrn{% + \ClassWarning{\tudcls@name}{% + You have to recompile this document with\MessageBreak% + activated shell escape option% + }% + \global\let\tud@shellescape@wrn\relax% +} +% \end{macrocode} +% \end{macro}^^A \tud@shellescape@wrn +% \begin{macro}{\pdfexpandableoutline} +% \changes{v2.02}{2014/11/04}{neu}%^^A +% \begin{macro}{\@TUDScript} +% \changes{v2.02}{2014/08/16}{neu}%^^A +% Für die PDF-Outline-Einträge müssen einige Befehle durch eine expandierbare +% Version ersetzt werden. Der Befehl \cs{pdfexpandableoutline} wird definiert, +% um dies möglichst einfach zu gestalten. +% \begin{macrocode} +\newcommand*\pdfexpandableoutline[1]{% + \AfterPackage*{hyperref}{\pdfstringdefDisableCommands{\csletcs{#1}{@#1}}} +} +% \end{macrocode} +% Den Anfang mach gleich \cs{TUDScript}. +% \begin{macrocode} +\newcommand*\@TUDScript{TUD-KOMA-Script} +\pdfexpandableoutline{TUDScript} +% \end{macrocode} +% \end{macro}^^A \@TUDScript +% \end{macro}^^A \pdfexpandableoutline +% +% \subsubsection{Markup von Klassen, Paketen, Optionen und weiteren Elementen} +% +% 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. Diese Befehle lauten für Klasse und Paket nutzen aus Gründen +% der Konsistenz zwar gleich, unterschieden sich jedoch in der Implementierung. +% +% Für die Klasse gilt, dass die Sternversion all dieser Befehlen nichts in den +% Index einträgt, wenn diese denn im Fließtext Verwendung finden. Wird die +% Sternversion jedoch in einer Änderungsnotiz genutzt, so wird die für diese +% normalerweise angehängte Beschreibung des Elementes unterdrückt. Für (fast) +% alle der folgenden Befehle gilt, dass diese mit zwei optionalen Befehlen am +% Ende genutzt werden können. Mit \val{'refformat'} kann angegeben werden, ob +% der automatisch erzeugte Hyperlink um einen textuellen Querverweis ergänzt +% werden soll. Mit \val{|idxformat|} kann die Erscheinung im Index angepasst +% werden. Die eigentliche Behandlung der Eingabe und die Eintragungen in den +% Index erfolgen dabei mit dem Befehl \cs{@ProcessOutput}, für einen Eintrag +% in die Änderungsliste wird der Befehl \cs{@ProcessChangedAt} genutzt. +% +% Die Befehle für das Paket \pkg{tudscrman} sind in ihrer Funktionalität um +% einiges reduziert. Die meisten besitzen nur ein obligatorisches Argument für +% die formatierte Ausgabe sowie evtl. eine Sternversion, die einen Querverweis +% auf das Handbuch erzeugt. +% \begin{macro}{\Application} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Application} +% Die Auszeichnung und der Indexeintrag einer Anwendungssoftware. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\Application{smd||}{% + \ifdin{#2}{% + \mbox{\textsbs{#2}}% + \CheckIndexFormat{#1}{#3}% + \IfBooleanF{#1}{% + \index{\textsbs{#2}~{\idxfont(Anwendungssoftware)}\IfValueT{#3}{|#3}}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Application{sm}{#2} +\pdfexpandableoutline{Application} +%</class> +%<*package> +\newcommand*\Application[1]{\ifdin{#1}{\mbox{\textsbs{#1}}}} +%</package> +% \end{macrocode} +% \end{macro}^^A \@Application +% \end{macro}^^A \Application +% \begin{macro}{\Distribution} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% Die Auszeichnung und der Indexeintrag einer \LaTeX-Distribution. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\Distribution{smod||}{% + \ifdin{#2\IfValueT{#3}{~#3}}{% + \mbox{\textsbn{#2\IfValueT{#3}{~#3}}}% + \CheckIndexFormat{#1}{#4}% + \IfBooleanF{#1}{% + \index{\textsbn{#2}~{\idxfont(Distribution)}\IfValueT{#4}{|#4}}% + }% + }% +} +%</class> +%<*package> +\newcommand*\Distribution[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}} +%</package> +% \end{macrocode} +% \end{macro}^^A \Distribution +% \begin{macro}{\Path} +% \changes{v2.02}{2014/07/22}{\cs{DeclareRobustCommand} ersetzt durch +% \cs{newrobustcmd} aus \pkg{etoolbox}}%^^A +% Die Auszeichnung eines Dateipfades. +% \begin{macrocode} +\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}} +% \end{macrocode} +% \end{macro}^^A \Path +% \begin{macro}{\File} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% Die Auszeichnung und der Indexeintrag einer Datei. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\File{smd||}{% + \ifdin{#2}{% + \mbox{\textsbn{#2}}% + \CheckIndexFormat{#1}{#3}% + \IfBooleanF{#1}{% + \index[files]{\textsbn{#2}~{\idxfont(Datei)}\IfValueT{#3}{|#3}}% + }% + }% +} +%</class> +%<*package> +\newcommand*\File[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}} +%</package> +% \end{macrocode} +% \end{macro}^^A \File +% \begin{macro}{\Class} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Class} +% \begin{macro}{\@TempClass} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% \begin{macro}{\DeclareClass} +% \changes{v2.02}{2014/10/09}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag einer Klasse. Sollte gerade DIN~Bold +% verwendet werden~-- der Befehl wird innerhalb einer Überschrift genutzt~-- +% wird lediglich das Hauptargument ausgegeben. Das optionale Argument zwischen +% Apostrophen kann für die Formatierung eines Querverweises im Text genutzt +% werden, das optionale Argument zwischen senkrechten Strichen dient der +% Formatierung des Indexeintrages. Außerdem wird für Einträge mit dem Paket +% \pkg{hyperref} mit \cs{@Class} eine expandierbare Version definiert. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\Class{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Klasse}% + \else% + \ifdin{#2}{% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\textsbn{#2}}'#3'% + {files}[\protect\sbnfont]{#2}[~{\idxfont(Klasse)}]% + }% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Class{sm}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{files:#2}{\textsbn{#2}}% + }{% + \textsbn{#2}% + }% + \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Klasse)}}% + }% +} +%</package> +\DeclareExpandableDocumentCommand\@Class{sm}{#2} +\pdfexpandableoutline{Class} +% \end{macrocode} +% \end{macro}^^A \DeclareClass +% \end{macro}^^A \@TempClass +% \end{macro}^^A \@Class +% \end{macro}^^A \Class +% \begin{macro}{\Package} +% \changes{v2.02}{2014/07/10}{Ausgabe für ChangeLog hinzugefügt}%^^A +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Package} +% \begin{macro}{\@TempPackage} +% \begin{macro}{\DeclarePackage} +% \changes{v2.02}{2014/10/09}{entfernt}%^^A +% Für die Auszeichnungen von Paketen gelten vorherigen Aussagen äquivalent. +% Für Pakete wird ergänzend ein Hyperlink auf CTAN erzeugt, wenn für dieses +% kein Label im Dokument besteht, wo dieses genauer erläutert wird. Mit dem +% optionalen Argument in runden Klammern lässt sich der Paketname für den Link, +% welcher normalerweise aus obligatorischen Argument entnommen wird, anpassen. +% Zusätzlich wird ein Befehl für Tutorials erstellt, welcher auf das Handbuch +% verweist. +% \begin{macrocode} +%<*class> +\newcommand*\@TempPackage{} +\NewDocumentCommand\Package{smd''d()d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Paket}% + \else% + \ifdin{#2}{% + \IfValueTF{#4}{\def\@TempPackage{#4}}{\def\@TempPackage{#2}}% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\textsbn{#2}}'#3'(\@TempPackage)% + {files}[\protect\sbnfont]{#2}[~{\idxfont(Paket)}]% + }% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Package{smd()}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{files:#2}{\textsbn{#2}}% + }{% + \IfValueTF{#3}{% + \href{http://www.ctan.org/pkg/#3}{\textsbn{#2}}% + }{% + \href{http://www.ctan.org/pkg/#2}{\textsbn{#2}}% + }% + }% + \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Paket)}}% + }% +} +%</package> +\DeclareExpandableDocumentCommand\@Package{sm}{#2} +\pdfexpandableoutline{Package} +% \end{macrocode} +% \end{macro}^^A \DeclarePackage +% \end{macro}^^A \@TempPackage +% \end{macro}^^A \@Package +% \end{macro}^^A \Package +% \begin{macro}{\Option} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Option} +% \changes{v2.02}{2014/11/02}{neu}%^^A +% \begin{macro}{\@TempOption} +% Im Gegensatz zu den vorherigen Befehlen gibt es ein ordinäres optionales +% Argument nach dem Hauptargument. Damit kann der Option im Handbuch ein Wert +% zugewiesen werden. Für Tutorials wird ein Befehl definiert, der auf das +% Handbuch verweist. +% \begin{macrocode} +%<*class> +\newcommand*\@TempOption{} +\NewDocumentCommand\Option{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{options}{\ttfamily}{#2}{Option}% + \else% + \IfValueTF{#3}{\gdef\@TempOption{\texttt{=#3}}}{\gdef\@TempOption{}}% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\texttt{#2}}[\@TempOption]'#4'{options}[\ttfamily]{#2}% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Option{smo}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{options:#2}{\texttt{#2}}\IfValueT{#3}{\texttt{=#3}}% + }{% + \texttt{#2}\IfValueT{#3}{\texttt{=#3}}% + }% + \index[options]{\begingroup\ttfamily#2\endgroup}% + }% +} +%</package> +\DeclareExpandableDocumentCommand\@Option{sm}{#2} +\pdfexpandableoutline{Option} +% \end{macrocode} +% \end{macro}^^A \@TempOption +% \end{macro}^^A \@Option +% \end{macro}^^A \Option +% \begin{macro}{\Environment} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Environment} +% \changes{v2.02}{2014/11/02}{neu}%^^A +% \begin{macro}{\@TempEnvironment} +% Auch hier wird für die Änderungsliste unterschieden und für Tutorials ein +% Befehl definiert, welcher auf das Handbuch referenziert. +% \begin{macrocode} +%<*class> +\newcommand*\@TempEnvironment{} +\NewDocumentCommand\Environment{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Umgebung}% + \else% +% \end{macrocode} +% Außerdem wird für den Fall, dass der \cs{Environment}-Befehl innerhalb der +% Umgebung \env{Declaration} 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\{#2\}\IfValueT{#3}{#3}}\tabularnewline% + \texttt{\dots}\tabularnewline% + \texttt{\bsc{}end\{#2\}}% + }% + \else% + \gdef\@TempEnvironment{\texttt{#2}}% + \fi% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\@TempEnvironment}'#4'{macros}[\ttfamily]{#2}% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Environment{sm}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{#2}}% + }{% + \texttt{#2}% + }% + \index[macros]{\begingroup\ttfamily#2\endgroup}% + }% +} +%</package> +\DeclareExpandableDocumentCommand\@Environment{sm}{#2} +\pdfexpandableoutline{Environment}% +% \end{macrocode} +% \end{macro}^^A \@TempEnvironment +% \end{macro}^^A \@Environment +% \end{macro}^^A \Environment +% \begin{macro}{\Macro} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@Macro} +% \changes{v2.02}{2014/11/02}{neu}%^^A +% Die Auszeichnung und der Indexeintrag eines Befehls sowie für das Paket +% \pkg{tudscrman} der Hyperlink auf das Handbuch. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\Macro{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{Befehl}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}'#3'{macros}[\ttfamily\bsc]{#2}% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Macro{sm}{% + \ifdin{\bsc#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{\bsc#2}}% + }{% + \texttt{\bsc#2}% + }% + \index[macros]{\begingroup\ttfamily\bsc#2\endgroup}% + }% +} +%</package> +\DeclareExpandableDocumentCommand\@Macro{sm}{#2} +% \end{macrocode} +% \end{macro}^^A \@Macro +% \end{macro}^^A \Macro +% \begin{macro}{\Length} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@TempLength} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag einer \LaTeX-Länge. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\Length{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{L\"ange}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(L\"ange)}\fi]'#3'% + {macros}[\ttfamily\bsc]{#2}[~{\idxfont(L\"ange)}]% + \fi% +} +%</class> +%<*package> +\NewDocumentCommand\Length{sm}{% + \ifdin{\bsc#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{\bsc#2}}% + }{% + \texttt{\bsc#2}% + }% + \index[macros]{\begingroup\ttfamily\bsc#2\endgroup~{\idxfont(L\"ange)}}% + }% +} +%</package> +% \end{macrocode} +% \end{macro}^^A \@TempLength +% \end{macro}^^A \Length +% +% \iffalse +%<*class> +% \fi +% +% \minisec{Exklusive Auszeichnungen für die Klasse} +% Alle weiteren Befehle werden ausschließlich für die Klasse \cls{tudscrman} +% definiert. +% +% \begin{macro}{\Key} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \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} lokal umdefiniert. Das +% ordinäre obligatorische Argument danach dient der Zuweisung eines Wertes im +% Fließtext. +% \begin{macrocode} +\newcommand*\@TempKey{} +\NewDocumentCommand\Key{smmod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}(#2){\ttfamily}{#3}{Parameter}% + \else% + \begingroup% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \IfValueTF{#4}{% + \gdef\@TempKey{\texttt{=#4}\if@declare~{\idxfont(Parameter)}\fi}% + }{% + \gdef\@TempKey{\if@declare~{\idxfont(Parameter)}\fi}% + }% + \SetIndexFormat{#1}{#6}% + \@ProcessOutput{\texttt{#3}}[\@TempKey]'#5'{macros}(#2)[\ttfamily]{#3}% + \endgroup% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempKey +% \end{macro}^^A \Key +% \begin{macro}{\PageStyle} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Die Auszeichnung und der Indexeintrag eines Seitenstils. +% \begin{macrocode} +\NewDocumentCommand\PageStyle{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Seitenstil}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Seitenstil)}\fi}'#3'% + {macros}[\ttfamily]{#2}[~{\idxfont(Seitenstil)}]% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \PageStyle +% \begin{macro}{\Counter} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@TempCounter} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag einer \LaTeX-Zählers. +% \begin{macrocode} +\NewDocumentCommand\Counter{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Z\"ahler}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}}[\if@declare~{\idxfont(Z\"ahler)}\fi]% + {macros}[\ttfamily]{#2}[~{\idxfont(Z\"ahler)}]% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempCounter +% \end{macro}^^A \Counter +% \begin{macro}{\Term} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@TempTerm} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag eines sprachabhängigen Bezeichners. +% \begin{macrocode} +\NewDocumentCommand\Term{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{terms}{\ttfamily\bsc}{#2}{Bezeichner}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(Bezeichner)}\fi]'#3'% + {terms}[\ttfamily\bsc]{#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}% + \ifvmode\else\par\fi% + \vskip\baselineskipglue% + \@afterindentfalse\@afterheading% + \IfBooleanTF{#1}{% + \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% + \setlength{\@tempdimc}{-.7\baselineskip}% + \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}% + }{% + \setlength{\@tempdimc}{\z@}% + \begin{tabular}{lll}\@TermTable\end{tabular}% + }% + \let\@termlist\relax% +} +\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*{\@tempdimc}% + \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} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@TempFont} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag eines Schriftelementes. +% \begin{macrocode} +\NewDocumentCommand\Font{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{fonts}{\ttfamily}{#2}{Schriftelement}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Schriftelement)}\fi}% + {fonts}[\ttfamily]{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempFont +% \end{macro}^^A \Font +% \begin{macro}{\Color} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% \begin{macro}{\@TempColor} +% \changes{v2.02}{2014/10/08}{entfernt}%^^A +% Die Auszeichnung und der Indexeintrag einer Farbe des \CDs. +% \begin{macrocode} +\NewDocumentCommand\Color{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{colors}{\ttfamily}{#2}{Farbe}% + \else% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\texttt{#2}}[% + \IfValueT{#3}{~\texttt{(#3)}}\if@declare~{\idxfont(Farbe)}\fi% + ]'#4'{colors}[\ttfamily]{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempColor +% \end{macro}^^A \Color +% Damit ist das Intermezzo mit Auszeichnungsbefehlen speziell für die Klasse +% beendet. +% +% \iffalse +%</class> +% \fi +% +% \iffalse +%<*class> +% \fi +% +% \subsection{Befehle und Umgebungen für die Klasse} +% +% Hier taucht alles auf, was lediglich für die Klasse \cls{tudscrman} und nicht +% für das Paket benötigt wird. +% +% \begin{macro}{\CheckIndexFormat} +% \changes{v2.02}{2014/10/08}{neu}%^^A +% \begin{macro}{\SetIndexFormat} +% \changes{v2.02}{2014/10/08}{neu}%^^A +% \begin{macro}{\@IndexFormat} +% \changes{v2.02}{2014/10/08}{neu}%^^A +% Zuerst werden jedoch einige Hilfsmakros erstellt mit denen überprüft wird, ob +% die Sternversion der zuvor definierten Auszeichnung"=Befehle zusammen mit +% einer Indexformatierung \val{|idxformat|} genutzt wurde, was sich natürlich +% widerspricht. In diesem Fall erfolgt eine Warnung. +% \begin{macrocode} +\newcommand*\@IndexFormat{} +\let\@IndexFormat\relax +\newcommand*\CheckIndexFormat[2]{% + \IfBooleanT{#1}{% + \IfValueT{#2}{% + \ClassWarning{\tudcls@name}{% + You've used the starred version so no entry for\MessageBreak% + the index is created and the optional argument\MessageBreak% + |#2| will be ignored% + }% + }% + }% +} +% \end{macrocode} +% Der Befehl \cs{SetIndexFormat} setzt das gewünschte Format für den jeweilgen +% Indexeintrag. +% \begin{macrocode} +\newcommand*\SetIndexFormat[2]{% + \CheckIndexFormat{#1}{#2}% + \IfBooleanTF{#1}{% + \def\@IndexFormat{#1}% + }{% + \IfValueTF{#2}{\def\@IndexFormat{#2}}{\def\@IndexFormat{}}% + }% +} +% \end{macrocode} +% \end{macro}^^A \@IndexFormat +% \end{macro}^^A \SetIndexFormat +% \end{macro}^^A \CheckIndexFormat +% \begin{macro}{\if@declare} +% \begin{macro}{\if@stareddeclare} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% \begin{macro}{\if@openindex} +% \begin{macro}{\if@noindex} +% Dies sin ein paar Hilfsmakros zur Steuerung des Markup sowie der Ausgabe von +% Deklarationen, Index und Änderungsliste, welche bei den nächsten Befehlen und +% Umgebungen genutzt werden. +% \begin{macrocode} +\newif\if@declare +\newif\if@stareddeclare +\newif\if@openindex +\newif\if@noindex +% \end{macrocode} +% \end{macro}^^A \if@noindex +% \end{macro}^^A \if@openindex +% \end{macro}^^A \if@stareddeclare +% \end{macro}^^A \if@declare +% +% \subsubsection{Abarbeitung der Markup-Befehle} +% +% In der Klasse \cls{tudscrman} werden die Markup-Befehle entweder im Fließtext +% verwendet und dabei automatisch Einträge in den Index erzeugt oder aber diese +% werden als Argument der Umgebung \env{Declaration} genutzt. +% +% \begin{macro}{\@ProcessOutput} +% \changes{v2.02}{2014/10/08}{Markup für Index und Fließtext getrennt}%^^A +% \changes{v2.02}{2014/10/09}{Anpassung für Umgebung \env{Declaration*}}%^^A +% Der Befehl \cs{@ProcessOutput} ist das Herzstück der Auszeichnungen aller +% Elemente. Das erste obligatorische Argument ist der übergebene Wert, welcher +% in einer bestimmten Form ausgezeichnet werden soll. Darauf folgen die ein +% möglicher \oarg{Anhang} sowie ggf. das \val{'}\meta{Kürzel}\val{'} für die +% Erweiterung der Referenzierunug im Fließtext. Danach wird der Zielindex +% \marg{Index} und~-- für Parameter~-- der \parg{Haupteintrag} übergeben. Es +% folgt der zu erstellende Indexeintrag mit \oarg{Vorsatz}, \marg{Eintrag} und +% \oarg{Anhang}. Die Formatierung für den Indexbefehl wurde zuvor durch +% \cs{SetIndexFormat} in \cs{@IndexFormat} gespeichert. Der vollständige +% Funktionsaufruf lautet: +% \newline\begingroup\scriptsize +% \cs{@ProcessOutput}* +% \marg{Ausgabe}\oarg{Anhang}\val{'}\meta{Kürzel}\val{'}\ignorespaces% +% \marg{Index}\parg{Haupteintrag}\oarg{Vorsatz}\marg{Eintrag}\oarg{Anhang} +% \endgroup +% \begin{macrocode} +\NewDocumentCommand\@ProcessOutput{mod''d()md()omo}{% +% \end{macrocode} +% Mit dem Schalter \cs{if@declare} wird unterschieden, ob ein beliebiger +% Auszeichnungsbefehl innerhalb der Umgebung~\env{Declaration} verwendet wird. +% 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 ist 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 dieser auf \cs{@openindexfalse}. +% \begin{macrocode} + \if@declare% + \if@openindex% + \IfValueT{#3}{% + \ClassWarning{\tudcls@name}{% + It is not possible to use any cross-reference\MessageBreak% + shorthand like '#3' within the arguments of\MessageBreak% + the environment `Declaration'% + }% + }% + \ifx\@IndexFormat\@empty\else% + \ClassWarning{\tudcls@name}{% + It is not possible to use any indexing format\MessageBreak% + like |\@IndexFormat| within the arguments of the\MessageBreak% + environment `Declaration'% + }% + \fi% + \if@noindex\else% + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% +% \end{macrocode} +% Wird zur Deklaration die Umgebung \env{Declaration*} genutzt, so wird der +% Hyperlink ein ganzes Stück nach oben verschoben. Hintergrund ist, dass diese +% Umgebung eigentlich nur zum Deklarieren von Klassen und Paketen gedacht ist +% und direkt nach einer Gliederungsüberschrift folgen sollte. +% \begin{macrocode} + \if@stareddeclare% + \manualhyperdef'{\@tempa}% + \else% +% \end{macrocode} +% Andernfalls wird der normale Hyperlink gesetzt. Das Label zum Prüfen wird +% implizit durch \cs{manualhyperdef} gesetzt. +% \begin{macrocode} + \manualhyperdef{\@tempa}% + \fi% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{(declare}% + \fi% +% \end{macrocode} +% Die \env{Declaration*}"=Umgebung erzeugt keine direkte Ausgabe sondern nur +% die Hyperlinks und Indexeinträge. Die Nennung der Klasse bzw. des Paketes +% oder der Pakete sollte in der Überschrift davor erfolgen. +% \begin{macrocode} + \if@stareddeclare\else% + #1\IfValueT{#2}{#2}% + \fi% + \else% + \if@noindex\else% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}% + \fi% + \fi% + \else% +% \end{macrocode} +% Findet der Auszeichnungsbefehl außerhalb der \env{Declaration}-Umgebung im +% Fließtext Verwendung, wird für den Fall, dass keine Sternversion genutzt +% wurde, mit \cs{@HyperIndex} ein Eintrag im dazugehörigen Index erzeugt. +% \begin{macrocode} + \ifx\@IndexFormat\relax% + \ClassError{\tudcls@name}{\string\SetIndexFormat\space unused}{% + It seems you have forgotten to use \string\SetIndexFormat% + }% + \else% + \expandafter\IfBooleanF\expandafter{\@IndexFormat}{% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{\@IndexFormat}% + }% + \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 (\cs{@tempa}). +% \begin{macrocode} + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% + \ifcsdef{r@\@tempa}{% +% \end{macrocode} +% Wurde ein Format für den Querverweis gesetzt, muss dieses validiert werden. +% Gültige Kürzel sind 'auto', 'page' und 'full'. Damit werden die erzeugten +% Querverweise um den Gliederungsabschnitt, die Seite oder beides ergänzt. +% Außerdem kann mit 'none' der Hyperlink selbst unterbunden werden. +% \begin{macrocode} + \let\@tempb\relax% + \def\@tempc{\mbox{\hyperref{}{\jobname}{\@tempa}{#1}\IfValueT{#2}{#2}}}% + \IfValueT{#3}{% + \def\@tempb{% + \ClassWarning{\tudcls@name}{% + You've used the unknown cross-reference\MessageBreak% + shorthand '#3'. Only 'auto', 'page'\MessageBreak% + and 'full' as well as 'none' are valid% + }% + }% + \ifstr{#3}{auto}{\def\@tempb{ in \autoref{\@tempa}}}{}% + \ifstr{#3}{page}{\def\@tempb{ \vpageref{\@tempa}}}{}% + \ifstr{#3}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}% + \ifstr{#3}{none}{% + \let\@tempb\relax% + \def\@tempc{\mbox{#1\IfValueT{#2}{#2}}}% + }{}% + }% + \@tempc\@tempb% + }{% +% \end{macrocode} +% Wurde ein Format für den Querverweis gesetzt und es existiert kein passendes +% Label, wird eine Warnung ausgegeben. +% \begin{macrocode} + \IfValueT{#3}{% + \ClassWarning{\tudcls@name}{% + No cross-reference created, label \@tempa\space is missing% + }% + }% +% \end{macrocode} +% Sollte ein Paket mit \cs{Package} angegeben worden sein, so wurde das erste +% optionale Argument in runden Klammern verwendet. Dieses wird genutzt, um +% einen Hyperlink auf CTAN zu generieren. Die Ausgabe selbst besteht in jedem +% Fall aus dem ersten obligatorischen und ggf. dem ersten optionalen Argument. +% \begin{macrocode} + \IfValueTF{#4}{% + \href{http://www.ctan.org/pkg/#4}{\mbox{#1\IfValueT{#2}{#2}}}% + }{% + \mbox{#1\IfValueT{#2}{#2}}% + }% + }% + \fi% +% \end{macrocode} +% Zum Schluss wird \cs{@IndexFormat} zurückgesetzt. +% \begin{macrocode} + \let\@IndexFormat\relax% +} +% \end{macrocode} +% \end{macro}^^A \@ProcessOutput +% \begin{macro}{\hyperidx} +% \changes{v2.02}{2014/08/16}{neu}%^^A +% Aufgrund der Nichtbeachtung von RegExp"=Ausdrücken durch den Indexprozessor +% \texttt{texindy} (\url{http://sourceforge.net/p/xindy/bugs/22/}) muss hierfür +% etwas getrickst werden. Der Befehl \cs{hyperidx} hat ein optionales Argument, +% in welchem das für \cs{manualhyperref} obligatorische Label enthalten ist. +% Das führt dazu, dass \texttt{texindy} dieses beim internen Filtern in eckigen +% Klammern beibehält und es anschließend über eine in \texttt{tudscrman.xdy} +% eigens definierte \texttt{merge-rule} verworfen werden kann. +% \begin{macrocode} +\newrobustcmd*\hyperidx[2][]{\manualhyperref{#1}{#2}} +% \end{macrocode} +% \end{macro}^^A hyperidx +% \begin{macro}{\@HyperIndex} +% \changes{v2.02}{2014/10/08}{überarbeitet}%^^A +% 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. +% Daran schließt der Indexeintrag selbst mit \marg{Vorsatz}, \marg{Eintrag}, +% \marg{Anhang} und zum Abschluss \oarg{Formatierung} an. Der vollständige +% Funktionsaufruf lautet: +% \newline\begingroup\scriptsize +% \cs{@HyperIndex}\marg{Index}\marg{Haupteintrag}\ignorespaces% +% \marg{Vorsatz}\marg{Eintrag}\marg{Anhang}\marg{Formatierung} +% \endgroup +% \begin{macrocode} +\NewDocumentCommand\@HyperIndex{mmmmmm}{% + \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}% + \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}% + \IfValueTF{#6}{\edef\@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!\hyperidx[\@tempb]{\begingroup\expandonce\@tempa#4\endgroup}% + ~{\idxfont(Parameter)}\expandonce\@tempc% + }% + \begingroup% + \let\Environment\@firstofone% + \def\Macro##1{\bsc##1}% + \index[keys]{% + \hyperidx[\@tempb]{% + \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}% + }% + \expandonce\@tempc% + }% + \endgroup% + }{% + \index[#1]{% + #2!\begingroup\expandonce\@tempa#4\endgroup% + ~{\idxfont(Parameter)}\expandonce\@tempc% + }% + \index[keys]{% + \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}% + \expandonce\@tempc% + }% + }% +% \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]{% + \hyperidx[#1:#4]{% + \begingroup\expandonce\@tempa#4\endgroup\expandonce\@tempb% + }% + \expandonce\@tempc% + }% + }{% + \index[#1]{% + \begingroup\expandonce\@tempa#4\endgroup% + \expandonce\@tempb\expandonce\@tempc% + }% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \@HyperIndex +% +% \subsubsection{Deklarationen} +% +% Die Umgebungen \env{Declaration} und \env{Declaration*} werden beide für die +% Auszeichnung von Optionen, Umgebungen und Befehlen verwendet, die \TUDScript +% dem Anwender zur Verfügung stellt. +% +% \begin{environment}{Declaration} +% \begin{macro}{\printdeclarationlist} +% \begin{macro}{\@declarationlist} +% \begin{macro}{\@presetlist} +% \begin{macro}{\if@presetlist} +% \begin{macro}{\@additionallist} +% \begin{macro}{\if@additionallist} +% \begin{macro}{\@gobbleparameters} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% Es werden einige Hilfsmakros für die Ausgabe einer Deklaration sowie der +% dazugehörigen Änderungsliste initialisiert. +% \begin{macrocode} +\newcommand*\@declarationlist{} +\let\@declarationlist\relax +\newcommand*\@presetlist{} +\let\@presetlist\relax +\newif\if@presetlist +\newcommand*\@additionallist{} +\let\@additionallist\relax +\newif\if@additionallist +\newcommand*\@gobbleparameters{% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PBName\@gobble% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% +} +% \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 als obligatorisches +% Argument übergeben. Zuvor kann noch vorher im ersten optionalen Argument eine +% Beschreibung für die Änderungsliste in der Form \oarg{Verison!Beschreibung} +% angegeben werden. Danach kann im dritten Argument~-- das zweite optionale~-- +% die Voreinstellung für eine Option oder dergleichen angegeben werden. Das +% nächste optionale Argument erlaubt die Angabe einer bedingten Voreinstellung, +% also einer anderen Voreinstellung als der zuerst angegeben unter bestimmten +% Voraussetzungen. Diese wird in der Form \oarg{Bedingung:Voreinstellung} +% angegeben. 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}{omoog}{% + \listadd\@declarationlist{#2}% +% \end{macrocode} +% Die optional angegebenen Änderungen werden später mit \cs{ChangedAt@Process} +% verarbeitet und für die Änderungsliste sowie die Randnotiz mit +% \cs{@changedatdeclare} in der Liste \cs{@changedatdeclarelist} gesichert. +% \begin{macrocode} + \@changedatdeclare{#1}{#2}% +% \end{macrocode} +% Hier noch die Listen für Voreinstellungen\dots +% \begin{macrocode} + \IfValueTF{#3}{% + \@presetlisttrue% + \IfValueTF{#4}{% + \def\@tempa[##1:##2]{##1:\,##2}% + \listeadd\@presetlist{preset:\,#3\,|\,\expandonce{\@tempa[#4]}}% + }{% + \listadd\@presetlist{preset:\,#3}% + }% + }{% + \listadd\@presetlist{\relax}% + }% +% \end{macrocode} +% \dots sowie zusätliche Informationen. +% \begin{macrocode} + \IfValueTF{#5}{% + \@additionallisttrue% + \listadd\@additionallist{\hspace*{\tabcolsep}\small(#5)}% + \in@{\Environment}{#2}% + \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + }{% + \listadd\@additionallist{\relax}% + }% +}{% +% \end{macrocode} +% Am Ende der Umgebung wird das übergebenen Hauptargument erneut ausgeführt, +% was zum Beenden der Indexeinträge 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{\tudcls@name}{\string\printdeclarationlist\space is missing}{% + \string\@declarationlist\space is not empty. Did you forget\MessageBreak% + to print this list with \string\printdeclarationlist?% + }% + \fi% + \@gobbleparameters% + \vskip-\lastskip% + \@declaretrue\@openindexfalse#2\@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% + \ifvmode\else\par\fi% + \addpenalty{\@beginparpenalty}% + \addvspace{1.5\baselineskipglue}% +% \end{macrocode} +% Die Sternversion erzeugt die Ausgabe ohne Deklarationsindexbefehle. Das +% optionale Argument kann genutzt werden, um das standardmäßige Atrribut für +% die Änderungsliste, welches in \cs{@changedatdeclaredefault} hinterlegt ist, +% zu ändern. Dies ist für die normale Version auf \emph{neu} und für die +% Sternversion auf \emph{entfällt} voreingestellt. +% \begin{macrocode} + \IfBooleanTF{#1}{% + \global\@noindextrue% + \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}}% + }{% + \global\@noindexfalse% + }% + \IfValueT{#2}{\renewcommand*\@changedatdeclaredefault{\emph{#2}}}% + \@declaretrue\@openindextrue% + \@afterindentfalse\@afterheading% +% \end{macrocode} +% Die deklarierten Optionen, Umgebungen, Befehle etc. werden umrahmt. Dabe +% erfolgt die Ausgabe mithilfe einer Box, um die Größe des Deklarationsrahmens +% zu speichern und die Änderungsmarkierung am Seitenrand auf die richtige Höhe +% zu platzieren. Da innerhalb von Tabellen der Wert von \cs{baselineskip} auf +% \makeatletter\the\z@\makeatother~gesetzt wird, muss für einen richtig +% platzierten Link dieser in \cs{HyperRaiseLinkDefault} gesichert werden. +% \begin{macrocode} + \def\@tempa##1{\ignorespaces##1\tabularnewline}% + \edef\HyperRaiseLinkDefault{\the\baselineskip}% + \setbox0\hbox{% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@declarationlist}% + \hline% + \end{tabular}% + }\usebox0% + \@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} +% Alle für die Deklaration verwendeten Listen werden nach ihrer Abarbeitung +% zurückgesetzt. +% \begin{macrocode} + \global\let\@declarationlist\relax% + \global\let\@presetlist\relax% + \global\@presetlistfalse% + \global\let\@additionallist\relax% + \global\@additionallistfalse% +% \end{macrocode} +% Die Einträge in der Änderungsliste sowie die dazugehörige Randnotiz werden +% innerhalb der Deklaration mit \cs{printchangedatlist} erzeugt. Das optionale +% Argument sorgt für die Verschiebung der Randnotiz auf die richtige Höhe, um +% den Höhenversatz zwischen Randnotiz und Deklarationsrahmen auszugleichen. +% \begin{macrocode} + \printchangedatlist*[% + \dimexpr.5\ht\strutbox+.5\dp\strutbox-.5\ht0-.5\dp0\relax% + ]% +% \end{macrocode} +% Zum Schluss wird das optionale Argument (in runden Klammern) neben der +% Deklarationsbox ausgegeben. +% \begin{macrocode} + \IfValueT{#3}{#3}% + \par\nobreak% + \vskip 1.5\baselineskipglue% + \@afterindentfalse\@afterheading% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@gobbleparameters +% \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}{Declaration*} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% Die Sternversion der Umgebung \env{Declaration*} ist für die vereinfachte +% Deklaration von Klassen, Paketen etc. gedacht, bei denen keine Ausgabe +% sondern lediglich Hyperlink, Indexeintrag und Änderungsnotiz erzeugt werden +% sollen. Dabei sollte diese direkt nach einer Gliederungsüberschrift genutzt +% werden, in welcher das zu deklarierende ELement (Klasse, Paket etc.) genannt +% wird. +% \begin{macrocode} +\NewDocumentEnvironment{Declaration*}{om}{% + \@changedatdeclare{#1}{#2}% + \@stareddeclaretrue% + \global\@noindexfalse% + \@declaretrue\@openindextrue#2\@declarefalse% + \@stareddeclarefalse% +}{% + \ifx\@changedatdeclarelist\relax\else% + \ClassError{\tudcls@name}{\string\printchangedatlist\space is missing}{% + \string\@changedatdeclarelist\space is not empty. Did you\MessageBreak% + forget to print this list with \string\printchangedatlist?% + }% + \fi% + \@gobbleparameters% + \@declaretrue\@openindexfalse#2\@declarefalse% +} +% \end{macrocode} +% \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}% + \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{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% +} +% \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\"aumniswert)}% + \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% + {\normalfont\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 +% +% \subsubsection{Erläuterungen und weiterführende Ergänzungen im Handbuch} +% +% Es folgen einige Umgebungen, mit welchen bestimmte Aspekte oder Pakete im +% Handbuch erläutert werden. +% +% \begin{environment}{Example} +% \begin{environment}{Example*} +% Diese Umgebung wird für die exemplarische Erläuterung von bestimmten Aspekten +% im Handbuch verwendet. Wenn dafür ein Quelltextauszug nötig ist, kann +% innerhalb dieser die \env{Code}-Umgebung genutzt werden. Die Sternversion +% unterdrückt dabei das Zurücksetzen des eigentlich entfernten vertikalen +% Abstandes. +% \begin{macrocode} +\newenvironment{Example}{\@nameuse{Example*}}{% + \@nameuse{endExample*}% + \addvspace{-\topsep}% +} +\newenvironment{Example*}{% + \labeling{{\usekomafont{disposition}Beispiel:\ }}% + \item[{\usekomafont{disposition}Beispiel:\ }]% +}{% + \endlabeling% +} +% \end{macrocode} +% \end{environment}^^A Example* +% \end{environment}^^A Example +% \begin{environment}{Code} +% \begin{macro}{\tud@currentHref} +% Folgend werden Befehle und Umgebungen für die Darstellung von Quelltexten im +% Handbuch definiert. Mit dieser Umgebung können kurze Quelltextbeispiele im +% Handbuch ausgegeben werden. Sicherlich sinnvoll ist, die \env{Code}-Umgebung +% innerhalb von \env{Example} oder \env{quoting} zu verwenden, um den +% Quelltext etwas abzuheben. +% \begin{macrocode} +\lstnewenvironment{Code}[1][]{\lstset{style=tudscr,#1}}{} +% \end{macrocode} +% Innerhalb der Umgebung \env{Code} wird \cs{@currentHref} unerwünschter Weise +% geändert. Um dies zu vermeiden, wird dieser Befehl gesichert und anschließend +% zurückgesetzt. +% \begin{macrocode} +\newcommand*\tud@currentHref{} +\BeforeBeginEnvironment{Code}{\global\let\tud@currentHref\@currentHref} +\AfterEndEnvironment{Code}{\global\let\@currentHref\tud@currentHref} +% \end{macrocode} +% \end{macro}^^A \tud@currentHref +% \end{environment}^^A Code +% \begin{environment}{packages} +% \begin{macro}{\itempackages} +% \begin{macro}{\tud@item@pkg} +% \changes{v2.02}{2014/10/08}{\cs{DeclarePackage} entfernt}%^^A +% \changes{v2.02}{2014/10/09}{optionales Argument für CTAN-Link}%^^A +% \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*\itempackages{} +\newcommand*\before@packages{% + \ifdefvoid{\itempackages}{% + \let\itempackages\item% + \let\item\tud@item@pkg% + }{}% +} +\NewDocumentCommand\tud@item@pkg{od()}{% + \itempackages[{% + \IfValueT{#1}{% + \manualhyperdef{files:#1}% + \IfValueTF{#2}{% + \def\@tempa{http://www.ctan.org/pkg/#2}% + }{% + \def\@tempa{http://www.ctan.org/pkg/#1}% + }% + \href{\@tempa}{\Package{#1}'none'|!|}% + }% + }]% +} +% \end{macrocode} +% \end{macro}^^A \before@packages +% \end{macro}^^A \tud@item@pkg +% \end{macro}^^A \itempackages +% \end{environment}^^A packages +% +% \subsubsection{Änderungsliste} +% +% Um dem Anwender einen schnellen Überblick zu Änderungen der aktuellen Verison +% bereitstellen zu können, werden Befehle zur automatisierten Erzeugung einer +% solchen Liste definiert. +% +% \begin{macro}{\printchangedatlist} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% \begin{macro}{\@changedatdeclare} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% \begin{macro}{\@changedatdeclaredefault} +% \changes{v2.02}{2014/10/09}{neu}%^^A +% \begin{macro}{\@changedatdeclarelist} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Um für Änderungsnotizen die dazugehörige Option, Befehl etc. bei einer +% Deklaration kenntlich zu machen, wird das deklarierte Element zusammen mit +% der Notiz in einer Liste gespeichert. Da mehrere kommaseparierte Werte +% angegeben werden können, muss das optionale Argument der Umgebung +% \env{Declaration} dahingehend abgearbeitet werden. Wenn keine weitere +% Erklärung angegeben wurde, wird der entspredchende Eintrag mit dem Attribut +% versehen, welches in \cs{@changedatdeclaredefault} gespeichert ist. +% \begin{macrocode} +\newcommand*\@changedatdeclarelist{} +\let\@changedatdeclarelist\relax +\newcommand*\@changedatdeclaredefault{\emph{neu}} +\newcommand*\@changedatdeclare[2]{% + \IfValueT{#1}{% + \@for\@tempa:=#1\do{% + \protected@expandtwoargs\in@{!}{\@tempa}% + \ifin@% + \expandafter\listadd\expandafter\@changedatdeclarelist% + \expandafter{\@tempa!#2}% + \else% + \expandafter\listadd\expandafter\@changedatdeclarelist% + \expandafter{\@tempa!\@changedatdeclaredefault!#2}% + \fi% + }% + }% +} +% \end{macrocode} +% Die Einträge in der Änderungsliste sowie die dazugehörige Randnotiz werden +% mit dem Makro \cs{ChangedAt@Process} abgearbeitet, sortiert und erstellt. Bei +% \cs{printchangedatlist} wird mit dem optionalen Argument der Versatz für die +% Randnotiz gesetzt. Dieser wird wie auch die Liste an \cs{ChangedAt@Process} +% übergeben, womit diese und die Randnotiz letztendlich erzeugt werden. +% \begin{macrocode} +\NewDocumentCommand\printchangedatlist{sO{\z@}}{% + \ifx\@changedatdeclarelist\relax\else% + \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \global\let\@changedatdeclarelist\relax% + \IfBooleanF{#1}{% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \@afterindentfalse\@afterheading% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@changedatdeclarelist +% \end{macro}^^A \@changedatdeclaredefault +% \end{macro}^^A \@changedatdeclare +% \end{macro}^^A \printchangedatlist +% \begin{macro}{\ChangedAt} +% \changes{v2.02}{2014/07/25}{erweitert}%^^A +% \changes{v2.02}{2014/10/15}{Sternversion neu (keine Randnotiz)}%^^A +% An den Befehl \cs{ChangedAt} kann eine kommagetrente Liste mit verschiedenen +% Versionsnummern und dazugehörigen Änderungen übergeben werden. Er wird in der +% Form: \cs{ChangedAt}\marg{Version!Definition,Version!Erweiterung} genutzt. +% Der Prozess selbst wird mit \cs{ChangedAt@Process} durchgeführt. Es wird +% zu der angegebenen Versionsnummer ein Eintrag in die Änderungsliste erstellt, +% wenn mit einem Ausrufezeichen getrennt der gewünschte Inhalt gegeben wurde. +% +% Alle übergegebenen Versionsnummern werden als Liste mit einmaligen Einträgen +% in einer Randnotiz gesetzt. Mit dem optionalen Argument kann ein vertikaler +% dieser angegeben werden. Die Sternversion von \cs{ChangedAt} unterdrückt die +% Ausgabe dieser Randnotiz. +% \begin{macrocode} +\NewDocumentCommand\ChangedAt{sO{\z@}m}{\ChangedAt@Process[#1]{#2}{#3}} +% \end{macrocode} +% \end{macro}^^A \ChangedAt +% \begin{macro}{\ChangedAt@Process} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\ChangedAt@@Process} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\ChangedAt@@@Process} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \changes{v2.02}{2014/10/16}{Unterteilung Änderungsliste in Bereiche}%^^A +% \begin{macro}{\ChangedAt@Default} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\ChangedAt@Split} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\@changedatlist} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\@changedatversionlist} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% Mit diesen Befehlen wird die Änderungshistorie in Form eines Index erstellt. +% Der Befehl \cs{ChangedAt@Process} setzt eine kommagetrennte Liste in eine +% im Format von \pkg{etoolbox} um. Anschließend wird diese für die Liste der +% Änderungen mit \cs{ChangedAt@Split} aufgespalten. Die einzelnen Einträge +% werden mit \cs{ChangedAt@@Process} weiter verarbeitet. +% \begin{macrocode} +\newcommand*\@changedatlist{} +\newcommand*\ChangedAt@Default{} +\newcommand*\@changedatversionlist{} +\let\@changedatversionlist\relax +\newcommand*\ChangedAt@Process[3][]{% + \let\@changedatlist\relax% + \let\@changedatversionlist\relax% + \@for\@tempa:=#3\do{\listeadd{\@changedatlist}{\expandonce\@tempa}}% + \forlistloop\ChangedAt@Split{\@changedatlist}% +% \end{macrocode} +% Nach der Verarbeitung aller Einräge sind in \cs{@changedatlist} alle +% angegebenen Versionsnummern genau einmal enthalten. Mit \cs{sortlist} werden +% diese in die richtige Reihenfolge sortiert und anschließend als Randnotiz in +% einer Tabelle ausgegeben, falls nicht die Sternversion verwendet wurde. +% \begin{macrocode} + \IfBooleanF{#1}{% + \sortlist{\@changedatversionlist}% + \strut% + \marginnote{% + \def\@tempa####1{% + \ignorespaces\manualhyperref{####1}{####1}\tabularnewline% + }% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@changedatversionlist}% + \hline% + \end{tabular}% + }[#2]% + \ignorespaces% + }% +} +% \end{macrocode} +% Der Befehl \cs{ChangedAt@Split} teilt ein gegebenes Argument am Delimiter +% Ausrufezeichen (\enquote{!}) in drei Argumente auf und reicht diese an +% \cs{ChangedAt@@Process} weiter. Sollte kein oder nur Ausrufezeichen gefunden +% werden, so wird das zweite und/oder dritte Argument mit dem~-- vom Paket +% \pkg{xparse} definierten~-- leeren Wert \texttt{-NoValue-} an den Befehl +% \cs{ChangedAt@@Process} übergeben. +% \begin{macrocode} +\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% + \ChangedAt@@Process#1% +} +% \end{macrocode} +% Hiermit wird der Eintrag in die Änderungshistorie erzeugt. Dabei ist zu +% unterscheiden, ob der Befehl \cs{ChangedAt} direkt genutzt wurde oder aber +% der Eintrag innerhalb der \env{Declaration}-Umgebung erfolgte. Dies wird +% anhand von des dritten Argumentes erkannt. Für den ersten Fall erfolgt ein +% Eintrag lediglich, wenn neben der Versionsnummer selbst auch eine Erklärung +% angegben wurde~-- eine Randnotiz wird aber in jedem Fall gesetzt. Im zweiten +% Fall wird der Erklärung \emph{immer} \cs{ChangedAt@Default} vorangestellt. +% Sollte keine Erklärung direkt angegeben worden sein, so wird in der +% Änderungsliste vermerkt, dass es sich um eine \emph{neue} Option, Befehl etc. +% handelt. Der eigentliche Eintrag selbst erfolgt mit \cs{ChangedAt@@@Process}. +% \begin{macrocode} +\newcommand*\ChangedAt@@Process[3]{% + \IfValueTF{#3}{% +% \end{macrocode} +% Bei der Deklaration von Optionen, Befehlen etc. werden diese automatisch in +% der Liste der Änderungen im Bereich \enquote{Implementierung} vor der +% gegebenen Erklärung selbst ausgegeben. Hierfür wird das dritte Argument +% genutzt. Damit lediglich diese und nicht noch die dazugehörigen Argumente +% eingetragen werden, werden die relevanten Befehle deaktiviert und das +% optionale Argument in \cs{ChangedAt@Default} expandiert. +% \begin{macrocode} + \begingroup% + \@gobbleparameters% + \xdef\ChangedAt@Default{#3}% + \endgroup% + \ChangedAt@@@Process{#1}{Implementierung}{\ChangedAt@Default: #2}% + }{% +% \end{macrocode} +% Wurde \cs{ChangedAt} direkt und nicht über das optionale Argument der +% Umgebungen \env{Declaration} genutzt, erscheint der gewünschte Eintrag im +% Bereich \enquote{Allgemein}. +% \begin{macrocode} + \IfValueT{#2}{\ChangedAt@@@Process{#1}{Allgemein}{#2}}% + }% +% \end{macrocode} +% Außerdem wird der Liste \cs{changedatversionlist} die aktuelle Version +% einmalig hinzugefügt, um alle in einer Randnotiz ausgeben zu können. +% \begin{macrocode} + \xifinlist{#1}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#1}}% +} +% \end{macrocode} +% Mit \cs{ChangedAt@@@Process} Erfolgen die Einträge in die Änderungsliste. +% \begin{macrocode} +\newcommand*\ChangedAt@@@Process[3]{% + \begingroup% +% \end{macrocode} +% Für geänderte Parameter wird als Haupteintrag das dazugehörige Makro bzw. die +% entsprechende Umgebung verwendet. Der geänderte Parameter folgt danach. +% Zuerst muss ggf. das Makro \cs{ChangedAt@Default} expandiert werden. +% \begin{macrocode} + \def\@tempa{#3}% + \in@{\ChangedAt@Default}{#3}% + \ifin@% + \expandafter\def\expandafter\@tempa\expandafter{\ChangedAt@Default}% + \fi% +% \end{macrocode} +% Danach wird geprüft, ob das Makro \cs{Key} übergeben wurde. Außerdem wird ein +% Anker in der Änderungsliste für die Referenzierung auf die einzelnen Bereiche +% (\enquote{Allgemein}, \enquote{Implementierung} und \enquote{Umbenennungen}) +% gesetzt. +% \begin{macrocode} + \expandafter\in@\expandafter\Key\expandafter{\@tempa}% + \ifin@% + \begingroup% + \RenewDocumentCommand\Key{sommo}{\xdef\@TempKey{##3:}}% + \setbox0\hbox{#3}% + \endgroup% + \index[changelog]{% + #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!\@TempKey\ #3% + }% + \else% + \index[changelog]{% + #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!#3% + }% + \fi% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \@changedatversionlist +% \end{macro}^^A \@changedatlist +% \end{macro}^^A \ChangedAt@Split +% \end{macro}^^A \ChangedAt@Default +% \end{macro}^^A \ChangedAt@@@Process +% \end{macro}^^A \ChangedAt@@Process +% \end{macro}^^A \ChangedAt@Process +% \begin{macro}{\Rename} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Der Befehl \cs{Rename} erzeugt einen Eintrag in der Änderungshistorie sowie +% einen Eintrag im gewünschten Index mit einem Verweis auf den neuen Befehl. +% \begin{macrocode} +\newcommand*\Rename[4][]{% + \ChangedAt@@@Process{#2}{Umbenennungen}{% + #3: \emph{umbenannt}~\textrightarrow~siehe #4% + }% + \ChangedAt@@@Process{#2}{Implementierung}{% + #4: \emph{neu}~\textrightarrow~ersetzt #3% + }% + \listeadd\@changedatdeclarelist{#2}% + \index[#1]{#3|see{#4}}% +} +% \end{macrocode} +% \end{macro}^^A \Rename +% \begin{macro}{\@ProcessChangedAt} +% \changes{v2.02}{2014/07/25}{erweitert}%^^A +% \changes{v2.02}{2014/10/08}{Sternversion ergänzt}%^^A +% Die Änderungsliste erhält ebenfalls einen Hyperlink zur Deklaration. Für +% Umgebungs- und Befehlsparameter wird mit dem zweiten optionalen Argument ein +% Untereintrag für die dazugehörige Umgebung beziehungsweise den dazugehörigen +% Befehl erzeugt. +% \begin{macrocode} +\NewDocumentCommand\@ProcessChangedAt{mmd()mmm}{% + \begingroup% + \let\texttt\@firstofone% + \let\textsbn\@firstofone% + \let\textsbs\@firstofone% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \IfValueTF{#3}{\xdef\@tempa{#2:#3:#5}}{\xdef\@tempa{#2:#5}}% + \endgroup% + \IfBooleanTF{#1}{% + \def\@tempb{\begingroup#4#5\endgroup}% + }{% + \def\@tempb{\begingroup#4#5\endgroup~{\idxfont(#6)}}% + }% + \ifcsdef{r@\@tempa}{\hyperidx[\@tempa]{\@tempb}}{\@tempb}% +} +% \end{macrocode} +% \end{macro}^^A \@ProcessChangedAt +% \begin{macro}{\sortlist} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\@sortlist} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\@sortedlist} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\if@listsorted} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Der Befehl \cs{sortlist} erwartet eine \pkg{etoolbox}-Liste und sortiert diese +% mit \cs{@sortlist} in alphabetischer Reihenfolge in eine kommagetrennte +% Auflistung. Diese wird anschließend wieder in eine \pkg{etoolbox}-Liste +% umgewandelt. +% \begin{macrocode} +\newif\if@listsorted +\newcommand*\@sortedlist{} +\newcommand*\sortlist[1]{% + \let\@sortedlist\relax% + \forlistloop\@sortlist{#1}% + \let#1\relax% + \@for\@tempa:=\@sortedlist\do{\listeadd{#1}{\@tempa}}% +} +% \end{macrocode} +% Hier erfolgt die eigentliche Sortierung der Liste. +% \begin{macrocode} +\newcommand*\@sortlist[1]{% +% \end{macrocode} +% Der erste Eintrag wird direkt der Liste hinzugefügt. +% \begin{macrocode} + \ifx\@sortedlist\relax% + \def\@sortedlist{#1}% +% \end{macrocode} +% Weitere Einräge werden mit \cs{pdfstrcmp} an der richtigen Stelle eingefügt. +% Dabei wird die kommagetrennte Liste \cs{@sortedlist} mit \cs{@for} durchlaufen +% und \cs{@tempb} als Hilfsmakro verwendet, in welches die aktuelle Liste +% innerhalb der \cs{@for}-Schelife stückweise expandiert wird. Der Schalter +% \cs{if@listsorted} wird gesetzt, wenn das aktuelle Element an der richtigen +% Stelle eingesetzt wurde. +% \begin{macrocode} + \else% + \@listsortedfalse% + \let\@tempb\@empty% + \@for\@tempa:=\@sortedlist\do{% +% \end{macrocode} +% Ist der Eintrag bereits erfolgt, wird der verbliebene Teil der Liste +% angehängt. +% \begin{macrocode} + \if@listsorted% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \else% +% \end{macrocode} +% Liegt der Eintrag in alphabetischer Reihenfolge vor dem aktuellen der +% durchlaufenenen Liste, so wird dieser davor eingefügt. Dabei muss der Fall, +% dass das Element der erste Eintrag in der temporären Liste \cs{@tempb} ist, +% eine Sonderbehandlung erfolgen. Anschließend wird \cs{@listsortedtrue} +% gesetzt. +% \begin{macrocode} + \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<0\relax% + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{% + #1,\@tempa% + }% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{% + \@tempb,#1,\@tempa% + }% + \fi% + \@listsortedtrue% + \else% +% \end{macrocode} +% Ist Eintrag in alphabetischer Reihenfolge nach dem aktuellen der geprüften +% Liste, so wird dieser (noch) nicht eingefügt. Der Sonderfall des ersten +% Elementes wird abgedeckt. +% \begin{macrocode} + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \fi% + \fi% + \fi% + }% +% \end{macrocode} +% Wurde der Eintrag nach dem Durchlaufen der Liste nicht eingefügt, so erfolgt +% dies hier am Ende der Liste. +% \begin{macrocode} + \if@listsorted\else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}% + \fi% +% \end{macrocode} +% Die temporäre Liste \cs{@tempb} wird auf \cs{@sortedlist} überschrieben. +% \begin{macrocode} + \let\@sortedlist\@tempb% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@listsorted +% \end{macro}^^A \@sortedlist +% \end{macro}^^A \@sortlist +% \end{macro}^^A \sortlist +% +% \iffalse +%</class> +%<*package> +% \fi +% +% \subsection{Befehle und Umgebungen für das Paket} +% +% Hier taucht alles auf, was lediglich für das Paket \pkg{tudscrman} und nicht +% für die Klasse benötigt wird. +% +% Für den Anwender werden im \TUDScript-Bundle einige Tutorials für die Nutzung +% von \LaTeXe bereitgestellt. Innerhalb dieser werden Auszüge von Quelltexten +% verwendet und erläutert. Zum einen soll die Möglichkeit geschaffen werden, +% diese gesammelt am Ende eines Tutorials für ein Copy"~\&"~Paste"~Beispiel zu +% verwenden. Andererseits soll auch das sofortige Ausführen des beschriebenen +% Quelltextauszuges direkt im Tutorial möglich sein. Dafür werden im Folgenden +% die Umgebungen \env{Preamble}, \env{Trunk} und \env{Hint} sowie daraus +% abgeleitet Varianten definiert, womit sich die Angabe und Erläuterung der +% Quelltexte im Tutorial logisch strukturieren lässt und dennoch die notwendige +% Ordnung dieser für das Copy"~\&"~Paste"~Beispiel aufrechterhalen werden kann. +% Hierfür zeichnen die beiden Umgebungen \env{Preamble} und \env{Trunk} und +% deren Derivate verantwortlich. Die Umgebung \env{Hint} steht für zusätzliche +% Erläuterungen bereit, welche jedoch nicht in das Copy"~\&"~Paste"~Beispiel +% übernommen werden. +% +% Damit die Umgebungen nicht doppelt implementiert werden müssen, werden die +% Hilfsmakros \cs{tud@tut@pre} und \cs{tud@tut@post} definiert. Diese nutzen +% die \env{filecontents}"=Umgebung, welche den Inhalt in die temporäre Datei +% \val{\string\jobname-temp.tex} schreibt. Zusätzlich wird dieser Inhalt mit +% \cs{tud@tut@append} der Datei \val{\string\jobname-preamble-temp.tex} oder +% \val{\string\jobname-trunk-temp.tex}~-- abhängig vom gegebenen Argument~-- +% hinzugefügt. So werden die im Dokumentes gesetzten Quelltextauszüge für ein +% Copy"~\&"~Paste"~Beispiel gesammelt und mit \cs{FinishTutorial} ausgegeben. +% \begin{environment}{Preamble} +% \changes{v2.02}{2014/11/02}{neu}%^^A +% \begin{environment}{Preamble*} +% \changes{v2.02}{2014/11/03}{neu}%^^A +% \begin{environment}{Preamble+} +% \changes{v2.02}{2014/11/03}{neu}%^^A +% Die Umgebung \env{Preamble} dient für die Ausgabe von Quelltexten, welche in +% einem \LaTeXe-Dokument in der Präambel verwendet werden müssen oder sollten. +% Die in ihr gesetzten Inhalte werden für das Copy"~\&"~Paste-Beispiel vor den +% Inhalten aus der Umgebung \env{Trunk} ausgegeben. Die Sternversion führt +% den Inhalt zusätzlich im Dokument aus. Die Pluszechen"=Version fügt dem +% Ausgabestream ihren Inhalt hinzu, ohne das dieser ausgegeben oder ausgeführt +% wird. +% \begin{macrocode} +\newenvironment{Preamble}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Preamble*}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Preamble+}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +% \end{macrocode} +% \end{environment}^^A Preamble+ +% \end{environment}^^A Preamble* +% \end{environment}^^A Preamble +% \begin{environment}{Trunk} +% \changes{v2.02}{2014/08/16}{neu}%^^A +% \begin{environment}{Trunk*} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% \begin{environment}{Trunk+} +% \changes{v2.02}{2014/11/03}{neu}%^^A +% \begin{environment}{Trunk!} +% \changes{v2.02}{2014/10/07}{neu}%^^A +% Die Umgebung \env{Trunk} dient zur Ausgabe von exemplarischen Quelltexten, +% welche in einem \LaTeXe-Dokument innerhalb der \env{document}-Umgebung +% verwendet werden müssen oder sollten. Für das Copy"~\&"~Paste-Beispiel werden +% die gegebenen Inhalte nach den Inhalten aus der Umgebung \env{Preamble} +% ausgegeben. Die Sternversion der Umgebung führt ihren Inhalt zusätzlich im +% Dokument aus. Die Pluszeichen"=Version fügt dem Ausgabestream ihren Inhalt +% hinzu, ohne diesen auszugeben oder auszuführen. Die Ausrufezeichen"=Version +% fügt den Quelltext im Dokument ein und führt diesen zusätzlich in einer +% separaten Datei mit einem minimalen Dokumentkörper aus, um daraus eine +% PDF-Datei zu erzeugen, welche im Nachhinein mit \cs{IncludeStandalone} als +% Grafik eingebunden werden kann. Dies ist für Quelltextabschnitte gedacht, +% deren Ausgabe zu groß ist, um diese direkt anzuzeigen und dennoch dargestellt +% werden sollen. +% \begin{macrocode} +\newenvironment{Trunk}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk*}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk+}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk!}[1]{% + \gdef\@StandaloneFile{#1}% + \tud@tut@pre% +}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@pdf% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +% \end{macrocode} +% \end{environment}^^A Trunk! +% \end{environment}^^A Trunk+ +% \end{environment}^^A Trunk* +% \end{environment}^^A Trunk +% \begin{environment}{Hint} +% \changes{v2.02}{2014/09/16}{neu}%^^A +% \begin{environment}{Hint*} +% \changes{v2.02}{2014/10/13}{neu}%^^A +% \begin{environment}{Hint?} +% \changes{v2.02}{2014/12/09}{neu}%^^A +% \begin{environment}{Hint!} +% \changes{v2.02}{2014/11/13}{neu}%^^A +% Um Quelltextausschnitte zur weiterführenden Information anzugeben, wird die +% Umgebung \env{Hint} definiert. Der Inhalt wird ausgegben und~-- falls die +% Sternversion genutzt wurde~-- auch ausgeführt, allerdings nicht in das +% Copy"~\&"~Paste"~Beispiel übernommen. Ansonsten entsprechen alle Umgebungen +% in ihren Eigenschaften den äquivalenten \env{Trunk}-Umgebungen. Die Version +% mit Fragezeichen ist für Quelltextauszüge gedacht, die ungeprüft \emph{vor} +% dessen Ausgabe ausgeführt werden sollen. +% \begin{macrocode} +\newenvironment{Hint}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint*}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint?}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \InputCode% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint!}[1]{% + \gdef\@StandaloneFile{#1}% + \tud@tut@pre% +}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@pdf% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +% \end{macrocode} +% \end{environment}^^A Hint! +% \end{environment}^^A Hint? +% \end{environment}^^A Hint* +% \end{environment}^^A Hint +% \begin{macro}{\@StandaloneFile} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% Die Umgebungen \env{Trunk!} und \env{Hint!} erzeugen nach der Ausgabe des +% Quelltextes mit dem Makro \cs{tud@tut@pdf} eine PDF-Datei, welche mit +% \cs{IncludeStandalone} in das Tutorial eingebunden werden kann. +% \begin{macrocode} +\newcommand*\@StandaloneFile{} +\let\@StandaloneFile\relax +% \end{macrocode} +% \end{macro}^^A \@StandaloneFile +% \begin{macro}{\tud@tut@pre} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% \begin{macro}{\tud@tut@post} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% Dies sind die Hilfsmakros, welche zu Beginn und Ende der Quelltextumgebungen +% \env{Preamble}, \env{Trunk} und \env{Hint} für das Sichern der Inhalte in +% eine Hilfsdatei verantwortlich zeichnen. +% \begin{macrocode} +\newcommand*\tud@tut@pre{% + \ActivateWarningFilters[Tutorial]% + \@nameuse{filecontents*}{\jobname-temp.tex}% +} +\newcommand*\tud@tut@post{% + \@nameuse{endfilecontents*}% + \DeactivateWarningFilters[Tutorial]% +} +% \end{macrocode} +% \end{macro}^^A \tud@tut@post +% \end{macro}^^A \tud@tut@pre +% \begin{macro}{\tud@tut@lst} +% \changes{v2.02}{2014/10/07}{neu}%^^A +% Damit wird der Quelltext eingezogen ausgegeben. +% \begin{macrocode} +\newcommand*\tud@tut@lst{% + \begin{quoting}[rightmargin=0pt]% + \lstinputlisting[style=tudscr]{\jobname-temp.tex}% + \end{quoting}% +} +% \end{macrocode} +% \end{macro}^^A \tud@tut@lst +% \begin{macro}{\tud@tut@input} +% \changes{v2.02}{2014/10/13}{neu}%^^A +% \begin{macro}{\CodePreamble} +% \changes{v2.02}{2014/08/20}{neu}%^^A +% \begin{macro}{\@CodePreamble} +% \changes{v2.02}{2014/10/22}{neu}%^^A +% \begin{macro}{\CodeHook} +% \changes{v2.02}{2014/10/11}{neu}%^^A +% \begin{macro}{\@CodeHook} +% \changes{v2.02}{2014/10/11}{neu}%^^A +% Bereitstellung von Hilfsmakros für die formatierte Ausgabe von Quelltexten. +% \begin{macrocode} +\newcommand\@CodePreamble{} +\let\@CodePreamble\relax +\newcommand\CodePreamble[1]{\long\gdef\@CodePreamble{#1}} +\newcommand*\@CodeHook{} +\let\@CodeHook\relax +\newcommand*\CodeHook[1]{\gdef\@CodeHook{#1}}% +% \end{macrocode} +% Für die Ausgabe des Quelltextergebnisses erfolgt ein linker Einzug. Außerdem +% werden unter anderem abhängig von der Verwendung eines erklärenden Textes die +% eingefügten vertikalen Abstände angepasst. +% \begin{macrocode} +\newcommand*\tud@tut@input{% +% \end{macrocode} +% Nach dem Ausführen des ersten Argumentes von \cs{@tempa} wird geprüft, ob +% dieses überhaupt eine sichtbare Ausgabe erzeugt hat. Nur für diesen Fall wird +% nach dieser vertikaler Leerraum eingefügt. Der Anfang entspricht prinzipiell +% dem Standardbefehl \cs{settoheight}, jedoch wird im Inneren zusätzlich eine +% \cs{vbox} verwendet, um damit auch mathematische Umgebungen testen zu können. +% Das Ganze findet innerhalb einer Gruppierung statt, um keine Änderungen zu +% erzeugen. +% \begin{macrocode} + \def\@tempa##1##2{% + ##1% + \begingroup% + ##2% + \setbox\@tempboxa\hbox{\vbox{##1}}% + \@tempdima=\ht\@tempboxa% + \setbox\@tempboxa\box\voidb@x% + \ifdim\@tempdima>\z@\relax% + \endgraf% + \vspace{\baselineskipglue}% + \noindent\ignorespaces% + \fi% + \endgroup% + }% +% \end{macrocode} +% Da aufgrund der Verwendung der \env{filecontents}"=Umgebung ein optionales +% Argument für alle Abwandlungen der Quelltextumgebungen nicht möglich ist, +% wird \cs{CodePreamble} bereitgestellt, womit der Ausgabe ein erläuternder +% Text vorangestellt werden kann. +% \begin{macrocode} + \@tempa{\@CodePreamble}{}% + \setlength{\@tempdimc}{\leftskip}% + \setlength{\leftskip}{\leftmargin}% +% \end{macrocode} +% Durch die zweimalige Verwendung von \val{\string\jobname-temp.tex}~-- einmal +% dirket und einmal innerhalb einer Box~-- können darin verwendete Befehle wie +% \cs{newcommand} zu Fehler führen. Mit dem Makro \cs{CodeHook} lassen sich +% diese Konflikte durch eine lokale Redefinition ebensoclher Befehle auflösen +% (bspw. \cs{let}\cs{newcommand}\cs{renewcommand}). +% \begin{macrocode} + \ActivateWarningFilters[Tutorial]% + \@tempa{\input{\jobname-temp.tex}}{\@CodeHook}% + \DeactivateWarningFilters[Tutorial]% + \global\let\@CodeHook\relax% + \setlength{\leftskip}{\@tempdimc}% + \noindent\ignorespaces% +} +% \end{macrocode} +% \end{macro}^^A \@CodeHook +% \end{macro}^^A \CodeHook +% \end{macro}^^A \@CodePreamble +% \end{macro}^^A \CodePreamble +% \end{macro}^^A \tud@tut@input +% \begin{macro}{\InputCode} +% \changes{v2.02}{2014/10/21}{neu}%^^A +% Mit \cs{InputCode} kann der Inhalt der letzen \env{Trunk}"=Umgebung +% direkt ausgeführt werden, ohne diesen zuvor mit \cs{tud@tut@input} zu prüfen +% und zu formatieren. +% \begin{macrocode} +\newcommand*\InputCode{\input{\jobname-temp.tex}} +% \end{macrocode} +% \end{macro}^^A \InputCode +% \begin{macro}{\tud@tut@pdf} +% \changes{v2.02}{2014/10/22}{neu}%^^A +% Die Umgebung \env{Trunk!} verwendet nach der Ausgabe des Quelltextes diesen +% abermals, um daraus eine PDF-Datei zu erzeugen. Dafür wird mithilfe einer +% \env{filecontents}"=Umgebung eine temporäre \LaTeX-Datei erzeugt. Diese +% bindet die mit \env{Trunk!} erzeugte Datei ein und wird anschließende via +% \cs{write18} kompiliert. Dabei sollte man sich nicht von der doppelten +% Verwendung von \cs{jobname} verwirren lassen. Der Dateiname der temporär +% erzeugten \LaTeX-Datei ist abhängig vom gesetzten Tutorial. Beim Aufruf +% dieser wird über die Optionen von pdf\LaTeX{} der verwendete \cs{jobname} +% angepasst (siehe \cs{tud@tut@pdf}). +% \begin{macrocode} +\ifnum\pdfshellescape=1\relax% +\ActivateWarningFilters[Tutorial]% +\begin{filecontents*}{tutorial-temp.tex} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrsupervisor} +\usepackage{isodate} +\usepackage{enumitem} +\setlist{noitemsep} +\begin{document} +\input{\jobname.tex} +\end{document} +\end{filecontents*} +\DeactivateWarningFilters[Tutorial]% +\fi +% \end{macrocode} +% Der Quelltext aus der \env{Trunk!}"=Umgebung wird~-- wie bei allen anderen +% Derivaten der Umgebungen \env{Trunk}~-- in \val{\string\jobname-temp.tex} +% gesichert. Beim Aufruf von pdf\LaTeX{} wird durch die Verwendung der Option +% \opt{-jobname=\string\jobname-temp} die eigentliche Definition des Makros +% \cs{jobname} in der aufgerufenen Datei \val{tutorial-temp.tex} überschrieben +% und der Inhalt von \val{\string\jobname-temp.tex} wie gewünscht eingebunden +% und kompiliert. Damit die so erstellte PDF-Datei mit \cs{IncludeStandalone} +% im weiteren Verlauf in das Tutorial eingebunden werden kann, wird diese noch +% in \cs{\meta{Argument}-temp.pdf} umbenannt. +% \begin{macrocode} +\newcommand*\tud@tut@pdf{% + \ifnum\pdfshellescape=1\relax% + \immediate\write18{% + pdflatex -jobname=\jobname-temp tutorial-temp.tex + pdflatex -jobname=\jobname-temp tutorial-temp.tex + pdflatex -jobname=\jobname-temp tutorial-temp.tex + }% + \ifwindows% + \immediate\write18{rename \jobname-temp.pdf \@StandaloneFile-temp.pdf}% + \else% + \immediate\write18{mv \jobname-temp.pdf \@StandaloneFile-temp.pdf}% + \fi% + \fi% + \global\let\@StandaloneFile\relax% +} +% \end{macrocode} +% \end{macro}^^A \tud@tut@pdf +% \begin{macro}{\IncludeStandalone} +% \changes{v2.02}{2014/09/10}{neu}%^^A +% Der Befehl \cs{IncludeStandalone} bindet die durch \env{Trunk!} generierten +% PDF-Dateien ein. Das angehängte optionale Argument dient zur Angabe der +% einzubindenden Seiten der PDF-Datei, wobei diese automatisch auf die passende +% Breite skaliert werden. +% \begin{macrocode} +\NewDocumentCommand\IncludeStandalone{omO{1}}{% + \IfFileExists{#2-temp.pdf}{% + \@tempcnta\z@% + \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}% + \ifnum\@tempcnta>\z@% + \setlength{\@tempdima}{\textwidth}% + \divide\@tempdima\@tempcnta% + \advance\@tempcnta\m@ne% + \multiply\@tempcnta 2% + \addtolength{\@tempdima}{-\@tempcnta\tabcolsep}% + \@for\@tempa:=#3\do{% + \advance\@tempcnta\m@ne% + \edef\@tempb{% + keepaspectratio,page=\@tempa,width=\the\@tempdima,% + \IfValueT{#1}{#1}% + } + \fbox{\expandafter\includegraphics\expandafter[\@tempb]{#2-temp.pdf}}% + \ifnum\@tempcnta>\z@\hfill\fi% + }% + \fi% + }{% + \tud@shellescape@wrn% + }% +} +% \end{macrocode} +% \end{macro}^^A \IncludeStandalone +% \begin{macro}{\StartTutorial} +% \changes{v2.02}{2014/08/21}{neu}%^^A +% \begin{macro}{\FinishTutorial} +% \changes{v2.02}{2014/08/21}{neu}%^^A +% Mit \cs{StartTutorial} wird ein Hyperlink für den Querverweis aus dem +% Handbuch definiert. Außerdem wird gleich der Titel und ein einleitender Satz +% gesetzt. +% \begin{macrocode} +\newcommand\StartTutorial[1][% + Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse + als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach + sinnvollen Pakete geladen. +]{% + \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% + \faculty{}% + \setlength\headingsvskip{-15mm}% + \maketitle\noindent#1% + \immediate\openout\tud@write@i=\jobname-preamble-temp.tex\relax + \immediate\openout\tud@write@ii=\jobname-trunk-temp.tex\relax + \immediate\write\tud@write@ii{^^J\string\begin{document}^^J} +} +% \end{macrocode} +% Der Befehl \cs{FinishTutorial} schleißt den noch offenen Ausgabestream und +% gibt den vorgestellten Quelltext vollständig aus. +% \begin{macrocode} +\newcommand\FinishTutorial[1][]{% + \immediate\write\tud@write@ii{^^J\string\end{document}^^J} + \immediate\closeout\tud@write@ii% + \immediate\closeout\tud@write@i% + \tud@tut@collect% + \clearpage% + \addsec{Copy~\&~Paste}% + \pagestyle{empty}% + Zum Ende des Dokumentes wird das vorgestellte Tutorial als \"ubersetzbarer + Quelltext ausgegeben, um dieses via Copy~\&~Paste verwenden und alle Punkte + nachvollziehen zu k\"onnen. Bitte beachten Sie, dass~-- abh\"angig vom + genutzten PDF-Betrachter~-- beim Kopieren die dargestellten Einz\"uge und + Abs\"atze m\"oglicherweise verloren gehen k\"onnen. Dies kann insbesondere + aufgrund fehlender Leerzeilen zu einem unvorteilhaften Ausgabeergebnis + f\"uhren. Alternativ finden Sie den folgenden \hologo{LaTeX}-Quelltext auch + im Pfad \Path{texmf/source/latex/tudscr/doc/examples/} als Datei + \File{\jobname-example.tex}. \par #1 + \begin{quoting}[rightmargin=0pt]% + \lstinputlisting[style=tudscr]{\jobname-example-temp.tex}% + \end{quoting}% +} +% \end{macrocode} +% \end{macro}^^A \FinishTutorial +% \end{macro}^^A \StartTutorial +% \begin{macro}{\tud@tut@readtostream} +% \changes{v2.02}{2014/12/16}{neu}%^^A +% \begin{macro}{\tud@tut@line} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% \begin{macro}{\tud@tut@append} +% \changes{v2.02}{2014/08/19}{neu}%^^A +% \begin{macro}{\tud@tut@collect} +% \changes{v2.02}{2014/12/16}{neu}%^^A +% Bei den Tutorials soll zum Schluss ein komplett kompilierbares Beispiel für +% Copy~\&~Paste gegeben werden. Um dieses zusammenzubauen, werden alle im +% Dokument innerhalb der Varianten der \env{Trunk}"=Umgebungen gegebenen +% Codefragmente zusammengesetzt. Um die Quelltexte einlesen und verarbeiten zu +% können, werden zwei Eingabe- sowie ein Ausgabestream benötigt, welche bereits +% zuvor initilaisiert wurden. +% +% Mit \cs{tud@tut@readtostream} wird der Inhalt der Datei im ersten Argument +% in den Ausgabestream des zweiten Argumentes geschrieben. Dies wird durch die +% Makros \cs{tud@tut@append} und \cs{tud@tut@collect} genutzt. +% \begin{macrocode} +\newcommand*\tud@tut@line{} +\newcommand*\tud@tut@readtostream[2]{% + \begingroup% + \endlinechar=-1\relax% + \openin\tud@read=#1% +% \end{macrocode} +% Der Schalter \cs{if@tempswa} wird verwendet, um unnötige Leerzeilen in der +% Ausgabedatei zu entfernen. Wurde eine nicht leere Zeile gefunden, wird diese +% auf jeden Fall geschrieben, indem \cs{@tempswatrue} gesetzt wird. Eine leere +% Zeile wird~-- bis auf den Sonderfall, dass es sich um die letzte Zeile in der +% Datei handelt~-- zunächst nicht weiter beachtet. Im Zweifelsfall wird diese +% (erste) Leerzeile geschrieben. +% \begin{macrocode} + \@tempswafalse% + \loop\unless\ifeof\tud@read% + \readline\tud@read to\tud@tut@line% + \ifx\tud@tut@line\@empty% + \ifeof\tud@read\@tempswafalse\fi% + \else% + \@tempswatrue% + \fi% +% \end{macrocode} +% Hier erfolgt das eigentliche Schreiben im selektierten Stream. +% \begin{macrocode} + \if@tempswa% + \immediate\write#2{\unexpanded\expandafter{\tud@tut@line}}% + \fi% +% \end{macrocode} +% Im Nachgang wird überprüft, ob die aktuell geschriebene Zeile leer war. Ist +% dies der Fall, so wird \cs{@tempswafalse} gesetzt, um eine etwaig folgende +% Leerzeile nicht in die Ausgabedatei zu schrieben. +% \begin{macrocode} + \ifx\tud@tut@line\@empty\@tempswafalse\fi% + \repeat% + \closein\tud@read% + \endgroup% +} +% \end{macrocode} +% Der innerhalb der Umgebungen \env{Preamble} und \env{Trunk}~-- sowie deren +% Derivaten~-- angegeben Inhalt wird beim Beenden dieser in die Hilfsdatei +% \cs{jobname-temp.tex} zwischengespeichert. Mit dem Befehl \cs{tud@tut@append} +% wird der Inhalt dieser Datei ausgelesen und den zusätzlichen Hilfsdateien +% \cs{jobname-preamble-temp.tex} beziehungsweise \cs{jobname-trunk-temp.tex} +% angehangen und damit gesichert, um Quelltextauszüge aus dem Tutorial für die +% Präambel sowie den Dokumentteil trennen beziehungsweise sortieren zu können. +% \begin{macrocode} +\newcommand*\tud@tut@append[1]{\tud@tut@readtostream{\jobname-temp.tex}{#1}} +% \end{macrocode} +% Das Makro \cs{tud@tut@collect} fügt alle Quelltexte des Tutorials, welche +% nach Präambel und Dokumentteil sortiert wurden, in einer Datei zusammen. +% Diese wird zum einen am Ende des Tutorials mit \cs{FinishTutorial} ausgeben, +% zum anderen wird diese als Beispiel in den Ordner für Beispiele beim Erzeugen +% eines Release kopiert. +% \begin{macrocode} +\newcommand*\tud@tut@collect{% + \immediate\openout\tud@write@ii\jobname-example-temp.tex\relax% + \tud@tut@readtostream{\jobname-preamble-temp.tex}{\tud@write@ii}% + \tud@tut@readtostream{\jobname-trunk-temp.tex}{\tud@write@ii}% + \immediate\closeout\tud@write@ii +} +% \end{macrocode} +% \end{macro}^^A \tud@tut@collect +% \end{macro}^^A \tud@tut@append +% \end{macro}^^A \tud@tut@line +% \end{macro}^^A \tud@tut@readtostream +% +% \iffalse +%</package> +% \fi +% +% \subsection{Ausgabe von Index und Änderungsliste} +% +% Ein Index kann sowhol mit dem Paket als auch mit der Klasse erzeugt werden, +% die Änderungsliste ist der Klasse vorbehalten. +% \begin{macro}{\idxfont} +% Für zusätzliche Informationen im Index nach dem eigentlichen Eintrag wird +% eine etwas kleinere Schrift verwendet. +% \begin{macrocode} +\newcommand*\idxfont{} +\let\idxfont\footnotesize +\robustify{\idxfont} +% \end{macrocode} +% \end{macro}^^A \idxfont +% \begin{macro}{\PrintIndex} +% \begin{macro}{\PrintIndexPrologue} +% \changes{v2.02}{2014/08/20}{neu}%^^A +% \begin{macro}{\@printindexprologue} +% \changes{v2.02}{2014/08/20}{neu}%^^A +% \begin{macro}{\@printindexskip} +% \changes{v2.02}{2014/09/02}{neu}%^^A +% \begin{macro}{\Index} +% \begin{macro}{\seeidx} +% \begin{macro}{\@printindex} +% \changes{v2.02}{2014/07/25}{neu}%^^A +% Der Befehl \cs{PrintIndex} ist die Zusammenfassung für die Ausgabe aller +% Indexe. +% \begin{macrocode} +\newcommand*\PrintIndex{% + \begingroup% +%<*class> + \@printindex% +%</class> + \@printindex[options]% + \@printindex[macros]% +%<*class> + \@printindex[keys]% + \@printindex[terms]% + \begingroup% + \let\lettergroup\@gobble% + \let\indexspace\par% + \@printindex[fonts]% + \@printindex[colors]% + \endgroup% +%</class> + \@printindex[files]% + \endgroup% +} +% \end{macrocode} +% Hiermit kann der einleitende Teil für den allgemeinen Index gesetzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\PrintIndexPrologue[1]{\long\gdef\@printindexprologue{#1}} +\newcommand*\@printindexprologue{} +%</class> +% \end{macrocode} +% Durch die Verwendung der \env{multicols}"=Umgebung werden zu große vertikale +% Abstände gesetzt. Dies wird mit diesem Befehl rückgängig gemacht. +% \begin{macrocode} +\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi} +% \end{macrocode} +% Der Befehl \cs{@printindex} setzt vor jedem Unterindex ein referenzierbares +% Label und gibt diesen danach aus. +% \begin{macrocode} +\newcommand*\@printindex[1][]{% + \pagebreak[3]% + \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% +%<*class> + \ifblank{#1}{% + \ifx\@printindexprologue\@empty% + \indexprologue[\@printindexskip]{\manualhyperdef'{idx:main}}% + \else% + \indexprologue{% + \manualhyperdef'{idx:main}% + \@printindexprologue% + }% + \fi% + \printindex\@printindexskip% + \let\@printindexprologue\@empty% + }{% + \indexprologue[\@printindexskip]{\manualhyperdef'{idx:#1}}% + \printindex[#1]\@printindexskip% + }% +%</class> +%<*package> + \indexprologue[\@printindexskip]{}% + \printindex[#1]\@printindexskip% +%</package> +} +% \end{macrocode} +% Der Befehl \cs{Index} dient zum Eintragen eines Schlagwortes im allgemeinen +% Index und verweist auf den speziellen, zum Schlagwort gehörigen Index. Das +% optionale Argument kann verwendet werden, um ggf. den Eintrag in den +% allgemeinen Index anders zu benennen, als den Verweis. +% \begin{macrocode} +%<*class> +\newcommand*\seeidx[2]{\pageref{idx:#1}} +\NewDocumentCommand\Index{mom}{% + \index{% + #1!\textrightarrow{}\space% + \manualhyperref{idx:#3}{Index der \IfValueTF{#2}{#2}{#1}}|seeidx{#3}% + }% +} +%</class> +% \end{macrocode} +% \end{macro}^^A \@printindex +% \end{macro}^^A \seeidx +% \end{macro}^^A \Index +% \end{macro}^^A \@printindexskip +% \end{macro}^^A \@printindexprologue +% \end{macro}^^A \PrintIndexPrologue +% \end{macro}^^A \PrintIndex +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\PrintChangelog} +% \begin{macro}{\if@changelog} +% \begin{macro}{\Changelog} +% \changes{v2.02}{2014/08/20}{neu}%^^A +% Ä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% +} +\NewDocumentCommand\Changelog{m}{% + \index{% + #1!\textrightarrow{}\space% + \manualhyperref{idx:changelog}{\"Anderungsliste}|seeidx{changelog}% + }% +} +% \end{macrocode} +% \end{macro}^^A \Changelog +% \end{macro}^^A \if@changelog +% \end{macro}^^A \PrintChangelog +% +% \iffalse +%</class> +%</body> +% \fi +% +% \Finale +% +\endinput 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..15ab5eab35f --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx @@ -0,0 +1,269 @@ +% \CheckSum{149} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-mathswap.dtx}[% + 2014/10/10 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{mathswap}[% +%<*driver|package> +%!TUDVersion +%<package> package + (swap mathematical separators)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-mathswap.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A +% \changes{v2.02}{2014/08/18}{Schalter zum Aktivieren und Deaktivieren}%^^A +% +% \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> +% \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}\ignorespaces} +\newcommand*\@dotswap{\,} +\newcommand*\dotswap[1]{\gdef\@dotswap{#1}\ignorespaces} +% \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% + \mathswapon% +} +% \end{macrocode} +% \end{macro}^^A \ms@dotchar +% \end{macro}^^A \ms@dot +% \end{macro}^^A \ms@commachar +% \end{macro}^^A \ms@comma +% \begin{macro}{\mathswapon} +% \changes{v2.02}{2014/08/18}{neu}%^^A +% \begin{macro}{\mathswapoff} +% \changes{v2.02}{2014/08/18}{neu}%^^A +% \begin{macro}{\ms@commaswap} +% \changes{v2.02}{2014/08/18}{neu}%^^A +% \begin{macro}{\ms@dotswap} +% \changes{v2.02}{2014/08/18}{neu}%^^A +% Mit den Befehlen \cs{mathswapon} und \cs{mathswapoff} kann die Funktionalität +% des Paketes innerhalb des Dokumentes aktiviert und deaktiviert werden. +% \begin{macrocode} +\newcommand*\mathswapon{% + \def\ms@commaswap{\@commaswap}% + \def\ms@dotswap{\@dotswap}% +} +\newcommand*\mathswapoff{% + \def\ms@commaswap{\ms@commachar}% + \def\ms@dotswap{\ms@dotchar}% +} +\newcommand*\ms@commaswap{} +\newcommand*\ms@dotswap{} +% \end{macrocode} +% \end{macro}^^A \ms@dotswap +% \end{macro}^^A \ms@commaswap +% \end{macro}^^A \mathswapoff +% \end{macro}^^A \mathswapon +% \begin{macro}{\ms@token} +% \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{\ms@commaswap}{\ms@commachar}} +\def\ms@smartdot{\ms@ifnum{\ms@dotswap}{\ms@dotchar}} +% \end{macrocode} +% \end{macro}^^A \ms@smartdot +% \end{macro}^^A \ms@smartcomma +% \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> +% \fi +% +% \Finale +% +\endinput 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..4748344ff2c --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx @@ -0,0 +1,456 @@ +% \CheckSum{298} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-misc.dtx}[% + 2014/12/12 v2.02 TUD-KOMA-Script (miscellaneous)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-misc.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% +% \section{Verschiedenes für die Hauptklassen} +% +% Alles, wofür sich eine separate Datei nicht lohnt, landet hier. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&option> +% \fi +% +% \subsection{Fußnoten in Überschriften} +% +% \begin{option}{footnotes} +% \changes{v2.02}{2014/06/27}{neu}%^^A +% \begin{macro}{\if@tud@symbolheadings} +% \changes{v2.02}{2014/06/27}{neu}%^^A +% Die \KOMAScript-Option \opt{footnotes} wird um den Schlüssel +% \val{symbolheadings} erweitert, mit welchem eingestellt werden kann, ob in den +% Überschriften Symbole für die Fußnoten anstelle von Zahlen verwendet werden +% sollen. +% \begin{macrocode} +\newif\if@tud@symbolheadings +\TUD@key{footnotes}{% + \TUD@set@numkey{footnotes}{@tempa}{% + {nosymbolheadings}{0},{numberheadings}{0},% + {symbolheadings}{1}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \@tud@symbolheadingsfalse% + \or% + \@tud@symbolheadingstrue% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@bookmarks +% \end{option}^^A symbolheadings +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{counter}{symbolheadings} +% \changes{v2.02}{2014/06/27}{neu}%^^A +% Dieser Zähler wird bei aktivierter Option \opt{footnotes=symbolheadings} für +% die Symboleauswahl von Fußnoten in Überschirften inkrementiert. +% \begin{macrocode} +%<*book|report> +\newcounter{symbolheadings}[chapter] +%</book|report> +%<*article> +\newcounter{symbolheadings} +%</article> +% \end{macrocode} +% \end{counter}^^A symbolheadings +% +% \iffalse +%</class&body> +%<*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&body> +% \fi +% +% \begin{macro}{\tudbookmark} +% \begin{macro}{\tud@footnote@unhyper} +% \begin{macro}{\tud@footnote@rehyper} +% \changes{v2.02}{2014/11/13}{entfernt}%^^A +% Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann auch der Befehl +% \cs{tudbookmark} vom Anwender genutzt werden, um manuell weitere Lesezeichen +% zu erzeugen. +% +% Für die Titelseite werden~-- wie auch durch das Paket \pkg{hyperref}~-- die +% Fußnoten mit dem Befehl \cs{tud@footnote@unhyper} auf den Originalzustand +% zurückgesetzt. +% \begin{macrocode} +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\tud@footnote@unhyper{} +\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% + }% + \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% +} +\pretocmd{\maketitle}{% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% +%<*book|report> + \tudbookmark[0]{\titlepagename}{title}% +%</book|report> +%<*article> + \tudbookmark[1]{\titlepagename}{title}% +%</article> +}{}{\tud@patch@wrn{maketitle}} +\pretocmd{\tableofcontents}{% +%<*book|report> + \if@openright\cleardoublepage\else\clearpage\fi% +%</book|report> + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% +%<*book|report> + \tudbookmark[0]{\contentsname}{toc}% +%</book|report> +%<*article> + \tudbookmark[1]{\contentsname}{toc}% +%</article> +}{}{\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 +% +% \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} +% Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die +% richtige Schriftfamilie verwendet wird. Außerdem wird gleich noch die zu hoch +% liegende Grundlinie bei Überschriften der beiden Ebenen \cs{section} und +% \cs{subsection} nach unten korrigiert (derber Hack). +% \begin{macrocode} +\newcommand*\tud@makeuppercase[1]{% + \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% + \protect\vphantom{\"A\"O\"U}% +% \end{macrocode} +% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die +% Gliederungsebene \cs{section} zu hoch. Mit dem Einfügen des vertikalen +% Freiraums für die Umlaute würde diese automatisch nach unten verschoben. +% Allerdings wäre das ein ziemlich übler Hack. +% \begin{macrocode} +%% \addtokomafont{section}{\strut\ignorespaces}% +} +% \end{macrocode} +% \end{macro}^^A \tud@makeuppercase +% +% \subsection{Erzwungene Minuskeln für Strings} +% +% Um angegebene Werte bei Schlüssel-Wert-Paaren oder Schlüsselwörter in +% bestimmten Feldern mit Sicherheit 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{Expansion geschützter Makros} +% +% Im \LaTeX-Kernel wird der Befehl \cs{@expandtwoargs} definiert, welcher zwei +% Argumente in ein angegebenes Makro vollständig expandiert. Dabei erfolgt die +% Expansion der beiden Argumente aufgrund der standardmäßigen Verwendung von +% \cs{edef} allerdings vollständig und ohne die Beachtung von \cs{protect}. +% \begin{macro}{\protected@expandtwoargs} +% Der Befehl \cs{protected@expandtwoargs} kann äquivalent genutzt werden, +% lässt dabei aber mit \cs{protect} geschützte Makros unberührt. +% \begin{macrocode} +\providecommand*\protected@expandtwoargs[3]{% + \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% +} +% \end{macrocode} +% \end{macro}^^A \protected@expandtwoargs +% +% \iffalse +%</class&body> +%<*manual|doc> +% \fi +% +% \section{Verschiedenes für die Dokumentationklassen} +% +% \begin{macro}{\vTUDScript} +% \begin{macro}{\vKOMAScript} +% \begin{macro}{\Attention} +% \changes{v2.02}{2014/08/16}{neu}%^^A +% \begin{macro}{\Forum} +% \begin{macro}{\notudscrartcl} +% \begin{length}{\tempdim} +% \begin{macro}{\hrfn} +% \begin{macro}{\scrguide} +% \changes{v2.02}{2014/09/04}{neu}%^^A +% \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 in der Quelltextdokumentatuion und im +% Handbuch genutzte Textbausteine bereit. Dazu wird der Befehl \cs{xspace} aus +% dem \pkg{xspace}-Paket genutzt. +% \begin{macrocode} +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +% \end{macrocode} +% Der Befehl \cs{vTUDScript} enthält die aktuelle \TUDScript"=Versionsnummer. +% \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% +} +\newcommand*\vKOMAScript{v3.12\xspace} +% \end{macrocode} +% Ganz zum Schluss noch Bugfixes für unterschiedliche Pakete. +% \begin{macrocode} +\RequirePackage{scrhack}[2014/07/07] +% \end{macrocode} +% \dots und der Rest. +% \begin{macrocode} +%<*manual> +\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} +\NewDocumentCommand\Forum{s}{% + \IfBooleanTF{#1}{% + \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}% + }{% + \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}% + }% + \xspace% +} +\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}} +\NewDocumentCommand\scrguide{s}{% + \def\@tempc{% + http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf% + }% + \IfBooleanTF{#1}{% + \href{\@tempc}{\File{scrguide.pdf}}% + }{% + \hrfn{\@tempc}{\File{scrguide.pdf}}% + }% + \xspace% +} +%<*manual&class> +\NewDocumentCommand\GitHubRepo{s}{% + \def\@tempc{% + https://github.com/tud-cd/tudscr/releases% + }% + \IfBooleanTF{#1}{% + \href{\@tempc}{GitHub-Repository~\File*{tudscr}}% + }{% + \hrfn{\@tempc}{GitHub-Repository~\File*{tudscr}}% + }% + \xspace% +} +\newcommand*\notudscrartcl{% + F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar. +} +\newlength{\tempdim} +%</manual&class> +%</manual> +\newcommand*\CD{Corporate Design\xspace} +\newcommand*\CDs{Corporate Designs\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{% + \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em + N\kern.1em-\kern.1em concept}\xspace% +} +\AfterPackage*{babel}{% + \@expandtwoargs\in@{,english,}{,\bbl@loaded,}% + \ifin@% + \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \fi +} +%<*manual> +\newcommand*\Univers{\textubn{Univers}\xspace} +\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} +\newcommand*\sbnfont{\sffamily\bfseries\upshape} +\newcommand*\sbsfont{\sffamily\bfseries\slshape} +\newcommand*\textsbn{} +\newcommand*\textsbs{} +\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape} +\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape} +%</manual> +% \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 \scrguide +% \end{macro}^^A \hrfn +% \end{length}^^A \tempdim +% \end{macro}^^A \notudscrartcl +% \end{macro}^^A \Forum +% \end{macro}^^A \Attention +% \end{macro}^^A \vKOMAScript +% \end{macro}^^A \vTUDScript +% +% \iffalse +%</manual|doc> +% \fi +% +% \Finale +% +\endinput 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..f3c196cde38 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx @@ -0,0 +1,2005 @@ +% \CheckSum{1513} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-pagestyle.dtx}[% + 2014/12/17 v2.02 TUD-KOMA-Script (pagestyle)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-pagestyle.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% +% \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 +%<*class&body> +% \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} +\newlength{\tud@dim@right} +\newlength{\tud@dim@both} +% \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} +\newlength{\tud@dim@top} +\newlength{\tud@dim@bottom} +\newlength{\tud@dim@footskip} +% \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@line} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \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 +% \cs{tud@dim@line} 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@line} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +% \end{macrocode} +% \end{length}^^A \tud@dim@heavyline +% \end{length}^^A \tud@dim@thinline +% \end{length}^^A \tud@dim@line +% \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@headdiff} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{length}{\tud@dim@ddcdiff} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{length}{\tud@dim@ddcfoot} +% \changes{v2.02}{2014/06/23}{neu, Umbenennung von \cs{tud@dim@ddcheight}}%^^A +% 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} +\newlength{\tud@dim@headdiff} +\newlength{\tud@dim@ddcdiff} +\newlength{\tud@dim@ddcfoot} +% \end{macrocode} +% \end{length}^^A \tud@dim@ddcfoot +% \end{length}^^A \tud@dim@ddcdiff +% \end{length}^^A \tud@dim@headdiff +% \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}% + \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\relax}% +% \end{macrocode} +% Hiermit wird sichergestellt, dass bei der Verwendung des \DDC-Logos im Fuß +% ausreichend Platz zur Verfügung steht. +% \begin{macrocode} + \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@font@size +% \end{macro}^^A \tud@geometry@set +% +% \subsection{Unterstützung der \cls{standalone}-Klasse} +% +% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}"=Klasse}%^^A +% +% Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate +% Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse +% ändert allerhand an den Einstellungen der Seitenränder. Damit sich diese bei +% der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen +% für einige Einstellungen unterdrückt werden. +% +% \begin{macro}{\tud@ifsacrop} +% \changes{v2.02}{2014/09/08}{neu}%^^A +% Mit diesem Makro kann die Verwendung der Option \opt{crop} mit der Klasse +% \cls{standalone} geprüft werden. Das erste Argument wird ausgeführt, wenn +% die Klasse geladen und die Option aktiv ist. Das zweite Argument wird +% ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die +% Klasse \cls{standalone} gar nicht geladen wurde. +% \begin{macrocode} +\newcommand*\tud@ifsacrop{% + \ifcsdef{ifsa@crop}{% + \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% + }{% + \@secondoftwo% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@ifsacrop +% +% Ist die Klasse \cls{standalone} zusammen mit der Option \opt{crop} aktiv, +% werden die Seitenränder auf die Einstellungen dieser Klasse gesetzt und das +% Laden von \pkg{scrlayer-scrpage} verhindert. +% +% \begin{macrocode} +\AtEndPreamble{% + \tud@ifsacrop{% + \PreventPackageFromLoading{scrlayer-scrpage}% + \pagestyle{empty}% + \hoffset=-72.27pt% + \voffset=-72.27pt% + \topmargin=0pt% + \headheight=0pt% + \headsep=0pt% + \marginparsep=0pt% + \marginparwidth=0pt% + \footskip=0pt% + \marginparpush=0pt% + \oddsidemargin=0pt% + \evensidemargin=0pt% + \topskip=0pt% + \textheight=\dimexpr\maxdimen% + }{}% +} +% \end{macrocode} +% +% \subsection{Definition des Seitenstils mittels \pkg{scrlayer-scrpage}} +% +% Ein zentraler Bestandteil der Vorlagen ist der Seitenkopf des \CDs. Dieser +% wird ab der Version~v2.02 mit Hilfe des Paketes \pkg{scrlayer-scrpage} +% erstellt. Dafür werden einzelnene Seitenstile erstellt, welche zum einen von +% verschiedenen Befehlen wie beispielsweise von\cs{maketitle} oder \cs{part} +% bzw. \cs{addpart} genutzt werden. Zum anderen kann der Anwender selbst diese +% entweder direkt über die Wahl des Seitenstils oder aber mit der +% \env{tudpage}"=Umgebung nutzen. +% +% \begin{pagestyle}{tudheadings} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{pagestyle}{plain.tudheadings} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{pagestyle}{empty.tudheadings} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% 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 Logo der \TnUD 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.Durch \cs{tud@geometry@process} +% werden drei Layouts erstellt. Diese können mit \cs{loadgeometry}\marg{Stil} +% geladen werden. +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% Damit der Anwender beliebige Optionen an \pkg{scrlayer-scrpage} übergeben +% kann, wird das Paket erst zum Ende der Präambel geladen, wenn dies nicht +% bereits vorher geschehen ist. +% \ToDo{Versionsanforderung rein, sobald aktuelle Version auf CTAN vorhanden} +% \begin{macrocode} + \RequirePackage{scrlayer-scrpage}[2013/12/14]% +% \end{macrocode} +% Anschließend werden verschiedene, sogeannte Layers für die einzelnen Elemente +% auf einer Seite erstellt. Dies sind das aus dem Satzspiegel nach links +% verschobene Logo der \TnUD sowie \dots +% \begin{macrocode} + \AfterPackage*{scrlayer-scrpage}{% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + },% + ]{tudheadings.head.mainlogo}% +% \end{macrocode} +% \dots das Zweitlogo, \dots +% \begin{macrocode} + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={\hfill\tud@headlogo},% + ]{tudheadings.head.logo}% +% \end{macrocode} +% \dots die obere und untere Linie des Querbalkens sowohl in der normalen +% Version, welche den Textbereich überspannt als auch in der Variante über die +% komplette Seitenbreite. Dabei muss für beide Varianten der entsprechenden +% horizontale Versatz beachtet werden. Dafür wird ggf. der Parameter \val{head} +% von \pkg{scrlayer-scrpage} verwendet. Darauf folgt \dots +% \begin{macrocode} + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.topline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.bottomline}% + \DeclareNewLayer[% + background,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.topwideline}% + \DeclareNewLayer[% + background,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.bottomwideline}% +% \end{macrocode} +% \dots der Inhalt mit Fakultät, Einrichtung, Institut und Lehrstuhl. +% \begin{macrocode} + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + contents={\tud@head@text@box},% + ]{tudheadings.head.text}% +% \end{macrocode} +% Außerdem wird eine weitere Ebene mit dem \DDC-Logo im Seitenfuß erstellt. +% \begin{macrocode} + \DeclareNewLayer[% + background,foot,% + contents={% + \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% + \hfill\tud@footlogo% + },% + ]{tudheadings.foot.ddclogo}% +% \end{macrocode} +% Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile +% zusammengesetzt. Mit \cs{newpairofpagestyles} wird neben dem Seitenstil +% \pgs{tudheadings} der passende Seitenstil \pgs{plain.tudheadings} gleich mit +% deklariert. +% \begin{macrocode} + \newpairofpagestyles{tudheadings}{}% +% \end{macrocode} +% Allerdings führt der Befehl dazu, dass zunächst eine Vielzahl an Ebenen +% hinzugefügt wird, welche nicht benötigt werden. Deshalb werden diese mit +% \cs{RemoveLayersFromPageStyle} zunächst entfernt. +% \begin{macrocode} + \ForEachLayerOfPageStyle{tudheadings}{% + \RemoveLayersFromPageStyle{tudheadings}{#1}% + }% + \ForEachLayerOfPageStyle{plain.tudheadings}{% + \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% + }% +% \end{macrocode} +% Nun folgt das Hinzufügen der Ebenen zu den jetzt leeren Seitenstilen. Damit +% die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile +% weiterhin durch den Anwender verwendet werden kann, werden die entsprechenden +% \pgs{scrheadings}-Ebenen verwendet. +% \begin{macrocode} + \AddLayersToPageStyle{tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + scrheadings.foot.odd,% + scrheadings.foot.even,% + scrheadings.foot.oneside,% + scrheadings.foot.above.line,% + scrheadings.foot.below.line% + }% + \AddLayersToPageStyle{plain.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + plain.scrheadings.foot.odd,% + plain.scrheadings.foot.even,% + plain.scrheadings.foot.oneside,% + plain.scrheadings.foot.above.line,% + plain.scrheadings.foot.below.line% + }% + \DeclareNewPageStyleByLayers{empty.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + }% +% \end{macrocode} +% Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf +% einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten +% Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Alias für +% \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} definiert. Hiermit +% wird zusätzlich dafür gesorgt, das der Seitenstil \pgs{empty} ebenfalls als +% Alias für \pgs{empty.tudheadings} verwendet werden kann. +% \begin{macrocode} + \AddToLayerPageStyleOptions{tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{plain.tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{empty.tudheadings}{% + onselect={% + \letcs\ps@empty{ps@empty.tudheadings}% + \letcs\ps@plain{ps@plain.tudheadings}% + \letcs\ps@headings{ps@tudheadings}% + }% + }% +% \end{macrocode} +% Außerdem wird der Alias-Seitenstil \pgs{tudscrheadings} definiert. +% \begin{macrocode} + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% +% \end{macrocode} +% Der TUD-Kopf erfordert einen eigenen Satzspiegel, der ggf. durch +% \cs{tud@beforepagestyle} aktiviert bzw. deaktiviert wird. +% \begin{macrocode} + \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + }% +} +% \end{macrocode} +% \end{pagestyle}^^A empty.tudheadings +% \end{pagestyle}^^A plain.tudheadings +% \end{pagestyle}^^A tudheadings +% \begin{macro}{\ps@tudpage@plain} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \begin{macro}{\ps@tudpage@empty} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt. +% \end{macro}^^A \ps@tudpage@empty +% \end{macro}^^A \ps@tudpage@plain +% \begin{macro}{\tud@beforepagestyle} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@currentgeometry} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Mit \cs{tud@beforepagestyle} wird beim Umschalten des Seitenstils ggf. der +% Satzspiegel geändert. +% \begin{macrocode} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforepagestyle[1]{% +% \end{macrocode} +% Der \pgs{tudheadings}-Seitenstil wird mit dem Befehl \cs{newpairofpagestyles} +% derart definiert, dass zwischen \pgs{tudheadings}, \pgs{plain.tudheadings} +% sowie~-- durch die Anpassungen weiter oben~-- \pgs{empty.tudheadings} auch +% mit \LaTeX-Standardseitenstilen \pgs{headings}, \pgs{plain} und \pgs{empty} +% umgeschaltet werden kann. Dies wird hiermit beachtet. +% \begin{macrocode} + \def\@tempa{#1}% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% + }{}% +% \end{macrocode} +% Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll\dots +% \begin{macrocode} + \tud@ifinpslist{\@tempa}{% +% \end{macrocode} +% \dots werden die Einstellungen für den Seitenfuß mit \cs{tud@ddc@check} in +% \cs{@tempb} geschrieben und abhängig davon der richtige Satzspiegel geladen. +% Dabei wird zuvor mit dem Wert aus \cs{tud@currentgeometry} geprüft, ob dies +% überhaupt notwendig ist. +% \begin{macrocode} + \tud@ddc@check% +% \end{macrocode} +% Das \DDC-Logo im Fuß ist nicht aktiviert. +% \begin{macrocode} + \ifcase \@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% +% \end{macrocode} +% Das \DDC-Logo im Fuß ist aktiviert. +% \begin{macrocode} + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% +% \end{macrocode} +% Die Länge \cs{tud@dim@headdiff} gibt an, wie groß die Differenz zwischen +% Kopfhöhe zwischen aktuellem und dem speziellen \pgs{tudheadings}-Seitenstil +% ist. Da diese in diesem Fall identisch sind, wird die Länge zu \cs{z@} +% gesetzt. +% \begin{macrocode} + \setlength{\tud@dim@headdiff}{\z@}% +% \end{macrocode} +% Hier ist der Fall, wenn kein \pgs{tudheadings}-Seitenstil geladen werden soll. +% Zusätzlich zum Satzspeigel wird außerdem der Seitenstil \pgs{empty} +% zurückgesetzt. +% \begin{macrocode} + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + \RedeclarePageStyleByLayers{empty}{}% + }% +% \end{macrocode} +% Die Länge \cs{tud@dim@headdiff} wird auf den berechneten Wert gesetzt. Nur +% für den Fall, dass die Kopfzeile zum Satzspiegel gerechnet wird und dieser +% nicht durch \pkg{typearea} berechnet wurde, muss diese Länge etwas angepasst +% werden. +% \begin{macrocode} + \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% + \ifcase \tud@geometry\relax\else% + \if@hincl% + \addtolength{\tud@dim@headdiff}{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% + \fi% + }% +% \end{macrocode} +% Die Länge \cs{tud@dim@headdiff} wird vorsichtshalber global gesetzt. +% \begin{macrocode} + \global\tud@dim@headdiff=\tud@dim@headdiff% +} +% \end{macrocode} +% Damit die Satzspiegelumstellungen nicht durchgeführt werden, wenn durch die +% folgenden \KOMAScript-Befehle Leerseiten erzeugt werden, müssen diese minimal +% angepasst werden. +% \begin{macrocode} +\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} +\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} +\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoublepageusingstyle}} +% \end{macrocode} +% \end{macro}^^A \tud@currentgeometry +% \end{macro}^^A \tud@beforepagestyle +% \begin{macro}{\tud@ddc@enlargepage} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Der Befehl wird für die Titelkopf- und Kapitelseiten verwendet. Er +% verkleinert die entsprechenden Seiten, wenn für diese mit dem Befehl +% \cs{thispagestyle} einer der \pgs{tudheadings}"=Seitenstile gewählt wurde +% \emph{und} des \DDC-Logo im Fuß gesetzt werden soll. +% \begin{macrocode} +\newcommand*\tud@ddc@enlargepage{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@enlargepage +% \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} +% Diese Befehle sind Hilfsmakros, die bei der Erzeugung der Textzeile inner- und +% unterhalb des Querbalkens des TUD-Kopfes dienen. +% \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{} +% \end{macrocode} +% \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 +% \begin{macro}{\tud@head@rule} +% \changes{v2.02}{2014/06/23}{gewünschte Breite als Argument}%^^A +% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \opt{widehead} +% entweder nur über den Textbereich oder aber über die gesamte Seitenbreite. +% Der Befehl erzeugt eine horizontale Linie mit der übergebenen Breite und +% über \cs{tud@dim@line} definierter Dicke. +% \begin{macrocode} +\newcommand*\tud@head@rule[1]{% + \color{\tud@head@color}% + \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@rule +% \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@box} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Dieser Befehl ist der Inhalt der Ebene für den Text der Kopfzeile. +% \begin{macrocode} +\newcommand*\tud@head@text@box{% +% \end{macrocode} +% Sollte keine Fakultät angegeben sein, wird eine Warnung ausgegeben. +% \begin{macrocode} + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% + \faculty{}% + \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}% +% \end{macrocode} +% Abhängig vom Schalter \cs{if@tud@cdfonts}~-- gesetzt entweder von der globalen +% Klassenoption oder vom lokalelParameter \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} + \settowidth{\@tempdima}{\tud@head@text@second}% + \ifdim\@tempdima>\textwidth\relax% + \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% + \hfuzz=\@tempdima% + \fi% +% \end{macrocode} +% Es erfolgt die Ausgabe der Textzeile(n) mit Fakultät etc. über +% \cs{tud@head@text@write} sowie einer möglichen Extrazeile. +% \begin{macrocode} + \vbox{% + \linespread{0}\selectfont% + \tud@head@text@write{\tud@head@text@first}% + \ifx\tud@head@text@second\@empty% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% + \fi% + \else% + \newline\tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \fi% + \fi% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@text@box +% \begin{macro}{\tud@head@text@write} +% \changes{v2.02}{2014/06/23}{Vertikaler Freiraum für Ober- und Unterlängen +% mit \cs{vphantom} eingefügt}%^^A +% \changes{v2.02}{2014/12/04}{optische Zentrierung des Zeilentextes}%^^A +% 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+2\tud@dim@line-\totalheight)/2\relax}[% + \dimexpr\tud@dim@barheight-\depth\relax% + ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@text@write +% \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@mainlogo@wrn} +% \changes{v2.02}{2014/06/23}{Umbenennen von \cs{tud@head@logo@wrn}}%^^A +% Warnung für den Fall, dass die Kopfinformationen breiter werden, als die +% Textbreite, was bei besonders kleinen Papierformaten geschehen kann. +% \begin{macrocode} +\newcommand*\tud@mainlogo@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', inner margin is #1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (`DIV=\the\ta@div')% + }% + \global\let\tud@mainlogo@wrn\@gobble% +} +% \end{macrocode} +% \end{macro}^^A \tud@mainlogo@wrn +% +% \iffalse +%</class&body> +%<*class&option> +% \fi +% +% \subsection{Befehle, Optionen und Umsetzung der Seitenstilvarianten} +% +% \begin{option}{ddc} +% \changes{v2.02}{2014/06/23}{automatische Logowahl}%^^A +% \begin{option}{ddchead} +% \changes{v2.02}{2014/06/23}{\DDC-Logo entweder in Kopf oder Fuß}%^^A +% \begin{option}{ddcfoot} +% \changes{v2.02}{2014/06/23}{\DDC-Logo entweder in Kopf oder Fuß}%^^A +% Diese Optionen dienen zur Auswahl des \DDC-Logos auf Seiten mit dem Stil +% \pgs{tudheadings}. Die Option \opt{ddchead} setzt das Logo dabei immer in den +% Kopf, wobei ein mit \cs{headlogo} definiertes Zweitlogo gegebenenfalls +% überschrieben wird. Die Option \opt{ddcfoot} setzt das Logo immer in den Fuß. +% Mit der Option \opt{ddc} wird das Logo nur in den Kopf gesetzt, wenn kein +% Zweitlogo angegeben ist. Ist dies jedoch der Fall, wird das Logo stattdessen +% im Fuß ausgegeben. +% \begin{macro}{\tud@ddc@switch} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Dieser Befehl enthält die gültigen Werte für die Optionen \opt{ddc}, +% \opt{ddchead} sowie \opt{ddcfoot}. +% \begin{macrocode} +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {color}{2},{colour}{2},% + {colorblack}{3},{colourblack}{3},% + {gray}{4},{grey}{4},{cdgray}{4},% + {black}{5},% + {blue}{6},{cddarkblue}{6},% + {white}{7}% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@switch +% \begin{macro}{\tud@ddc@save} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% \begin{macro}{\if@tud@ddc@save} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% Diese beiden Befehle werden von den Optionen \opt{ddchead} und \opt{ddcfoot} +% benötigt, um nach dem Setzen der Option den vorherigen Wert vor dem möglichen +% Beenden einer Seite mit \cs{clearpage} wiederherstellen zu können. +% \begin{macrocode} +\newcommand*\tud@ddc@save{} +\newif\if@tud@ddc@save +\@tud@ddc@savetrue +% \end{macrocode} +% \end{macro}^^A \if@tud@ddc@save +% \end{macro}^^A \tud@ddc@save +% \begin{macro}{\tud@ddc} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\if@tud@ddc@autoset} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Die Option \opt{ddc}. +% \begin{macrocode} +\newcommand*\tud@ddc{0} +\newif\if@tud@ddc@autoset +\TUD@key{ddc}[true]{% +% \end{macrocode} +% Sollte diese innerhalb des Dokumentes aufgerufen werden, so wird für den Fall, +% dass ein \pgs{tudheadings}-Seitenstil gewählt ist, ein \cs{clearpage} +% ausgeführt, da eventuell eine Änderung des Layers sowie des Satzspeigels +% notwendig ist. Anschließend wird der Schalter \cs{if@tud@ddc@autoset} +% entsprechend des angegebenen Wertes gesetzt. +% \begin{macrocode} + \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \ifcase \tud@ddc\relax% + \@tud@ddc@autosetfalse% + \else% + \@tud@ddc@autosettrue% + \fi% +% \end{macrocode} +% Abschließend wird der aktuelle Seitenstil erneut aufgerufen, um bei einem +% geänderten Fuß den notwendigen Satzspiegel zu laden. Siehe dazu auch +% \cs{tud@beforepagestyle}. +% \begin{macrocode} + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@ddc@autoset +% \end{macro}^^A \tud@ddc +% \begin{macro}{\tud@ddc@head} +% Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf +% der Seiten im Stil von \pgs{tudheadings}. +% \begin{macrocode} +\newcommand*\tud@ddc@head{0} +\TUD@key{ddchead}[true]{% +% \end{macrocode} +% Der aktuelle Zustand des Schlüssels wird gesichert. Anschließend wird der +% Schlüssel mit dem neuen Wert gesetzt. +% \begin{macrocode} + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi% + \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}% +% \end{macrocode} +% Sollte ein gültiger Wert für den Schlüssel übergeben worden sein, wird dieser +% lokal auf den alten Wert gesetzt, um ggf. eine neue Seite zu erzeugen. +% \begin{macrocode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@head\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% +% \end{macrocode} +% Danach werden die sich ausschließenden Optionen deaktiviert, ohne eine +% Sicherung der Werte vorzunehmen. +% \begin{macrocode} + \ifcase \tud@ddc@head\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@head +% \begin{macro}{\tud@ddc@foot} +% Die Option \opt{ddcfoot} dient zum zwingenden Setzen des \DDC-Logos im Fuß +% der Seiten im Stil von \pgs{tudheadings}. Das Vorgehen beim Umschalten des +% Schlüssels ist äquivalent zur Option \opt{ddchead} +% \begin{macrocode} +\newcommand*\tud@ddc@foot{0} +\TUD@key{ddcfoot}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@foot\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddchead=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@foot +% \begin{macro}{\tud@ddc@check} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Dieses Hilfsmakro wird aufgerufen, wenn geprüft werden soll, welche +% Einstellungen für Kopf und Fuß des Seitenstiles \pgs{tudheadings} zum Tragen +% kommen sollen. Dabei wird insbesondere geprüft, ob die automatischen Auswahl +% des \DDC-Logos aktiviert ist. Die jeweils gültige Auswahl für Kopf bzw. Fuß +% wird in \cs{@tempa} bzw. \cs{@tempb} geschrieben und kann anschließend +% ausgewertet werden. +% \begin{macrocode} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head% + \let\@tempb\tud@ddc@foot% + \if@tud@ddc@autoset% + \ifx\tud@@headlogo\@empty% + \let\@tempa\tud@ddc% + \let\@tempb\z@% + \else% + \let\@tempa\z@% + \let\@tempb\tud@ddc% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@check +% \end{option}^^A ddcfoot +% \end{option}^^A ddchead +% \end{option}^^A ddc +% \begin{macro}{\tud@ifinpslist} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@pslist} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Mit dem Befehl \cs{tud@ifinpslist} wird geprüft, ob der übergebene +% Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann, welches +% durch das Paket \pkg{scrlayer-scrpage} definiert wird und den aktuellen +% Seitenstil beinhaltet~-- einem aus \cs{tud@pslist} entspricht. Ist dies der +% Fall, wird das zweite Argument ausgeführt, sonst das dritte. +% \begin{macrocode} +\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} +\newcommand*\tud@pslist{} +\forcsvlist{\listadd\tud@pslist}{% + tudheadings,plain.tudheadings,empty.tudheadings% +} +% \end{macrocode} +% \end{macro}^^A \tud@pslist +% \end{macro}^^A \tud@ifinpslist +% \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} +\newif\if@tud@widehead +\TUD@key@lock{widehead}[true]{% + \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@widehead@locked +% \end{macro}^^A \if@tud@widehead +% \end{option}^^A widehead +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{macro}{\tud@mainlogo} +% \changes{v2.02}{2014/08/04}{Dateinamen der TUD-Logos geändert}%^^A +% \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} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% +% \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} + \setlength{\@tempdima}{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + }% + \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% +% \end{macrocode} +% Es wird das Standardlogo festgelegt und dieses ggf. für eine andere Kopffarbe +% geändert. +% \begin{macrocode} + \def\tud@@mainlogo{TUD-black}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \global\let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% + \color{\tud@head@color}% + \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% +} +% \end{macrocode} +% \end{macro}^^A \tud@@mainlogo +% \end{macro}^^A \tud@mainlogo +% \begin{macro}{\headlogo} +% \changes{v2.02}{2014/06/23}{Anpassung an automatische Wahl des \DDC-Logos}%^^A +% \begin{macro}{\tud@headlogo} +% \changes{v2.02}{2014/06/23}{neu, \cs{tud@head@logo} umbenannt}%^^A +% \changes{v2.02}{2014/06/23}{von \cs{tud@ddc@sethead} wurde die Auswahl des +% \DDC-Logos übernommen und erweitert}%^^A +% \begin{macro}{\tud@@headlogo} +% \changes{v2.02}{2014/06/23}{neu, \cs{tud@head@@logo} umbenannt}%^^A +% \begin{macro}{\tud@@@headlogo} +% \changes{v2.02}{2014/06/23}{Umbenennen des Befehls \cs{tud@head@@@logo}}%^^A +% \begin{macro}{\tud@headlogo@wrn} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Diese Befehle dienen zum Einbinden eines Zweitlogos im Kopf bündig zum +% rechten Seitenrand. Bei der Angabe des Logos mit +% \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} wird der Dateiname in +% \cs{tud@@headlogo} und das optionale Argument in \cs{tud@@@headlogo} +% gespeichert, damit diese später über \cs{tud@headlogo} an den Befehl +% \cs{includegraphics} weitergereicht werden können. +% \begin{macrocode} +\newcommand*\headlogo[2][]{% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \def\tud@@headlogo{#2}% + \def\tud@@@headlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} +\newcommand*\tud@@headlogo{} +\newcommand*\tud@@@headlogo{} +\newcommand*\tud@headlogo{% + \tud@ddc@check% + \ifx\tud@@headlogo\@empty\else% + \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% + \fi% + \ifcase \@tempa\relax\or% + \def\tud@@headlogo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \or% + \def\tud@@headlogo{DDC-03}% + \or% + \def\tud@@headlogo{DDC-09}% + \or% + \def\tud@@headlogo{DDC-21}% + \or% + \def\tud@@headlogo{DDC-24}% + \or% + \def\tud@@headlogo{DDC-27}% + \or% + \def\tud@@headlogo{DDC-30}% + \fi% + \ifx\tud@@headlogo\@empty\else% + \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% + \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% + {}{\tud@patch@wrn{tud@@@headlogo}}% + \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% + \fi% +} +\newcommand*\tud@headlogo@wrn{% + \ClassWarning{\tudcls@name}{% + The secondary logo given with `\string\headlogo' is\MessageBreak% + overwritten with DDC logo. Maybe you should use\MessageBreak% + `ddcfoot' or better `ddc' instead of `ddchead'% + }% + \global\let\tud@headlogo@wrn\relax% +} +% \end{macrocode} +% \end{macro}^^A \tud@headlogo@wrn +% \end{macro}^^A \tud@@@headlogo +% \end{macro}^^A \tud@@headlogo +% \end{macro}^^A \tud@headlogo +% \end{macro}^^A \headlogo +% \begin{macro}{\tud@ddc@sethead} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt. +% \end{macro}^^A \tud@ddc@sethead +% \begin{macro}{\tud@footlogo} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@@footlogo} +% \changes{v2.02}{2014/06/23}{neu, \cs{tud@foot@logo} umbenannt}%^^A +% Diese Befehle dienen zum Einbinden des \DDC-Logos im Fuß der Seiten im Stil +% \pgs{tudheadings}. +% \begin{macrocode} +\newcommand*\tud@@footlogo{} +\newcommand*\tud@footlogo{% + \tud@ddc@check% + \ifcase \@tempb\relax\or% + \def\tud@@footlogo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \or% + \def\tud@@footlogo{DDC-01}% + \or% + \def\tud@@footlogo{DDC-07}% + \or% + \def\tud@@footlogo{DDC-19}% + \or% + \def\tud@@footlogo{DDC-22}% + \or% + \def\tud@@footlogo{DDC-25}% + \or% + \def\tud@@footlogo{DDC-28}% + \fi% + \ifx\tud@@footlogo\@empty\else% + \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@@footlogo +% \end{macro}^^A \tud@footlogo +% \begin{macro}{\tud@ddc@setfoot} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt. +% \end{macro}^^A \tud@ddc@setfoot +% +% \iffalse +%</class&body> +%<*class&option> +% \fi +% +% \begin{option}{cdfoot} +% \begin{macro}{\if@tud@cdfoot} +% \begin{macro}{\tud@ps@store} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@@ps@store} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@ps@restore} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@@ps@restore} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Dieser Seitenstil mit dem Kolumnentitel im Fuß wurde bereits für die alte +% \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten +% werden. +% \begin{macrocode} +\newif\if@tud@cdfoot +\TUD@key{cdfoot}[true]{% + \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% +% \end{macrocode} +% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@store} +% gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden +% diese mit dem neuen Stil überschrieben. +% \begin{macrocode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument% + \if@tud@cdfoot% + \tud@ps@store{headings}% + \tud@ps@store{plain}% + \tud@font@koma@set{pageheadfoot}{\upshape}% + \clearpairofpagestyles% + \ofoot[\pagemark]{% + \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% + {\footnotesize\headmark}% + \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% + }% +% \end{macrocode} +% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore} +% wiederhergestellt. +% \begin{macrocode} + \else% + \tud@ps@restore{headings}% + \tud@ps@restore{plain}% + \tud@font@koma@unset{pageheadfoot}% + \fi% + \fi% + \fi% +} +% \end{macrocode} +% Die nächsten beiden Befehle dienen zum Sichern der Kopf- und Fußzeilen\dots +% \begin{macrocode} +\newcommand*\tud@ps@store[1]{% + \tud@@ps@store{#1}{odd}{left}{head}{}% + \tud@@ps@store{#1}{odd}{right}{head}{}% + \tud@@ps@store{#1}{odd}{middle}{head}{}% + \tud@@ps@store{#1}{even}{left}{head}{}% + \tud@@ps@store{#1}{even}{right}{head}{}% + \tud@@ps@store{#1}{even}{middle}{head}{}% + \tud@@ps@store{#1}{odd}{left}{foot}{}% + \tud@@ps@store{#1}{odd}{right}{foot}{}% + \tud@@ps@store{#1}{odd}{middle}{foot}{}% + \tud@@ps@store{#1}{even}{left}{foot}{}% + \tud@@ps@store{#1}{even}{right}{foot}{}% + \tud@@ps@store{#1}{even}{middle}{foot}{}% +} +% \end{macrocode} +% \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage} +% zurückgegriffen werden muss. +% \begin{macrocode} +\newcommand*\tud@@ps@store[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + }% +} +\newcommand*\tud@ps@restore[1]{% + \tud@@ps@restore{#1}{odd}{left}{head}{}% + \tud@@ps@restore{#1}{odd}{right}{head}{}% + \tud@@ps@restore{#1}{odd}{middle}{head}{}% + \tud@@ps@restore{#1}{even}{left}{head}{}% + \tud@@ps@restore{#1}{even}{right}{head}{}% + \tud@@ps@restore{#1}{even}{middle}{head}{}% + \tud@@ps@restore{#1}{odd}{left}{foot}{}% + \tud@@ps@restore{#1}{odd}{right}{foot}{}% + \tud@@ps@restore{#1}{odd}{middle}{foot}{}% + \tud@@ps@restore{#1}{even}{left}{foot}{}% + \tud@@ps@restore{#1}{even}{right}{foot}{}% + \tud@@ps@restore{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@restore[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% + \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csundef{@@tud@ps@#1@#2@#3@#4}% + }% +} +% \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=true}\fi} +% \end{macrocode} +% \end{macro}^^A \tud@@ps@restore +% \end{macro}^^A \tud@ps@restore +% \end{macro}^^A \tud@@ps@store +% \end{macro}^^A \tud@ps@store +% \end{macro}^^A \if@tud@cdfoot +% \end{option}^^A cdfoot +% \begin{macro}{\tud@ps@headings} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \begin{macro}{\tud@ps@myheadings} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% \begin{macro}{\tud@ps@plain} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Diese Befehle wurden bei der Umstellung auf das Paket~\pkg{scrlayer-scrpage} +% mit der \TUDScript-Version~v2.02 allesamt entfernt. Die Funktionalität wird +% seitdem durch die \pgs{tudheadings}-Seitenstile bereitgestellt. +% \end{macro}^^A \tud@ps@plain +% \end{macro}^^A \tud@ps@myheadings +% \end{macro}^^A \tud@ps@headings +% \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}{% + \TUD@numkey@bool,% + {typearea}{0},% + {tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{centred}{2},{centered}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\recalctypearea\fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@geometry@locked +% \end{macro}^^A \tud@geometry +% \end{option}^^A geometry +% +% \iffalse +%</class&option> +%<*class&body> +% \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} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Eine Länge für den Ausgleich zwischen normalem und benötigtem Satzspiegel für +% das spezielle Layout des \CDs. Die Differenz zwischen den unterschiedlichen +% Kopfhöhen der Satzspiegelvarianten wird bei der Ausführung von +% \cs{tud@geometry@process} berechnet und in \cs{tud@ta@headdiff} gespeichert. +% Dabei muss unterschieden werden, ober der Satzspiegel genutzt wird, der durch +% das \CD vorgegeben ist oder der durch \pkg{typearea} berechnete. Die Länge +% \cs{tud@ta@footdiff} wurde mit der \TUDScript-Version~v2.02 entfernt. +% \begin{macrocode} +\newlength{\tud@ta@headdiff} +% \end{macrocode} +% \end{length}^^A \tud@ta@footdiff +% \end{length}^^A \tud@ta@headdiff +% \begin{macro}{\tud@geometry@restore} +% \changes{v2.02}{2014/06/27}{neu}%^^A +% Der Befehl \cs{AfterCalculatingTypearea} wird durch 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} +\newcommand*\tud@geometry@restore{} +\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}% + \let\tud@geometry@restore\Gm@restore@org% + \if@atdocument% + \let\Gm@restore@org\relax% + \tud@geometry@process% +% \end{macrocode} +% Damit Änderungen am Satzspiegel im Dokument sicher übernommen werden, wird +% das Setzen des Satzspiegels forciert. Dafür wird \cs{tud@currentgeometry} +% zurückgesetzt und anschließend der aktuelle Seitenstil erneut geladen, um das +% erneute und korrekte Ausführen von \cs{tud@beforepagestyle} zu erzwingen. +% \begin{macrocode} + \gdef\tud@currentgeometry{}% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + \fi% + \let\Gm@restore@org\tud@geometry@restore% +} +% \end{macrocode} +% \end{macro}^^A \tud@geometry@restore +% \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 +% \changes{v2.02}{2014/06/29}{Verzögertes Laden von \pkg{geometry}}%^^A +% Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und +% der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird. Damit dieses +% alle Satzspiegeleinstellungen korrekt vornimmt und auch alle Klassenoptionen +% korrekt verarbeitet, wird das Laden mit \cs{AtEndPreamble} bis ans Ende der +% Präambel verzögert und vorher der Satzspiegel neu berechnet. Anschließend +% erstellt \cs{tud@geometry@process} alle benötigten Satzspiegel. Durch das +% Setzen des Seitenstils wird der richtige Satzspiegel ausgewählt. Dies +% geschieht \emph{nicht}, wenn die \cls{standalone}-Klasse mit der Option +% \opt{crop} geladen wurde, um die Seitenränder nicht zu ändern. +% \begin{macrocode} +\AtEndPreamble{% + \tud@ifsacrop{}{% + \recalctypearea% + \RequirePackage{geometry}[2010/09/12]% + \tud@geometry@process% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }% +} +% \end{macrocode} +% \begin{macro}{\tud@geometry@process} +% \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A +% \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. +% Es werden drei Layouts erstellt: normaler Satzspiegel, nur 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. +% \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\relax,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top={% + \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% + },% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight={% + \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% + },% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% +% \end{macrocode} +% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile +% für den \pkg{typearea}-Satzspiegel berechnet. +% \begin{macrocode} + \setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + }% +% \end{macrocode} +% Sollte der \pkg{typearea}-Satzspiegel noch unterhalb des TUD-Kopfes liegen, +% wird der Abstand zum Kopf vergrößert. +% \begin{macrocode} + \ifdim\tud@ta@headdiff<\z@\relax% + \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \fi% +% \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\relax,% + 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\relax,% + 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\relax,% + bindingoffset=\ta@bcor,% + }% + \fi% +% \end{macrocode} +% Für alle drei Varianten der vertikale Gleichanteil. +% \begin{macrocode} + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% +% \end{macrocode} +% Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß +% etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt. +% \begin{macrocode} + \def\tud@geometry@dmargin{% + \if@fincl% + bottom=\dimexpr% + \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% + \else% + bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% + \fi% + footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + }% +% \end{macrocode} +% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile +% für den Satzspiegel des \CDs berechnet. +% \begin{macrocode} + \setlength{\tud@ta@headdiff}{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight% + +\tud@dim@headsep-\tud@dim@top\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + }% + \fi% +% \end{macrocode} +% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile +% für den Satzspiegel des \CDs berechnet. Außerdem wird die standardmäßige +% vertikale Verschiebung der Überschriften festgelegt. +% \begin{macrocode} + \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \global\tud@ta@headdiff=\tud@ta@headdiff% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% +% \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. Das +% Einbeziehen der Fußzeile in den Satzspiegel erfolgt ggf. manuell bei der +% Definition von \cs{tud@geometry@dmargin}. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% +% \end{macrocode} +% Danach folgt der Seitenstil, welcher zwar den TUD-Kopf aber lediglich die +% Standardfußzeile hat. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + ignorehead,% + \tud@geometry@fincl% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% +% \end{macrocode} +% Der Standardsatzspiegel wird erstellt. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{typearea}% +} +% \end{macrocode} +% \end{macro}^^A \tud@geometry@@process +% \end{macro}^^A \tud@geometry@process +% \begin{macro}{\tud@geometry@hincl} +% \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A +% \begin{macro}{\tud@geometry@fincl} +% Diese beiden Hilfsmakro werten die Optionen für das Einbeziehen von Kopf- und +% Fußzeile aus. +% \begin{macrocode} +\newcommand*\tud@geometry@hincl{% + \if@hincl% + includehead,% + \else% + ignorehead,% + \fi% +} +\newcommand*\tud@geometry@fincl{% + \if@fincl% + includefoot,% + \else% + ignorefoot,% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@geometry@fincl +% \end{macro}^^A \tud@geometry@hincl +% \begin{environment}{tudpage} +% \changes{v2.02}{2014/06/23}{an Paket \pkg{scrlayer-scrpage} angepasst}%^^A +% \begin{macro}{\tud@ps} +% \begin{macro}{\tud@ps@select} +% \changes{v2.02}{2014/07/19}{neu}%^^A +% \begin{macro}{\tud@currentpagestyle} +% \begin{macro}{\tud@currentpagestyle@set} +% \changes{v2.02}{2014/07/18}{neu}%^^A +% \begin{macro}{\tud@currentpagestyle@reset} +% \changes{v2.02}{2014/07/18}{neu}%^^A +% Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout +% temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern. +% Dies geschieht innerhalb dieser Umgebung reversibel mit \cs{pagestyle}. +% Dabei wird mit \cs{loadgeometry} ein Seitenumbruch erzwungen und der +% benötigte Satzspiegel geladen. +% +% Die Befehle \cs{tud@currentpagestyle@set} und +% \cs{tud@currentpagestyle@reset} sind für die Sicherung und Wiederherstellung +% des vor der Umgebung geladenen Seitenstils verantwortlich. +% +% Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für +% diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. 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} +\newcommand*\tud@ps{tudheadings} +\newcommand*\tud@ps@select{% + \expandafter\pagestyle\expandafter{\tud@ps}% +%<*book|report> + \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% + \ifstr{\tud@ps}{empty.tudheadings}{% + \renewcommand*\chapterpagestyle{empty.tudheadings}% + }{}% +%</book|report> +} +\newcommand*\tud@currentpagestyle{} +\newcommand*\tud@currentpagestyle@set{% + \ifdefvoid{\tud@currentpagestyle}{% + \xdef\tud@currentpagestyle{\currentpagestyle}% + }{}% +} +\newcommand*\tud@currentpagestyle@reset{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% +} +\NewEnviron{tudpage}[1][]{% +% \end{macrocode} +% Um beim Umschalten des Seitenstils den aktuellen selbst zu behalten, wird +% dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert. +% \begin{macrocode} + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{tudheadings}% + \TUD@parameter@set[tudpage]{#1}% + \tud@ps@select% + \tud@multicols@check% +% \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 vorhergehende Seitenstil zurückgesetzt und der +% dazugehörige Satzspiegel geladen. Dazu wird die Ausführung das Hilfsmakro +% \cs{@tempa} auf das Beenden der Umgebung mit \cs{aftergroup} verzögert. +% \begin{macrocode} +}[% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% +] +% \end{macrocode} +% \end{macro}^^A \tud@currentpagestyle@reset +% \end{macro}^^A \tud@currentpagestyle@set +% \end{macro}^^A \tud@currentpagestyle +% \end{macro}^^A \tud@ps@select +% \end{macro}^^A \tud@ps +% \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. +% \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. +% \begin{macrocode} + \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% + \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}{ddc} +% \changes{v2.02}{2014/08/16}{neu}%^^A +% \begin{parameter}{ddchead} +% \begin{parameter}{ddcfoot} +% Mit diesen Parametern kann das \DDC-Logo im Kopf bzw. Fuß eingeblendet werden. +% \begin{macrocode} + \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% + \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% + \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% +% \end{macrocode} +% \end{parameter}^^A ddc +% \end{parameter}^^A ddchead +% \end{parameter}^^A ddcfoot +% \begin{parameter}{head} +% \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option +% \opt{ddchead} übernommen}%^^A +% \begin{parameter}{foot} +% \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option +% \opt{ddcfoot} übernommen}%^^A +% Diese Parameter wurden entfernt. Innerhalb der Umgebung können hierfür +% \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots} und \opt{ddcfoot=\dots} +% sowie \cs{headlogo} bzw. für den Querbalken \opt{widehead=true/false} genutzt +% werden. +% \end{parameter}^^A head +% \end{parameter}^^A foot +% \begin{parameter}{cdfont} +% \begin{parameter}{cdfonts} +% \changes{v2.02}{2014/08/08}{entfernt}^^A +% \begin{parameter}{tudfonts} +% \changes{v2.02}{2014/08/08}{entfernt}^^A +% 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}}% +% \end{macrocode} +% \end{parameter}^^A tudfonts +% \end{parameter}^^A cdfonts +% \end{parameter}^^A cdfont +% \begin{parameter}{barfont} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% Mit der Option \opt{headfont} kann die Verwendung der Schriften des \CDs +% aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen. +% \begin{macrocode} + \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% +% \end{macrocode} +% \end{parameter}^^A headfont +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Mit diesem Parameter kann der verwendete Seitenstil eingestellt werden, wobei +% entweder \pgs{tudheadings} oder aber\pgs{plain.tudheadings} bzw. +% \pgs{empty.tudheadings} verwendet wird. +% \begin{macrocode} + \TUD@parameter@define{pagestyle}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@wrn{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}}}}% + }% +% \end{macrocode} +% \end{parameter}^^A pagestyle +% \begin{parameter}{headlogo} +% \begin{parameter}{logo} +% Das sekundäre Logo kann ebenfalls lokal geändert werden. +% \begin{macrocode} + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@let{logo}{headlogo}% +% \end{macrocode} +% \end{parameter}^^A logo +% \end{parameter}^^A headlogo +% 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} +% +% \iffalse +%</class&body> +% \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..cfc68f265d5 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx @@ -0,0 +1,532 @@ +% \CheckSum{586} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-supervisor.dtx}[% + 2014/11/04 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{tudscrsupervisor}[% +%<*driver|package> +%!TUDVersion +%<package> package + (commands for supervisors)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-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> +% \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. +% \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{pagestyle=empty}% + }% + \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}{}{\minisec{\objectivesname}#2}% + \ifxblank{#3}{}{% + \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. 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{pagestyle=empty}% + }% + \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}{}{\minisec{\taskname}#2}% + \ifxblank{#3}{}{\minisec{\contentname}#3}% + \ifxblank{#4}{}{\minisec{\assessmentname}#4}% + \ifxblank{#5}{}{\def\@grade{#5}}% + \end{evaluation}% +} +% \end{macrocode} +% \end{macro}^^A \evaluationform +% \begin{macro}{\tud@author@table} +% \changes{v2.01b}{2014/06/04}{Probleme mit \pkg{calc} behoben}%^^A +% \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{% + \tud@check@author% + \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\@discipline\@empty\else\@discipline\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 \enquote{Rand} 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} mit \cs{null} als +% Argument aufgerufen, um alle potentiellen Felder erkennen zu können. +% \begin{macrocode} + \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\@discipline\@empty\else\disciplinename\fi,% + }% + \@for\@tempb:=\@tempa\do{% + \settowidth{\@tempdima}{\@tempb\@titledelim}% + \ifdim\@tempdima>\tud@dim@table\relax% + \setlength{\tud@dim@table}{\@tempdima}% + \fi% + }% + \global\tud@dim@table=\tud@dim@table% +% \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\@discipline\@empty\else% + \disciplinename\@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,\course,\discipline}{}{\tud@patch@wrn{tud@split@author@list}} +% \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{pagestyle=empty}% + }% + \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\@contactperson\@empty\let\@contactperson\@supervisor\fi% + \ifx\@contactperson\@empty\else% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \subsection*{\contactpersonname}% + \noindent\tud@multiple@split{@contactperson}\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% + \minisec{\expandonce{\@@title}}% + \fi% + #2% + }% + \ifxblank{#3}{}{% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{notice}% +} +% \end{macrocode} +% \end{macro}^^A \noticeform +% \begin{macro}{\tud@split@contactperson} +% \begin{macro}{\tud@split@contactperson@list} +% Mit diesem Befehl werden für einen Aushang die Daten für einen oder mehrere +% Kontaktpersonen ausgegeben. +% \begin{macrocode} +\newcommand*\tud@split@contactperson[2]{% + \tud@multiple@setfields{\null}{#1}% + \begin{tabular}{@{}l@{}}% + \ignorespaces#1\tabularnewline% + \ifx\@office\@empty\else\@office\tabularnewline\fi% + \ifx\@telephone\@empty\else\@telephone\tabularnewline\fi% + \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi% + \end{tabular}% + \tud@multiple@@@split{#2}{\hfill}% +} +\newcommand*\tud@split@contactperson@list{\office,\telephone,\emailaddress} +% \end{macrocode} +% \end{macro}^^A \tud@split@contactperson@list +% \end{macro}^^A \tud@split@contactperson +% +% \iffalse +%</package> +% \fi +% +% \Finale +% +\endinput 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..f2461fd028a --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx @@ -0,0 +1,1360 @@ +% \CheckSum{1375} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-title.dtx}[% + 2014/11/13 v2.02 TUD-KOMA-Script (title)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-title.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/06/24}{Unterstützung für \pkg{titlepage} entfernt}%^^A +% +% \section{Titelei} +% +% Die Titelseite wird für die \TUDScript-Klassen bereitgestellt. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&body> +% \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&body> +%<*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} +\newif\if@tud@subjectthesis +\TUD@key@lock{subjectthesis}[true]{% + \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@subjectthesis@locked +% \end{macro}^^A \if@tud@subjectthesis +% \end{option}^^A subjectthesis +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \begin{KOMAfont}{thesis} +% \begin{KOMAfont}{titlepage} +% \changes{v2.01}{2014/04/24}{Explizite Wahl der genutzten Schriftstärke}%^^A +% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}%^^A +% 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{titlepage} für alle Zusatzinformationen wie +% Autor, Datum etc. +% \begin{macrocode} +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{titlepage}{% + \usekomafont{subject}% + \fontseries{\mddefault}% + \selectfont% + \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} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +% \end{macrocode} +% \end{macro}^^A \tud@color@titlehead +% \end{macro}^^A \tud@color@titlepage +% \end{macro}^^A \tud@color@titlefont +% \begin{macro}{\tud@maketitle} +% \changes{v2.01a}{2014/06/03}{Fehler bei Nutzung von \cs{subtitle} behoben}%^^A +% \changes{v2.02}{2014/06/23}{\val{firstiscover} wird als Wert für die Option +% \opt{titlepage} unterstützt}%^^A +% \changes{v2.02}{2014/07/19}{Im zweispaltigen Satz wird für den Titelkopf +% \cs{tud@title@twocolumn} verwendet}%^^A +% \changes{v2.02}{2014/09/05}{Neue Parameter}%^^A +% \changes{v2.02}{2014/09/05}{Titelseite mit \cs{tud@maketitlepage}}%^^A +% \begin{macro}{\tud@titlepagenumber} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% 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 ursprüngliche \cs{maketitle}-Befehl bei der Abarbeitung +% der Layoutoptionen gesichert. (siehe \cs{tud@layout@process}) und kann ggf. +% wiederhergestellt bzw. mit \cs{tud@cmd@use} verwendet werden. Ist das Layout +% des \CDs gefordert wird entweder mit \cs{tud@maketitlepage} eine Titelseite +% gesetzt~-- wobei sich diese in ihrer Struktur am originalen \cs{maketitle} +% orientiert~-- oder das Titelkopflayout wird angepasst. +% \begin{macrocode} +\newcommand*\tud@titlepagenumber{}% +\let\tud@titlepagenumber\relax% +\newcommand*\tud@maketitle[1][]{% + \begingroup% +% \end{macrocode} +% Das optionale Argument wird für das Setzen der Parameter verwendet. +% \begin{macrocode} + \TUD@parameter@set[title]{#1}% + \ifcase \tud@layout@title + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \if@titlepage% + \tud@maketitlepage% +% \end{macrocode} +% Neben einer kompletten Titelseite gibt es auch noch einen Titelkopf. Auch +% hierfür wird die Ausprägung festgelegt. +% \begin{macrocode} + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% +% \end{macrocode} +% Um einen Titelkopf zu setzen, wird einfach der Originalbefehl verwendet und +% nur der innere Teil (\cs{@maketitle}) angepasst. +% \begin{macrocode} + \let\@maketitle\tud@@maketitle% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% +% \end{macrocode} +% Um einen zweispaltigen Satz für den Titelkopf ermöglichen zu können und +% gleichzeitig dabei den TUD-Kopf zu verwenden, wird der interne Befehl +% \cs{tud@title@twocolumn} verwendet. Damit wird der Titel selber einspaltig +% gesetzt und direkt danach der zweispaltige Satz begonnen. +% \begin{macrocode} + \if@twocolumn% + \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \else% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \fi% + \fi% + \fi% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@titlepagenumber +% \end{macro}^^A \tud@maketitle +% \begin{parameter}{pagenumber} +% \changes{v2.02}{2014/09/05}{neu}^^A +% \begin{parameter}{cdfont} +% \changes{v2.02}{2014/09/05}{neu}^^A +% Die einzelnen Parameter dienen zur Einstellung der Titelseite und entsprechen +% in ihrem Verhalten den gleichnamigen Klassenoptionen. +% \begin{macrocode} +\TUD@parameter{title}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% +}% +% \end{macrocode} +% \end{parameter}^^A cdfont +% \end{parameter}^^A pagenumber +% Die Befehle \cs{thanks} und \cs{footnotemark} werden mit \cs{robustify} +% behandelt, um die Makros 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}% +\robustify{\footnotemark}% +% \end{macrocode} +% \begin{macro}{\tud@maketitlepage} +% \changes{v2.02}{2014/09/05}{neu}%^^A +% \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. Mit \cs{tud@titlepagenumber} +% kann eine Seitenzahl für den Titel~-- auch über den Befehl \cs{makecover}~-- +% angegeben werden. +% \begin{macrocode} +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitlepage{% +% \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 festgelegt. Hierfür +% wird die entsprechende Layoutoption ausgewertet und entsprechend dieser die +% Werte belegt. +% \begin{macrocode} + \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% +% \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}% +% \end{macrocode} +% Dieser Teil entspricht der Standarddefinition. Für das Setzen des Covers ist +% ein Großteil der Einstellungen irrelevant und wird übersrpungen. +% \begin{macrocode} + \ifx\tud@titlepagenumber\relax\else% + \setcounter{page}{\tud@titlepagenumber}% + \fi% +% \end{macrocode} +% 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% + \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 die \TUDScript-Klassen aber nun mal zwei +% unterschiedliche Titel bereitstellen 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} + \tud@footnote@unhyper% +% \end{macrocode} +% Im Gegensatz zu den \KOMAScript-Klassen wird für eine Umschlagseite die +% Option \opt{titlepage=firstiscover} nur für den Schmutztitel \cs{extratitle} +% und nicht für die eigentlcihe Titelseite unterstützt. Für ein Cover im \CD +% ist der Befehl \cs{makecover} mit den dazugehörigen Parametern zu nutzen. +% \begin{macrocode} + \ifx\@extratitle\@empty% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using option `titlepage=firstiscover' is only\MessageBreak% + possible with an extra title. Alternatively you can\MessageBreak% + create a cover with `\string\makecover'% + }% + \fi% + \else% +% \end{macrocode} +% Der Teil ist aus den \KOMAScript-Klassen kopiert\dots +% \begin{macrocode} + \if@titlepageiscoverpage% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\global\noexpand\@titlepageiscoverpagefalse% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \footskip=\baselineskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \else% + \let\titlepage@restore\relax% + \fi% + \noindent\@extratitle\next@tdpage% + \fi% + \fi% +% \end{macrocode} +% Ist die Option \opt{tudbookmarks} aktiviert, werden für Umschlag- und +% Titelseite PDF"=Lesezeichen gesetzt. +% \begin{macrocode} + \if@tud@bookmarks% + \if@tud@cover% +%<*book|report> + \tudbookmark[0]{\coverpagename}{cover}% +%</book|report> +%<*article> + \tudbookmark[1]{\coverpagename}{cover}% +%</article> + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \else% +%<*book|report> + \tudbookmark[0]{\titlepagename}{title}% +%</book|report> +%<*article> + \tudbookmark[1]{\titlepagename}{title}% +%</article> + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \fi% +% \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} + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% +% \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{titlepage}% +% \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{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \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\relax}% + \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} + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% +% \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}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% +% \end{macrocode} +% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen. +% \begin{macrocode} + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% +% \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% + \ifx\@date\@empty\else% + \vskip 2ex\@plus.1fill% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \fi% + \fi% + \vskip 2ex\@plus.25fill% +% \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 1:2 zwischen allen weiteren Angaben auf dem +% Titel vertikal ausgerichtet. +% \begin{macrocode} + \else% + \vskip 2ex\@plus.25fill% + \if@tud@subjectthesis\else% + {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \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\@graduation\@empty\else% + \def\@tempc{% + \@graduation% + \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi% + }% + {\usekomafont{titlepage}{\graduationtext\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \if@tud@subjectthesis% + {\usekomafont{subject}{\@tempc\par}}% + \else% + {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}% + \fi% + \vskip 3ex\@plus1ex\@minus1ex% + \fi% + \fi% + \vskip 2ex\@plus.5fill% + \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}% + \tud@title@names{professor}% +% \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% + \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' or `\string\date' 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' or `\string\date' was not given.% + \MessageBreak It's substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% +% \end{macrocode} +% Zusätzlich kann noch ein Datum der mündlichen Verteidigung angegeben werden. +% \begin{macrocode} + \ifx\@defensedate\@empty\else% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + {\usekomafont{date}{\@defensedate\par}}% + \fi% + \fi% + \fi% + \fi% +% \end{macrocode} +% Zu guter Letzt kann das Standard-Verlagsfeld befüllt werden. +% \begin{macrocode} + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus.25fill% + {\usekomafont{publishers}{\@publishers\par}}% + \vskip\z@\@plus.25fill% + \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% + \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 \opt{heavyfont} die Schriftstärke, sowie die +% Farbe der Seite und des Kopfes und die Linienstärke des Querbalkens und die +% \DDC-Logos aus den Einstellungen übernommen. +% \begin{macrocode} + \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}}% + \thispagestyle{empty.tudheadings}% + \tud@ddc@enlargepage% + }% +% \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% + \begingroup% + \let\thispagestyle\@gobble% + \next@tpage% + \endgroup% +%<*article> + \tud@restorepagecolor% + \endgroup% + \tud@titleback% +%</article> +%<*book|report> + }% +%</book|report> +% \end{macrocode} +% Die Danksagung ist identisch zu \KOMAScript. +% \begin{macrocode} + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@titleback +% \end{macro}^^A \tud@maketitlepage +% \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% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1name}\par}}% + {\usekomafont{author}{\@nameuse{@#1}\par}}% + \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 +% \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. +% \begin{macrocode} + \global\@topnum=\z@% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\headingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% +% \end{macrocode} +% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser +% Teil des Titels in einer Gruppe (\cs{begingroup}) gesetzt. Außerdem werden +% wie auch für die Titelseite die Hyperlinks der Fußnoten deaktiviert. +% \begin{macrocode} + \begingroup% + \usekomafont{titlepage}% + \tud@footnote@unhyper% +% \end{macrocode} +% Ähnlich wie bei der Titelseite wird auch beim Titelkopf die Inhalte von +% \cs{@titlehead} und \cs{@subject} so nach oben verschoben, dass der Titel +% selbst auf der gewünschten Höhe landet. +% \begin{macrocode} + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \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=true}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% +% \end{macrocode} +% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen. +% \begin{macrocode} + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% +% \end{macrocode} +% Ausgabe von Datum, Verlag und Danksagung wie im Original. +% \begin{macrocode} + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{publishers}{\@publishers\par}}% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \fi% +% \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\@graduation\@empty\else\tud@title@wrn{graduation}\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% +% \end{macrocode} +% Am Ende wird noch etwas vertikaler Abstand eingefügt. +% \begin{macrocode} + \vskip 2\bigskipamount% +% \end{macrocode} +% Wird das \DDC-Logo gesetzt, muss dafür am unteren Rand entsprechend Platz +% gelassen werden. +% \begin{macrocode} + \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@@maketitle +% 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. +% \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% + \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}% + \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@check@author} +% \changes{v2.02}{2014/08/17}{neu}%^^A +% \begin{macro}{\tud@split@author} +% \changes{v2.02}{2014/07/25}{neu, aus Umbenennung \cs{tud@split@@author}}%^^A +% \begin{macro}{\tud@split@author@list} +% \changes{v2.02}{2014/07/25}{neu, Umbenennung \cs{tud@split@@author@list}}%^^A +% \begin{macro}{\tud@newline} +% Das Makro \cs{tud@split@author} dient der formatierten Ausgabe aller +% Informationen für mehrere Autoren auf der Titelseite. Falls das Autorenfeld +% nicht gesetzt wurde, wird mit \cs{tud@check@author} die standardmäßig +% vorhandene Warnung ausgegeben und danach das Feld als leer definiert. +% \begin{macrocode} +\newcommand*\tud@newline{} +\newcommand*\tud@check@author{% + \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}% +} +\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 jedoch nicht auf der Umschlagseite +% ausgegeben. +% \begin{macrocode} + {\usekomafont{author}{\ignorespaces#1}}% + \if@tud@cover\else% + \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% + \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% + \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 +% \end{macro}^^A \tud@check@author +% \begin{macro}{\maketitleonecolumn} +% \changes{v2.02}{2014/08/16}{einspaltiger Text obligatorisch}%^^A +% \begin{macro}{\@maketitleonecolumn} +% \changes{v2.02}{2014/08/12}{entfernt}%^^A +% \begin{macro}{\tud@title@twocolumn} +% \begin{macro}{\tud@title@twocolumn@box} +% 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{Parameter}\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{tud@title@twocolumn} zur Ausgabe genutzt. +% \begin{macrocode} +\RequirePackage{afterpage}[1995/10/27] +\newcommand\maketitleonecolumn[2][]{% +% \end{macrocode} +% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option +% \opt{titlepage}. +% \begin{macrocode} + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn{#2}\twocolumn% + \else% + \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + `\string\maketitleonecolumn' can only be used in twocolumn mode% + }{}% + \fi% +} +% \end{macrocode} +% Es folgt 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\tud@title@twocolumn@box +\newcommand\tud@title@twocolumn[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\tud@title@twocolumn@box\vbox{#1\bigskip}% + \endgroup% +% \end{macrocode} +% Für den speziellen Satzspiegel mit dem \DDC-Logo im Fuß ist im Zweifelsfall +% etwas Anpassungarbeit von Nöten. Sollte dieser für die Titelseite benötigt +% werden, der entsprechende Seitenstil ist aber nicht geladen, so wird für die +% folgende Ausgaberoutine im ersten Durchlauf der Platz auf der Titelseite +% reduziert. +% \begin{macrocode} + \setlength{\@tempdimc}{\textheight}% + \tud@ifinpslist{\titlepagestyle}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else% + \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% + \fi% + }{}% + }{}% +% \end{macrocode} +% Jetzt werden der Inhalt stückweise so lange auf einzelnen Seiten ausgeben, +% bis der immer kleiner werdende Rest in der Box auf eine Seite passt. Dabei +% sollen für das seitenweise Zerteilen des Inhaltes innerhalb der Box dieselben +% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument. +% Nach der Ausgabe der ersten vollständigen Seite wird der verfügbare Platz auf +% das normale Maß zurückgesetzt. +% \begin{macrocode} + \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdimc% + \clearpage% + \setlength{\@tempdimc}{\textheight}% + }% +% \end{macrocode} +% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben. +% \begin{macrocode} + \twocolumn[\unvbox\tud@title@twocolumn@box]% +% \end{macrocode} +% Sollte der einspaltige Teil bereits auf der Titelseite selbst beendet worden +% sein, so muss im zweispaltigen Satz für beide Spalten der Platz eingeschränkt +% werden. Leider ist das Vergrößern zweier Spalten in \LaTeXe nicht trivial +% möglich, weshalb hierfür wird das Paket \pkg{afterpage} benötigt wird. Es +% wird die aktuelle und mit \cs{afterpage} die nächstfolgende Spalte verkürzt. +% \begin{macrocode} + \ifdim\@tempdimc<\textheight\relax% + \enlargethispage{-\tud@dim@ddcdiff}% + \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@twocolumn@box +% \end{macro}^^A \tud@title@twocolumn +% \end{macro}^^A \@maketitleonecolumn +% \end{macro}^^A \maketitleonecolumn +% \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% + \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% +} +% \end{macrocode} +% \end{macro}^^A \tud@letsubjectthesis +% \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' has to be used with\MessageBreak% + activated titlepage option% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@wrn +% \begin{macro}{\next@tdpage} +% \changes{v2.02}{2014/05/17}{entfernt}%^^A +% \begin{macro}{\tud@extratitle} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A +% Mit \TUDScript~v2.02 wurde die Bereitstellung dieser beiden Befehle aufgrund +% der zwingenden Verwendung von \KOMAScript{}~v3.12 entfernt. +% \end{macro}^^A \tud@extratitle +% \end{macro}^^A \next@tdpage +% +% \subsection{Cover} +% +% Zusätzlich zur eigentlichen Titelseite kann für Druckerzeugnisse eine +% separate Umschlagseite erzeugt werden. Um die Gestaltung dieser anzupassen, +% wurden Einstellungsmöglichkeiten vorgesehen, die insbesondere den verwendeten +% Satzspiegel betreffen. +% \begin{macro}{\makecover} +% \changes{v2.02}{2014/06/23}{Warnung für die Option \opt{titlepage} mit dem +% Wert \val{firstiscover}}%^^A +% \changes{v2.02}{2014/08/08}{\cs{makecover} jetzt auch ohne \CD verwendbar}^^A +% \begin{macro}{\if@tud@cover} +% \begin{macro}{\tud@coverpagetopmargin} +% \changes{v2.02}{2014/08/12}{neu}^^A +% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden. +% \begin{macrocode} +\newif\if@tud@cover +\newcommand*\tud@coverpagetopmargin{} +\let\tud@coverpagetopmargin\coverpagetopmargin +\newcommand*\makecover[1][]{% +% \changes{v2.02}{2014/08/12}{Satzspiegel bei \opt{cdlayout=false} +% anpassbar}%^^A +% \end{macrocode} +% Ist die Option \opt{titlepage=firstiscover} aktiv, wird eine Warnung erzeugt. +% \begin{macrocode} + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using both option `titlepage=firstiscover' and\MessageBreak% + `\string\makecover' together isn't supported. The\MessageBreak% + option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + want to create an individual cover, you have to use\MessageBreak% + `\string\extratitle' instead of `\string\makecover'.\MessageBreak% + See also the documentation of KOMA-Script% + }% + \@titlepageiscoverpagefalse% + \fi% +% \end{macrocode} +% Die Erscheinung des Covers lässt sich durch wenige Optionen etwas anpassen. +% Standardmäßig ist das Cover farblos, die farbige Darstellung wird durch die +% Klassenoption \opt{cdcover} gewählt. 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} + \clearpage% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \TUD@parameter@set[cover]{#1}% + \let\tud@layout@title\tud@layout@cover% + \tud@layout@process% +% \end{macrocode} +% Wird der Parameter \opt{cdlayout} aktiviert, werden die Seitenränder wie +% durch das \CD vorgegeben eingestellt. Andernfalls entsprechen diese den +% Einstellungen des Satzspiegels und können mit \cs{coverpage\dots margin} +% durch den Anwender angepasst werden. Der mit \cs{coverpagetopmargin} +% zusätzlich eingefügte, obere Seitenrand wird bei aktiviertem Parameter +% \opt{cdlayout} im Normalfall~-- sprich ohne eine Änderung des Befehls +% \cs{coverpagetopmargin}~-- durch \cs{tud@coverpagetopmargin} ausgeglichen, um +% den Titel auf der Umschlagseite in der richtigen vertikalen Position +% erscheinen zu lassen. +% \begin{macrocode} + \if@tud@cover@cdlayout% + \ifcase \tud@layout@cover\relax% + \let\coverpagetopmargin\tud@dim@top% + \else% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + }% + \fi% + \let\coverpagebottommargin\tud@dim@bottom% + \let\coverpageleftmargin\tud@dim@left% + \let\coverpagerightmargin\tud@dim@right% + \else% + \ifcase \tud@layout@cover\relax\else% + \expandafter\def\expandafter\coverpagetopmargin\expandafter{% + \coverpagetopmargin-\tud@coverpagetopmargin% + }% + \fi% + \fi% +% \end{macrocode} +% Für den Fall, dass eine Umschlagseite gesetzt werden soll, die nicht im \CD +% erscheint, wird einfach das originale \cs{maketitle} aufgerufen und dabei +% die Option \opt{titlepage=firstiscover} verwendet, um die Seitenränder +% anpassen zu können. Außerdem werden ein mit \cs{extatitle} gegebener +% Schmutztitel ebenso ignoriert, wie Danksagung oder Einträge für die Rückseite. +% \begin{macrocode} + \ifcase \tud@layout@cover\relax% + \KOMAoptions{titlepage=firstiscover}% + \let\@extratitle\@empty% + \let\@uppertitleback\@empty% + \let\@lowertitleback\@empty% + \let\@dedication\@empty% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% +% \end{macrocode} +% Der Befehl verwendet das Layout des Titels im \CD. Allerdings werden nicht +% alle sondern nur für ein Cover relavante Angaben ausgegeben. 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% +% \end{macrocode} +% Der Satzspiegel wird hierfür äquivalent zu den \KOMAScript-Klassen gesetzt, +% wenn die Option \opt{titlepage=firstiscover} aktiviert ist. +% \begin{macrocode} + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% +% \end{macrocode} +% Bei der Höhe des Textbereiches und der Kopfzeile muss unterschieden werden, +% ob der Satzspiegel im \CD oder aber im Buchblock erfolgen soll. +% \begin{macrocode} + \if@tud@cover@cdlayout% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \else% + \textheight=\dimexpr\paperheight-\coverpagebottommargin% + -\tud@dim@headheight-\tud@dim@barheight% + -\tud@dim@headsep-\tud@dim@bottom\relax% + \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% + \headsep=\tud@dim@headsep% + \fi% + \footskip=\tud@dim@footskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% +% \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 und ggf. das Wiederherstellen des Satzspiegels. +% \begin{macrocode} + \tud@maketitle% + \clearpage% + \csname titlepage@restore\endcsname% + \fi% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@coverpagetopmargin +% \end{macro}^^A \if@tud@cover +% \end{macro}^^A \makecover +% \begin{parameter}{pagenumber} +% \begin{parameter}{cdfont} +% \begin{parameter}{cdfonts} +% \changes{v2.02}{2014/08/08}{entfernt}^^A +% \begin{parameter}{tudfonts} +% \changes{v2.02}{2014/08/08}{entfernt}^^A +% \begin{parameter}{cdlayout} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \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} +\newbool@lock{@tud@cover@cdlayout} +\TUD@parameter{cover}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{% + \ifxnumber{#1}{% + \TUD@parameter@set[cover]{pagenumber=#1}% + }{% + \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 pagenumber +% +% \iffalse +%</class&body> +% \fi +% +% \Finale +% +\endinput 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..ab4738a5131 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx @@ -0,0 +1,180 @@ +% \CheckSum{119} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-twocolfix.dtx}[% + 2014/11/21 v2.02 TUD-KOMA-Script\space% +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] +%<package>\ProvidesPackage{twocolfix}[% +%<*driver|package> +%!TUDVersion +%<package> package + (twocolumn layout bugfix)% +] +%</driver|package> +%<*driver> +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-twocolfix.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A +% +% \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> +% \fi +% +% \subsection{Das Paket \pkg{twocolfix}} +% +% Es wird der fehlerhafte Befehl aus dem \LaTeXe-Kernel neu definiert. +% Allerdingds definieren die \KOMAScript"=Klassen das Makro \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> +% \fi +% +% \Finale +% +\endinput 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..afd592063fa --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx @@ -0,0 +1,249 @@ +% \CheckSum{101} +% \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 erstellt und erstmalig +% veröffentlicht}%^^A +% \changes{v2.00}{2014/04/21}{\TUDScript-Bundle auf \pkg{docstrip} umgestellt +% und stark erweitert}%^^A +% \changes{v2.01}{2014/04/24}{Anpassungen in Dokumentation und +% Schriftinstallation, Fehlerkorrekturen}%^^A +% \changes{v2.02}{2014/05/14}{Probleme mit \pkg{calc} behoben}%^^A +% \changes{v2.02}{2014/05/16}{Mehrere Befehle für die Kompatibilität mit +% anderen Paketen umbenannt}%^^A +% +% \section{Version des \texorpdfstring{\TUDScript}{TUD-KOMA-Script}-Bundles} +% +% Für alle Klassen und Paketen, die zum \TUDScript-Bundle auf \KOMAScript-Basis +% gehören wird als erstes die aktuelle Version festgelgt. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \begin{macro}{\TUDVersion} +% Dieses Makro gibt an, zu welcher \TUDScript"~Version die Datei gehört. Die +% Klassen und Pakete des Bundles verwenden dieses Makro außerdem zur eigenen +% Versionsangabe. +% \begin{macro}{\@TUDVersion} +% \changes{v2.02}{2014/07/22}{Expandieren der Versionsangabe bei der Verwendung +% von \pkg{docstrip} ermöglicht}%^^A +% 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% + \catcode`\@11\relax% +%<*!(package|class)> + \ifx\newcommand\undefined% + \gdef\@TUDVersion#1{% + \gdef\TUDVersion{\space\space#1}% + \aftergroup\endinput% + }% + \else% +%</!(package|class)> + \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% +%<*!(package|class)> + \fi% +%</!(package|class)> + \@TUDVersion{2014/12/17 v2.02 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 +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-version.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \begin{macro}{\tudscrmail} +% \begin{macrocode} +\providecommand*\tudscrmail{tudscr@gmail.com} +% \end{macrocode} +% \end{macro}^^A \tudscrmail +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\cls@name} +% \begin{macro}{\scrcls@name} +% \begin{macro}{\tudcls@name} +% Für die \TUDScript-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> +%<*doc> +\newcommand*\cls@name{doc} +\newcommand*\scrcls@name{scrdoc} +\newcommand*\tudcls@name{tudscrdoc} +%</doc> +%<*inherit> +\newcommand*\tudinh@name{tudscrreprt} +%</inherit> +% \end{macrocode} +% \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} +%<*article|book|report> +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{\tudcls@name}[% +%!TUDVersion + document class (\cls@name)% +] +% \end{macrocode} +% Beim Verwenden der Klassen wird in der log-Datei ein Vermerk mit \cs{typeout} +% erstellt. +% \begin{macrocode} +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\tudscrmail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +%</article|book|report> +% \end{macrocode} +% +% \iffalse +%</class> +%<*package&tudscr> +% \fi +% +% \subsection{Verwendbarkeit von \TUDScript-Paketen} +% +% Einige Pakete sind nur mit den \TUDScript-Klassen verwendbar. Diese erzeugen +% einen Fehler, wenn sie nicht mit diesen verwendet werden. +% \begin{macrocode} +\@ifundefined{tudcls@name}{% + \PackageError{% +%<comp> tudscrcomp% +%<manual> tudscrmanual% +%<supervisor> tudscrsupervisor% + }{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +}{} +% \end{macrocode} +% +% \iffalse +%</package&tudscr> +% \fi +% +% \subsection{Das \TUDScript-Logo} +% Der Schriftzug von \TUDScript. +% \begin{macro}{\TUDScript} +% \begin{macrocode} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +% \end{macrocode} +% \end{macro}^^A \TUDScript +% +% \Finale +% +\endinput 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..c821e9aafce --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr.ins @@ -0,0 +1,192 @@ +\input docstrip.tex +\begingroup +\catcode`\%=12 \catcode`\*=14 +\gdef\processLineX%#1{* + \ifcase\ifx%#10\else + \ifx<#11\else + \ifx!#12\else 3\fi\fi\fi\relax + \expandafter\putMetaComment\or + \expandafter\checkOption\or + \expandafter\expandVariable\or + \expandafter\removeComment\fi + #1} +\endgroup +\def\expandVariable!#1\endLine{% + \advance\codeLinesPassed\@ne + \maybeMsg{x}% + \edef\inLine{\csname #1\endcsname}% + \let\do\putline@do + \activefiles +} +\@@input tudscr-version.dtx + +\keepsilent + +\preamble + +============================================================================ + + TUD-KOMA-Script + Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + +============================================================================ + + This work may be distributed and/or modified under the conditions of the + LaTeX Project Public License, version 1.3c of the license. The latest + version of this license is in http://www.latex-project.org/lppl.txt and + version 1.3c or later is part of all distributions of LaTeX 2005/12/01 + or later and of this work. This work has the LPPL maintenance status + "author-maintained". The current maintainer and author of this work + is Falk Hanisch. + +---------------------------------------------------------------------------- + + Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, + 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 2005/12/01 oder spaeter und dieses + Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", + wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und + Autor dieses Werkes ist Falk Hanisch. + +============================================================================ + +\endpreamble + +\askforoverwritefalse + +\usedir{tex/latex/tudscr} +\generate{% + \usepreamble\defaultpreamble% + \file{tudscrbase.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-base.dtx}{package}% + } + \file{tudscrbook.cls}{% + \from{tudscr-version.dtx}{class,book}% + \from{tudscr-base.dtx}{load}% + \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-comp.dtx}{class,book,option}% + \from{tudscr-base.dtx}{execute}% + \from{tudscr-fonts.dtx}{class,body}% + \from{tudscr-color.dtx}{class,body}% + \from{tudscr-fields.dtx}{class,body}% + \from{tudscr-locale.dtx}{class,book,body}% + \from{tudscr-pagestyle.dtx}{class,book,body}% + \from{tudscr-layout.dtx}{class,book,body}% + \from{tudscr-frontmatter.dtx}{class,book,body}% + \from{tudscr-title.dtx}{class,book,body}% + \from{tudscr-misc.dtx}{class,book,body}% + \from{tudscr-comp.dtx}{class,book,body}% + } + \file{tudscrreprt.cls}{% + \from{tudscr-version.dtx}{class,report}% + \from{tudscr-base.dtx}{load}% + \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-comp.dtx}{class,report,option}% + \from{tudscr-base.dtx}{execute}% + \from{tudscr-fonts.dtx}{class,body}% + \from{tudscr-color.dtx}{class,body}% + \from{tudscr-fields.dtx}{class,body}% + \from{tudscr-locale.dtx}{class,report,body}% + \from{tudscr-pagestyle.dtx}{class,report,body}% + \from{tudscr-layout.dtx}{class,report,body}% + \from{tudscr-frontmatter.dtx}{class,report,body}% + \from{tudscr-title.dtx}{class,report,body}% + \from{tudscr-misc.dtx}{class,report,body}% + \from{tudscr-comp.dtx}{class,report,body}% + } + \file{tudscrartcl.cls}{% + \from{tudscr-version.dtx}{class,article}% + \from{tudscr-base.dtx}{load}% + \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-comp.dtx}{class,article,option}% + \from{tudscr-base.dtx}{execute}% + \from{tudscr-fonts.dtx}{class,body}% + \from{tudscr-color.dtx}{class,body}% + \from{tudscr-fields.dtx}{class,body}% + \from{tudscr-locale.dtx}{class,article,body}% + \from{tudscr-pagestyle.dtx}{class,article,body}% + \from{tudscr-layout.dtx}{class,article,body}% + \from{tudscr-frontmatter.dtx}{class,article,body}% + \from{tudscr-title.dtx}{class,article,body}% + \from{tudscr-misc.dtx}{class,article,body}% + \from{tudscr-comp.dtx}{class,article,body}% + } +} +\generate{% + \usepreamble\defaultpreamble% + \file{tudscrsupervisor.sty}{% + \from{tudscr-version.dtx}{package,supervisor,tudscr}% + \from{tudscr-supervisor.dtx}{package}% + \from{tudscr-fields.dtx}{package,supervisor}% + \from{tudscr-locale.dtx}{package,supervisor}% + } + \file{tudscrcomp.sty}{% + \from{tudscr-version.dtx}{package,comp,tudscr}% + \from{tudscr-comp.dtx}{package}% + } + \file{tudscrcolor.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-color.dtx}{package}% + } + \file{twocolfix.sty}{% + \from{tudscr-twocolfix.dtx}{package}% + } + \file{mathswap.sty}{% + \from{tudscr-mathswap.dtx}{package}% + } + \file{tudscrfonts.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-fonts.dtx}{package,identify}% + \from{tudscr-base.dtx}{load}% + \from{tudscr-fonts.dtx}{package,option}% + \from{tudscr-fonts.dtx}{package,body}% + } +} +\generate{% + \usepreamble\defaultpreamble% + \file{tudscrdoc.cls}{% + \from{tudscr-version.dtx}{class,doc}% + \from{tudscr-doc.dtx}{class,doc}% + \from{tudscr-misc.dtx}{class,doc}% + } +} +\generate{% + \usepreamble\defaultpreamble% + \file{tudscrman.sty}{% + \from{tudscr-version.dtx}{package,manual,tudscr}% + \from{tudscr-manual.dtx}{package,identify}% + \from{tudscr-base.dtx}{load}% + \from{tudscr-manual.dtx}{package,option}% + \from{tudscr-base.dtx}{}% + \from{tudscr-manual.dtx}{package,body}% + \from{tudscr-misc.dtx}{package,manual}% + } + \usepreamble\defaultpreamble% + \file{tudscrman.cls}{% + \from{tudscr-version.dtx}{class,inherit}% + \from{tudscr-manual.dtx}{class,identify}% + \from{tudscr-base.dtx}{load}% + \from{tudscr-manual.dtx}{class,option}% + \from{tudscr-base.dtx}{execute,inherit}% + \from{tudscr-manual.dtx}{class,body}% + \from{tudscr-misc.dtx}{class,manual}% + } +} +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-01.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-01.eps new file mode 100644 index 00000000000..8f3ab393f7b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-01.eps @@ -0,0 +1,1416 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-01.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.613] cm +0 0 m +-0.1645 0.18 -0.3848 0.263 -0.6645 0.263 c +-1.3843 0.263 l +-1.3843 -2.582 l +-0.6645 -2.582 l +-0.3848 -2.582 -0.1645 -2.5 0 -2.318 c +0.2031 -2.094 0.209 -1.67 0.209 -1.133 c +0.209 -0.594 0.2031 -0.226 0 0 c +0.4063 -2.746 m +0.1592 -2.994 -0.1973 -3.115 -0.604 -3.115 c +-1.977 -3.115 l +-1.977 0.795 l +-0.604 0.795 l +-0.1973 0.795 0.1592 0.674 0.4063 0.428 c +0.8291 0.004 0.8017 -0.566 0.8017 -1.133 c +0.8017 -1.697 0.8291 -2.324 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.876] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -0.999 0.6645 -0.616 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.378 m +-0.1372 -1.729 l +-0.8789 -1.729 l +-0.8789 -3.378 l +-1.4722 -3.378 l +-1.4722 0.532 l +0.044 0.532 l +0.7852 0.532 1.2573 0.054 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.526 0.4775 -1.647 c +1.3779 -3.378 l +0.6865 -3.378 l +f +Q +q +[1 0 0 1 9.0478 24.498] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.378 l +0.5928 3.378 l +0.5928 2.235 l +2.218 2.235 l +2.218 1.709 l +0.5928 1.709 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.466] cm +0 0 m +-0.587 0 -1.011 0.138 -1.384 0.516 c +-0.988 0.905 l +-0.703 0.62 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.132 c +0.818 1.302 0.769 1.444 0.665 1.538 c +0.566 1.631 0.467 1.669 0.236 1.702 c +-0.225 1.769 l +-0.544 1.812 -0.796 1.921 -0.966 2.081 c +-1.159 2.263 -1.252 2.51 -1.252 2.827 c +-1.252 3.509 -0.758 3.976 0.055 3.976 c +0.571 3.976 0.934 3.845 1.269 3.531 c +0.89 3.157 l +0.648 3.388 0.368 3.46 0.039 3.46 c +-0.423 3.46 -0.675 3.196 -0.675 2.851 c +-0.675 2.708 -0.631 2.581 -0.527 2.487 c +-0.428 2.399 -0.269 2.335 -0.088 2.306 c +0.357 2.24 l +0.719 2.185 0.923 2.098 1.087 1.949 c +1.301 1.763 1.406 1.481 1.406 1.147 c +1.406 0.429 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.613] cm +0 0 m +-0.165 0.18 -0.385 0.263 -0.665 0.263 c +-1.384 0.263 l +-1.384 -2.582 l +-0.665 -2.582 l +-0.385 -2.582 -0.165 -2.5 0 -2.318 c +0.204 -2.094 0.209 -1.67 0.209 -1.133 c +0.209 -0.594 0.204 -0.226 0 0 c +0.406 -2.746 m +0.159 -2.994 -0.197 -3.115 -0.604 -3.115 c +-1.977 -3.115 l +-1.977 0.795 l +-0.604 0.795 l +-0.197 0.795 0.159 0.674 0.406 0.428 c +0.829 0.004 0.802 -0.566 0.802 -1.133 c +0.802 -1.697 0.829 -2.324 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.498] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.378 l +0.593 3.378 l +0.593 2.235 l +2.218 2.235 l +2.218 1.709 l +0.593 1.709 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.498] cm +0 0 m +-1.807 2.752 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.125] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.473 -0.626 2.851 0 2.851 c +0.3848 2.851 0.6533 2.74 0.917 2.461 c +0.5332 2.088 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.264 -0.5161 2.103 c +-0.6367 1.95 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.901 -0.5161 0.748 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.115 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.316] cm +0 0 m +-0.105 0.105 -0.248 0.16 -0.412 0.16 c +-0.577 0.16 -0.7144 0.105 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.461 -1.0107 -0.764 c +-1.0107 -1.065 -0.9888 -1.356 -0.8188 -1.526 c +-0.7144 -1.631 -0.577 -1.691 -0.412 -1.691 c +-0.248 -1.691 -0.105 -1.631 0 -1.526 c +0.17 -1.356 0.192 -1.065 0.192 -0.764 c +0.192 -0.461 0.17 -0.17 0 0 c +0.422 -1.861 m +0.241 -2.048 -0.033 -2.191 -0.412 -2.191 c +-0.7905 -2.191 -1.0606 -2.048 -1.2412 -1.861 c +-1.5044 -1.586 -1.5708 -1.234 -1.5708 -0.764 c +-1.5708 -0.296 -1.5044 0.056 -1.2412 0.33 c +-1.0606 0.517 -0.7905 0.66 -0.412 0.66 c +-0.033 0.66 0.241 0.517 0.422 0.33 c +0.686 0.056 0.752 -0.296 0.752 -0.764 c +0.752 -1.234 0.686 -1.586 0.422 -1.861 c +f +Q +q +[1 0 0 1 14.384 18.159] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.124 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.503 l +-0.956 2.712 -0.687 2.817 -0.407 2.817 c +-0.121 2.817 0.115 2.724 0.28 2.563 c +0.495 2.357 0.561 2.092 0.561 1.778 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.125] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.473 -0.626 2.851 0 2.851 c +0.385 2.851 0.653 2.74 0.917 2.461 c +0.533 2.088 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.264 -0.517 2.103 c +-0.637 1.95 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.901 -0.517 0.748 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.115 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.158] cm +0 0 m +-0.088 0.209 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.209 -1.104 0 c +-1.159 -0.127 -1.169 -0.209 -1.175 -0.379 c +0.077 -0.379 l +0.071 -0.209 0.055 -0.127 0 0 c +-1.175 -0.77 m +-1.175 -1.247 -0.923 -1.549 -0.467 -1.549 c +-0.154 -1.549 0.011 -1.461 0.208 -1.264 c +0.565 -1.6 l +0.28 -1.885 0.011 -2.033 -0.478 -2.033 c +-1.175 -2.033 -1.73 -1.664 -1.73 -0.605 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.267 0.631 -0.523 c +0.631 -0.77 l +-1.175 -0.77 l +f +Q +q +[1 0 0 1 24.118 20.477] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.924 c +-0.583 -1.418 -0.505 -1.851 0 -1.851 c +0.504 -1.851 0.577 -1.418 0.577 -0.924 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.104 m +0.67 -2.258 0.428 -2.351 0.148 -2.351 c +-0.149 -2.351 -0.379 -2.273 -0.583 -2.033 c +-0.583 -3.444 l +-1.143 -3.444 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.422 -0.159 0.499 0.142 0.499 c +0.422 0.499 0.67 0.406 0.823 0.252 c +1.103 -0.028 1.136 -0.5 1.136 -0.924 c +1.136 -1.346 1.103 -1.824 0.823 -2.104 c +f +Q +q +[1 0 0 1 27.39 18.159] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.775 c +-0.764 2.306 l +-1.082 2.306 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.579 l +-0.204 3.579 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.306 l +-0.204 2.306 l +-0.204 0.802 l +-0.204 0.599 -0.105 0.478 0.105 0.478 c +0.335 0.478 l +0.335 0 l +0 0 l +f +Q +[0.6039 0.8 0.4039] sc +q +[1 0 0 1 0.73389 12.113] cm +0 0 m +0 2.752 l +1.708 2.752 l +1.708 2.488 l +0.2939 2.488 l +0.2939 1.52 l +1.4995 1.52 l +1.4995 1.256 l +0.2939 1.256 l +0.2939 0.264 l +1.708 0.264 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.113] cm +0 0 m +-0.4565 0.738 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.971 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.971 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.113] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.516] cm +0 0 m +-0.0732 0.175 -0.2437 0.287 -0.4448 0.287 c +-0.6455 0.287 -0.8154 0.175 -0.8887 0 c +-0.9312 -0.104 -0.939 -0.161 -0.9463 -0.316 c +0.0581 -0.316 l +0.0503 -0.161 0.0425 -0.104 0 0 c +-0.9463 -0.524 m +-0.9463 -0.941 -0.7495 -1.182 -0.3867 -1.182 c +-0.1665 -1.182 -0.0386 -1.115 0.1123 -0.965 c +0.3018 -1.131 l +0.1084 -1.325 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.124 -1.2246 -0.451 c +-1.2246 0.162 -0.9272 0.523 -0.4448 0.523 c +0.0464 0.523 0.3364 0.167 0.3364 -0.396 c +0.3364 -0.524 l +-0.9463 -0.524 l +f +Q +q +[1 0 0 1 10.611 12.113] cm +0 0 m +-0.332 0 -0.483 0.217 -0.483 0.506 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.332 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.113] cm +0 0 m +-0.333 0 -0.483 0.217 -0.483 0.506 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.332 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.516] cm +0 0 m +-0.073 0.175 -0.244 0.287 -0.445 0.287 c +-0.646 0.287 -0.815 0.175 -0.889 0 c +-0.931 -0.104 -0.939 -0.161 -0.947 -0.316 c +0.058 -0.316 l +0.05 -0.161 0.043 -0.104 0 0 c +-0.947 -0.524 m +-0.947 -0.941 -0.75 -1.182 -0.387 -1.182 c +-0.167 -1.182 -0.039 -1.115 0.112 -0.965 c +0.302 -1.131 l +0.108 -1.325 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.124 -1.225 -0.451 c +-1.225 0.162 -0.928 0.523 -0.445 0.523 c +0.046 0.523 0.336 0.167 0.336 -0.396 c +0.336 -0.524 l +-0.947 -0.524 l +f +Q +q +[1 0 0 1 16.699 12.113] cm +0 0 m +0 1.171 l +0 1.508 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.504 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.848 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.746 c +0.216 1.615 0.278 1.437 0.278 1.218 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.113] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.991] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.337 c +-0.959 -0.558 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.649 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.206 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.851 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.851 -1.086 -0.728 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.009 -0.997 0.208 -0.572 0.208 c +0 0.208 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.113] cm +0 0 m +0 0.213 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.154 c +-1.164 0.286 -1.221 0.467 -1.221 0.687 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.225 -0.479 0.225 c +-0.193 0.225 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.09] cm +0 0 m +-0.321 0 -0.572 0.074 -0.78 0.275 c +-0.595 0.461 l +-0.444 0.302 -0.24 0.24 -0.003 0.24 c +0.309 0.24 0.503 0.352 0.503 0.576 c +0.503 0.742 0.406 0.836 0.186 0.855 c +-0.127 0.882 l +-0.498 0.912 -0.695 1.078 -0.695 1.392 c +-0.695 1.74 -0.402 1.949 0.004 1.949 c +0.274 1.949 0.518 1.883 0.689 1.744 c +0.507 1.563 l +0.371 1.666 0.197 1.713 0 1.713 c +-0.278 1.713 -0.425 1.593 -0.425 1.4 c +-0.425 1.238 -0.332 1.141 -0.092 1.121 c +0.213 1.095 l +0.545 1.063 0.773 0.936 0.773 0.58 c +0.773 0.213 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0683] cm +0 0 m +-0.2744 0 l +-0.8848 2.2031 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.752 l +-2.1602 2.752 l +-1.623 0.5332 l +-1.0161 2.752 l +-0.7534 2.752 l +-0.1465 0.5332 l +0.3906 2.752 l +0.7031 2.752 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9697] cm +0 0 m +0.27832 0 l +0.27832 -1.9014 l +0 -1.9014 l +0 0 l +h +-0.0156 0.8545 m +0.29788 0.8545 l +0.29788 0.542 l +-0.0156 0.542 l +-0.0156 0.8545 l +h +f +Q +q +[1 0 0 1 6.5166 6.0449] cm +0 0 m +-0.3203 0 -0.5718 0.0742 -0.7808 0.2744 c +-0.5952 0.4609 l +-0.4443 0.3008 -0.2393 0.2392 -0.0039 0.2392 c +0.3101 0.2392 0.5029 0.3515 0.5029 0.5762 c +0.5029 0.7422 0.4063 0.8359 0.1855 0.8545 c +-0.1269 0.8808 l +-0.4981 0.9121 -0.6958 1.0781 -0.6958 1.3916 c +-0.6958 1.7392 -0.4014 1.9482 0.0044 1.9482 c +0.2744 1.9482 0.5181 1.8828 0.688 1.7431 c +0.5064 1.5605 l +0.3711 1.666 0.1973 1.7129 0 1.7129 c +-0.2778 1.7129 -0.4248 1.5918 -0.4248 1.3984 c +-0.4248 1.2363 -0.332 1.1406 -0.0923 1.1211 c +0.2129 1.0937 l +0.5454 1.0625 0.773 0.9355 0.773 0.5801 c +0.773 0.2129 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.0449] cm +0 0 m +-0.3208 0 -0.5718 0.0742 -0.7812 0.2744 c +-0.5952 0.4609 l +-0.4448 0.3008 -0.2397 0.2392 -0.0039 0.2392 c +0.3091 0.2392 0.5024 0.3515 0.5024 0.5762 c +0.5024 0.7422 0.4058 0.8359 0.1851 0.8545 c +-0.1274 0.8808 l +-0.499 0.9121 -0.6958 1.0781 -0.6958 1.3916 c +-0.6958 1.7392 -0.4019 1.9482 0.0039 1.9482 c +0.2739 1.9482 0.5176 1.8828 0.688 1.7431 c +0.5059 1.5605 l +0.3706 1.666 0.1973 1.7129 0 1.7129 c +-0.2783 1.7129 -0.4253 1.5918 -0.4253 1.3984 c +-0.4253 1.2363 -0.3325 1.1406 -0.0933 1.1211 c +0.2124 1.0937 l +0.5449 1.0625 0.773 0.9355 0.773 0.5801 c +0.773 0.2129 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4707] cm +0 0 m +-0.073 0.1738 -0.244 0.2871 -0.445 0.2871 c +-0.645 0.2871 -0.815 0.1738 -0.889 0 c +-0.931 -0.1036 -0.939 -0.1621 -0.947 -0.3164 c +0.058 -0.3164 l +0.05 -0.1621 0.043 -0.1036 0 0 c +-0.947 -0.5254 m +-0.947 -0.9434 -0.749 -1.1817 -0.387 -1.1817 c +-0.167 -1.1817 -0.038 -1.1172 0.112 -0.9649 c +0.302 -1.1319 l +0.108 -1.3243 -0.07 -1.4258 -0.394 -1.4258 c +-0.896 -1.4258 -1.225 -1.125 -1.225 -0.4512 c +-1.225 0.163 -0.928 0.5224 -0.445 0.5224 c +0.046 0.5224 0.336 0.166 0.336 -0.3975 c +0.336 -0.5254 l +-0.947 -0.5254 l +f +Q +q +[1 0 0 1 14.262 6.0683] cm +0 0 m +0 1.1709 l +0 1.5078 -0.182 1.6778 -0.467 1.6778 c +-0.753 1.6778 -0.939 1.5039 -0.939 1.1709 c +-0.939 0 l +-1.218 0 l +-1.218 1.9014 l +-0.939 1.9014 l +-0.939 1.6934 l +-0.803 1.8477 -0.618 1.9238 -0.406 1.9238 c +-0.201 1.9238 -0.034 1.8633 0.081 1.7481 c +0.217 1.6153 0.278 1.4375 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.0449] cm +0 0 m +-0.321 0 -0.572 0.0742 -0.781 0.2744 c +-0.595 0.4609 l +-0.445 0.3008 -0.24 0.2392 -0.004 0.2392 c +0.309 0.2392 0.503 0.3515 0.503 0.5762 c +0.503 0.7422 0.406 0.8359 0.186 0.8545 c +-0.127 0.8808 l +-0.498 0.9121 -0.696 1.0781 -0.696 1.3916 c +-0.696 1.7392 -0.402 1.9482 0.004 1.9482 c +0.274 1.9482 0.518 1.8828 0.688 1.7431 c +0.506 1.5605 l +0.371 1.666 0.197 1.7129 0 1.7129 c +-0.278 1.7129 -0.425 1.5918 -0.425 1.3984 c +-0.425 1.2363 -0.332 1.1406 -0.092 1.1211 c +0.212 1.0937 l +0.545 1.0625 0.773 0.9355 0.773 0.5801 c +0.773 0.2129 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.0449] cm +0 0 m +-0.479 0 -0.842 0.3242 -0.842 0.9746 c +-0.842 1.623 -0.479 1.9482 0 1.9482 c +0.263 1.9482 0.429 1.8779 0.626 1.666 c +0.437 1.4883 l +0.294 1.6465 0.182 1.7002 0 1.7002 c +-0.185 1.7002 -0.339 1.6269 -0.44 1.4844 c +-0.529 1.3594 -0.564 1.2148 -0.564 0.9746 c +-0.564 0.7344 -0.529 0.5869 -0.44 0.4638 c +-0.339 0.3203 -0.185 0.248 0 0.248 c +0.182 0.248 0.294 0.3047 0.437 0.4638 c +0.626 0.2812 l +0.429 0.0693 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0683] cm +0 0 m +0 1.1748 l +0 1.5078 -0.178 1.6778 -0.464 1.6778 c +-0.75 1.6778 -0.94 1.5039 -0.94 1.1748 c +-0.94 0 l +-1.218 0 l +-1.218 2.752 l +-0.94 2.752 l +-0.94 1.6934 l +-0.8 1.8516 -0.619 1.9238 -0.406 1.9238 c +0.023 1.9238 0.278 1.6504 0.278 1.2207 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9453] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1153 -0.959 -0.336 c +-0.959 -0.5567 -0.823 -0.6602 -0.522 -0.6602 c +-0.359 -0.6602 -0.216 -0.6494 -0.097 -0.5332 c +-0.031 -0.4707 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.877 m +0 -0.6953 l +-0.155 -0.8496 -0.294 -0.9004 -0.549 -0.9004 c +-0.812 -0.9004 -0.966 -0.8496 -1.086 -0.7266 c +-1.179 -0.6328 -1.229 -0.4903 -1.229 -0.3399 c +-1.229 -0.0078 -0.998 0.209 -0.573 0.209 c +0 0.209 l +0 0.3906 l +0 0.6689 -0.139 0.8076 -0.487 0.8076 c +-0.731 0.8076 -0.854 0.75 -0.966 0.5918 c +-1.156 0.7656 l +-0.986 0.9863 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8281 0.278 0.414 c +0.278 -0.877 l +0 -0.877 l +f +Q +q +[1 0 0 1 25.75 7.7461] cm +0 0 m +0 -1.6778 l +-0.278 -1.6778 l +-0.278 0 l +-0.521 0 l +-0.521 0.2109 l +-0.278 0.2109 l +-0.278 0.5712 l +-0.278 0.8535 -0.12 1.082 0.204 1.082 c +0.406 1.082 l +0.406 0.8427 l +0.255 0.8427 l +0.078 0.8427 0 0.7382 0 0.5634 c +0 0.2109 l +0.406 0.2109 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0683] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5098 c +-0.487 1.6778 l +-0.727 1.6778 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4844 l +-0.209 2.4844 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6778 l +-0.209 1.6778 l +-0.209 0.5176 l +-0.209 0.3438 -0.128 0.2403 0.05 0.2403 c +0.197 0.2403 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.023403] cm +0 0 m +0 0.21189 l +-0.1348 0.057606 -0.3247 -0.023403 -0.5371 -0.023403 c +-0.7422 -0.023403 -0.9121 0.039104 -1.0273 0.1543 c +-1.1631 0.28521 -1.2207 0.4668 -1.2207 0.6875 c +-1.2207 1.9004 l +-0.9424 1.9004 l +-0.9424 0.7305 l +-0.9424 0.3945 -0.7646 0.2236 -0.479 0.2236 c +-0.1929 0.2236 -0.0039 0.3984 -0.0039 0.7305 c +-0.0039 1.9004 l +0.2744 1.9004 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.023403] cm +0 0 m +0 1.1699 l +0 1.5078 -0.181 1.6777 -0.4673 1.6777 c +-0.7534 1.6777 -0.939 1.5029 -0.939 1.1699 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9004 l +-0.939 1.9004 l +-0.939 1.6924 l +-0.8037 1.8477 -0.6182 1.9238 -0.4058 1.9238 c +-0.201 1.9238 -0.035 1.8623 0.081 1.7461 c +0.217 1.6152 0.278 1.4375 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.7011] cm +0 0 m +-0.413 0 -0.479 -0.3574 -0.479 -0.72751 c +-0.479 -1.0986 -0.413 -1.4541 0 -1.4541 c +0.413 -1.4541 0.475 -1.0986 0.475 -0.72751 c +0.475 -0.3574 0.413 0 0 0 c +0.479 -1.6777 m +0.479 -1.4492 l +0.325 -1.6504 0.147 -1.7011 -0.062 -1.7011 c +-0.255 -1.7011 -0.425 -1.6357 -0.526 -1.5351 c +-0.719 -1.3418 -0.757 -1.0254 -0.757 -0.72751 c +-0.757 -0.4297 -0.719 -0.1132 -0.526 0.0801 c +-0.425 0.1797 -0.255 0.2461 -0.062 0.2461 c +0.147 0.2461 0.321 0.2012 0.475 0.003 c +0.475 1.0743 l +0.753 1.0743 l +0.753 -1.6777 l +0.479 -1.6777 l +f +Q +q +[1 0 0 1 17.264 0.023403] cm +0 0 m +-0.838 1.4648 l +-1.419 0.7686 l +-1.419 0 l +-1.712 0 l +-1.712 2.752 l +-1.419 2.752 l +-1.419 1.1699 l +-0.135 2.752 l +0.224 2.752 l +-0.642 1.6885 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.023403] cm +0 0 m +0 0.21189 l +-0.135 0.057606 -0.324 -0.023403 -0.538 -0.023403 c +-0.742 -0.023403 -0.912 0.039104 -1.028 0.1543 c +-1.163 0.28521 -1.221 0.4668 -1.221 0.6875 c +-1.221 1.9004 l +-0.942 1.9004 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9004 l +0.274 1.9004 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.023403] cm +0 0 m +-0.333 0 -0.483 0.21581 -0.483 0.50591 c +-0.483 2.752 l +-0.206 2.752 l +-0.206 0.5176 l +-0.206 0.332 -0.144 0.2402 0.05 0.2402 c +0.201 0.2402 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.023403] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5098 c +-0.487 1.6777 l +-0.727 1.6777 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4853 l +-0.209 2.4853 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6777 l +-0.209 1.6777 l +-0.209 0.5176 l +-0.209 0.3437 -0.128 0.2402 0.05 0.2402 c +0.197 0.2402 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.023403] cm +0 0 m +0 0.21189 l +-0.135 0.057606 -0.325 -0.023403 -0.537 -0.023403 c +-0.742 -0.023403 -0.912 0.039104 -1.028 0.1543 c +-1.163 0.28521 -1.221 0.4668 -1.221 0.6875 c +-1.221 1.9004 l +-0.942 1.9004 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9004 l +0.275 1.9004 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.5605] cm +0 0 m +-0.104 0.1055 -0.181 0.1406 -0.328 0.1406 c +-0.607 0.1406 -0.784 -0.0801 -0.784 -0.3701 c +-0.784 -1.5371 l +-1.062 -1.5371 l +-1.062 0.3633 l +-0.784 0.3633 l +-0.784 0.1328 l +-0.68 0.291 -0.471 0.3867 -0.251 0.3867 c +-0.069 0.3867 0.07 0.3447 0.205 0.209 c +0 0 l +f +Q +Q +[0.2157 0.3922 0.5647] sc +q +[1 0 0 1 19.526 68.818] cm +0 0 m +-5.838 -5.838 l +11.114 -5.838 l +0 0 l +f* +Q +[0.1176 0.2078 0.4039] sc +q +[1 0 0 1 6.8892 65.435] cm +0 0 m +0 -8.255 l +11.988 3.73 l +0 0 l +f* +Q +[0.7333 0.8392 0.251] sc +q +[1 0 0 1 0.34668 54.107] cm +0 0 m +5.8384 -5.838 l +5.8384 11.113 l +0 0 l +f* +Q +[0.6039 0.8 0.4039] sc +q +[1 0 0 1 3.7305 41.471] cm +0 0 m +8.257 0 l +-3.7305 11.986 l +0 0 l +f* +Q +[0.2588 0.7372 0.6235] sc +q +[1 0 0 1 15.065 34.928] cm +0 0 m +5.838 5.838 l +-11.115 5.838 l +0 0 l +f* +Q +[0 0.698 0.7059] sc +q +[1 0 0 1 27.696 38.313] cm +0 0 m +0 8.256 l +-11.987 -3.73 l +0 0 l +f* +Q +[0.5294 0.8314 0.9294] sc +q +[1 0 0 1 34.239 49.641] cm +0 0 m +-5.838 5.838 l +-5.838 -11.113 l +0 0 l +f* +Q +q +0 0.06 34.56 69.105 re +W +[0.3451 0.5843 0.7216] sc +q +[1 0 0 1 30.851 62.281] cm +0 0 m +-8.256 0 l +3.731 -11.986 l +0 0 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-01.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-01.pdf Binary files differnew file mode 100644 index 00000000000..bf7fe2e249f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-01.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-03.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-03.eps new file mode 100644 index 00000000000..dba3e1d8d43 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-03.eps @@ -0,0 +1,810 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-03.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.667 51.307 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.667 51.307 re +W +q +q +1 i +0.059998 0.06 143.607 51.247 re +W +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +q +[1 0 0 1 5.9912 38.533] cm +0 0 m +-0.4922 0.549 -1.1631 0.801 -2.0098 0.801 c +-4.1963 0.801 l +-4.1963 -7.828 l +-2.0098 -7.828 l +-1.1631 -7.828 -0.4922 -7.577 0 -7.028 c +0.624 -6.345 0.6328 -5.061 0.6328 -3.428 c +0.6328 -1.8 0.624 -0.68 0 0 c +1.2373 -8.326 m +0.4932 -9.08 -0.5947 -9.442 -1.8242 -9.442 c +-5.9912 -9.442 l +-5.9912 2.414 l +-1.8242 2.414 l +-0.5947 2.414 0.4932 2.047 1.2373 1.298 c +2.5215 0.014 2.4375 -1.717 2.4375 -3.428 c +2.4375 -5.145 2.5215 -7.043 1.2373 -8.326 c +f +Q +Q +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +1 i +q +[1 0 0 1 17.221 39.334] cm +0 0 m +-2.67 0 l +-2.67 -3.717 l +0 -3.717 l +1.2 -3.717 2.019 -3.033 2.019 -1.865 c +2.019 -0.698 1.2 0 0 0 c +2.084 -10.243 m +-0.419 -5.248 l +-2.67 -5.248 l +-2.67 -10.243 l +-4.466 -10.243 l +-4.466 1.613 l +0.13 1.613 l +2.381 1.613 3.814 0.167 3.814 -1.852 c +3.814 -3.55 2.781 -4.633 1.451 -4.996 c +4.176 -10.243 l +2.084 -10.243 l +f +Q +q +[1 0 0 1 25.331 29.091] cm +0 0 m +0 11.856 l +7.572 11.856 l +7.572 10.243 l +1.796 10.243 l +1.796 6.777 l +6.727 6.777 l +6.727 5.182 l +1.796 5.182 l +1.796 1.614 l +7.572 1.614 l +7.572 0 l +0 0 l +f +Q +q +[1 0 0 1 40.179 28.988] cm +0 0 m +-1.777 0 -3.06 0.419 -4.196 1.568 c +-2.996 2.749 l +-2.131 1.885 -1.182 1.619 0.037 1.619 c +1.581 1.619 2.484 2.284 2.484 3.434 c +2.484 3.949 2.335 4.382 2.019 4.661 c +1.721 4.949 1.423 5.066 0.716 5.164 c +-0.679 5.363 l +-1.647 5.498 -2.409 5.828 -2.93 6.316 c +-3.508 6.861 -3.795 7.609 -3.795 8.582 c +-3.795 10.643 -2.298 12.057 0.167 12.057 c +1.739 12.057 2.828 11.662 3.852 10.708 c +2.698 9.578 l +1.973 10.279 1.116 10.494 0.121 10.494 c +-1.273 10.494 -2.047 9.693 -2.047 8.643 c +-2.047 8.215 -1.907 7.834 -1.6 7.545 c +-1.293 7.279 -0.818 7.08 -0.261 6.996 c +1.088 6.796 l +2.186 6.629 2.8 6.363 3.303 5.912 c +3.953 5.35 4.261 4.498 4.261 3.484 c +4.261 1.303 2.484 0 0 0 c +f +Q +q +[1 0 0 1 54.524 38.533] cm +0 0 m +-0.502 0.549 -1.171 0.801 -2.018 0.801 c +-4.204 0.801 l +-4.204 -7.828 l +-2.018 -7.828 l +-1.171 -7.828 -0.502 -7.577 0 -7.028 c +0.615 -6.345 0.633 -5.061 0.633 -3.428 c +0.633 -1.8 0.615 -0.68 0 0 c +1.229 -8.326 m +0.485 -9.08 -0.604 -9.442 -1.832 -9.442 c +-6 -9.442 l +-6 2.414 l +-1.832 2.414 l +-0.604 2.414 0.485 2.047 1.229 1.298 c +2.513 0.014 2.43 -1.717 2.43 -3.428 c +2.43 -5.145 2.513 -7.043 1.229 -8.326 c +f +Q +q +[1 0 0 1 61.278 29.091] cm +0 0 m +0 11.856 l +7.583 11.856 l +7.583 10.243 l +1.806 10.243 l +1.806 6.777 l +6.729 6.777 l +6.729 5.182 l +1.806 5.182 l +1.806 1.614 l +7.583 1.614 l +7.583 0 l +0 0 l +f +Q +q +[1 0 0 1 80.268 29.091] cm +0 0 m +-5.48 8.345 l +-5.48 0 l +-7.275 0 l +-7.275 11.856 l +-5.629 11.856 l +-0.15 3.53 l +-0.15 11.856 l +1.646 11.856 l +1.646 0 l +0 0 l +f +Q +q +[1 0 0 1 19.648 10.2] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.642 0 8.642 c +1.163 8.642 1.981 8.312 2.781 7.461 c +1.619 6.331 l +1.089 6.912 0.67 7.13 0 7.13 c +-0.642 7.13 -1.2 6.86 -1.562 6.377 c +-1.926 5.912 -2.065 5.312 -2.065 4.331 c +-2.065 3.345 -1.926 2.73 -1.562 2.265 c +-1.2 1.781 -0.642 1.517 0 1.517 c +0.67 1.517 1.089 1.735 1.619 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 30.123 16.842] cm +0 0 m +-0.316 0.322 -0.743 0.488 -1.247 0.488 c +-1.748 0.488 -2.168 0.322 -2.484 0 c +-2.995 -0.516 -3.061 -1.395 -3.061 -2.311 c +-3.061 -3.228 -2.995 -4.107 -2.484 -4.627 c +-2.168 -4.943 -1.748 -5.125 -1.247 -5.125 c +-0.743 -5.125 -0.316 -4.943 0 -4.627 c +0.512 -4.107 0.586 -3.228 0.586 -2.311 c +0.586 -1.395 0.512 -0.516 0 0 c +1.285 -5.642 m +0.735 -6.209 -0.103 -6.642 -1.247 -6.642 c +-2.4 -6.642 -3.209 -6.209 -3.759 -5.642 c +-4.559 -4.809 -4.764 -3.744 -4.764 -2.311 c +-4.764 -0.896 -4.559 0.168 -3.759 1 c +-3.209 1.568 -2.4 2.006 -1.247 2.006 c +-0.103 2.006 0.735 1.568 1.285 1 c +2.084 0.168 2.279 -0.896 2.279 -2.311 c +2.279 -3.744 2.084 -4.809 1.285 -5.642 c +f +Q +q +[1 0 0 1 41.519 10.298] cm +0 0 m +0 5.145 l +0 6.466 -0.754 7.032 -1.703 7.032 c +-2.651 7.032 -3.452 6.446 -3.452 5.145 c +-3.452 0 l +-5.154 0 l +-5.154 8.446 l +-3.489 8.446 l +-3.489 7.596 l +-2.903 8.229 -2.084 8.545 -1.236 8.545 c +-0.371 8.545 0.344 8.266 0.847 7.782 c +1.488 7.149 1.692 6.349 1.692 5.395 c +1.692 0 l +0 0 l +f +Q +q +[1 0 0 1 50.822 10.2] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.642 0 8.642 c +1.163 8.642 1.981 8.312 2.781 7.461 c +1.618 6.331 l +1.088 6.912 0.67 7.13 0 7.13 c +-0.651 7.13 -1.199 6.86 -1.562 6.377 c +-1.926 5.912 -2.064 5.312 -2.064 4.331 c +-2.064 3.345 -1.926 2.73 -1.562 2.265 c +-1.199 1.781 -0.651 1.517 0 1.517 c +0.67 1.517 1.088 1.735 1.618 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 61.745 16.363] cm +0 0 m +-0.262 0.633 -0.865 1.066 -1.666 1.066 c +-2.466 1.066 -3.08 0.633 -3.341 0 c +-3.509 -0.387 -3.545 -0.637 -3.564 -1.148 c +0.231 -1.148 l +0.222 -0.637 0.166 -0.387 0 0 c +-3.564 -2.335 m +-3.564 -3.781 -2.791 -4.697 -1.415 -4.697 c +-0.467 -4.697 0.036 -4.428 0.632 -3.833 c +1.72 -4.851 l +0.854 -5.712 0.036 -6.163 -1.443 -6.163 c +-3.564 -6.163 -5.247 -5.047 -5.247 -1.832 c +-5.247 0.899 -3.825 2.484 -1.666 2.484 c +0.603 2.484 1.915 0.818 1.915 -1.582 c +1.915 -2.335 l +-3.564 -2.335 l +f +Q +q +[1 0 0 1 71.039 17.33] cm +0 0 m +-1.526 0 -1.768 -1.302 -1.768 -2.799 c +-1.768 -4.302 -1.526 -5.613 0 -5.613 c +1.535 -5.613 1.748 -4.302 1.748 -2.799 c +1.748 -1.302 1.535 0 0 0 c +2.503 -6.381 m +2.038 -6.846 1.303 -7.13 0.455 -7.13 c +-0.447 -7.13 -1.145 -6.892 -1.768 -6.162 c +-1.768 -10.447 l +-3.46 -10.447 l +-3.46 1.414 l +-1.796 1.414 l +-1.796 0.512 l +-1.162 1.279 -0.483 1.513 0.437 1.513 c +1.284 1.513 2.038 1.233 2.503 0.764 c +3.349 -0.088 3.451 -1.516 3.451 -2.799 c +3.451 -4.084 3.349 -5.529 2.503 -6.381 c +f +Q +q +[1 0 0 1 80.964 10.298] cm +0 0 m +-1.58 0 -2.316 1.135 -2.316 2.349 c +-2.316 7.001 l +-3.283 7.001 l +-3.283 8.298 l +-2.316 8.298 l +-2.316 10.862 l +-0.613 10.862 l +-0.613 8.298 l +1.015 8.298 l +1.015 7.001 l +-0.613 7.001 l +-0.613 2.433 l +-0.613 1.813 -0.316 1.451 0.317 1.451 c +1.015 1.451 l +1.015 0 l +0 0 l +f +Q +[0.2157 0.3922 0.5647] sc +q +[1 0 0 1 121.322 50.795] cm +0 0 m +-8.662 -8.661 l +16.494 -8.661 l +0 0 l +f* +Q +[0.1176 0.2078 0.4039] sc +q +[1 0 0 1 102.577 45.775] cm +0 0 m +0 -12.252 l +17.786 5.531 l +0 0 l +f* +Q +[0.7333 0.8392 0.251] sc +q +[1 0 0 1 92.873 28.97] cm +0 0 m +8.661 -8.662 l +8.661 16.485 l +0 0 l +f* +Q +[0.6039 0.8 0.4039] sc +q +[1 0 0 1 97.887 10.219] cm +0 0 m +12.251 0 l +-5.536 17.783 l +0 0 l +f* +Q +[0.2588 0.7372 0.6235] sc +q +[1 0 0 1 114.707 0.5117] cm +0 0 m +8.661 8.6601 l +-16.485 8.6601 l +0 0 l +f* +Q +q +0.059998 0.06 143.607 51.247 re +W +[0 0.698 0.7059] sc +q +[1 0 0 1 133.453 5.5293] cm +0 0 m +0 12.253 l +-17.787 -5.5293 l +0 0 l +f* +Q +Q +[0.5294 0.8314 0.9294] sc +q +[1 0 0 1 143.156 22.337] cm +0 0 m +-8.661 8.661 l +-8.661 -16.485 l +0 0 l +f* +Q +[0.3451 0.5843 0.7216] sc +q +[1 0 0 1 138.133 41.096] cm +0 0 m +-12.253 0 l +5.534 -17.782 l +0 0 l +f* +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-03.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-03.pdf Binary files differnew file mode 100644 index 00000000000..5fe74ce545b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-03.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-07.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-07.eps new file mode 100644 index 00000000000..5c5d0cf7fcf --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-07.eps @@ -0,0 +1,2226 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-07.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +[/Separation (schwarz) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.609] cm +0 0 m +-0.1645 0.181 -0.3848 0.263 -0.6645 0.263 c +-1.3843 0.263 l +-1.3843 -2.581 l +-0.6645 -2.581 l +-0.3848 -2.581 -0.1645 -2.5 0 -2.318 c +0.2031 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.2031 -0.226 0 0 c +0.4063 -2.746 m +0.1592 -2.994 -0.1973 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.1973 0.796 0.1592 0.675 0.4063 0.428 c +0.8291 0.005 0.8017 -0.566 0.8017 -1.132 c +0.8017 -1.697 0.8291 -2.323 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.872] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -0.999 0.6645 -0.615 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.377 m +-0.1372 -1.729 l +-0.8789 -1.729 l +-0.8789 -3.377 l +-1.4722 -3.377 l +-1.4722 0.533 l +0.044 0.533 l +0.7852 0.533 1.2573 0.055 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.526 0.4775 -1.647 c +1.3779 -3.377 l +0.6865 -3.377 l +f +Q +q +[1 0 0 1 9.0478 24.495] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.377 l +0.5928 3.377 l +0.5928 2.234 l +2.218 2.234 l +2.218 1.708 l +0.5928 1.708 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.462] cm +0 0 m +-0.587 0 -1.011 0.138 -1.384 0.516 c +-0.988 0.906 l +-0.703 0.62 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.132 c +0.818 1.302 0.769 1.444 0.665 1.538 c +0.566 1.631 0.467 1.67 0.236 1.702 c +-0.225 1.769 l +-0.544 1.813 -0.796 1.922 -0.966 2.081 c +-1.159 2.263 -1.252 2.51 -1.252 2.828 c +-1.252 3.509 -0.758 3.976 0.055 3.976 c +0.571 3.976 0.934 3.845 1.269 3.531 c +0.89 3.158 l +0.648 3.389 0.368 3.46 0.039 3.46 c +-0.423 3.46 -0.675 3.196 -0.675 2.851 c +-0.675 2.708 -0.631 2.581 -0.527 2.487 c +-0.428 2.399 -0.269 2.335 -0.088 2.307 c +0.357 2.24 l +0.719 2.185 0.923 2.098 1.087 1.949 c +1.301 1.763 1.406 1.482 1.406 1.147 c +1.406 0.429 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.609] cm +0 0 m +-0.165 0.181 -0.385 0.263 -0.665 0.263 c +-1.384 0.263 l +-1.384 -2.581 l +-0.665 -2.581 l +-0.385 -2.581 -0.165 -2.5 0 -2.318 c +0.204 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.204 -0.226 0 0 c +0.406 -2.746 m +0.159 -2.994 -0.197 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.197 0.796 0.159 0.675 0.406 0.428 c +0.829 0.005 0.802 -0.566 0.802 -1.132 c +0.802 -1.697 0.829 -2.323 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.495] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.377 l +0.593 3.377 l +0.593 2.234 l +2.218 2.234 l +2.218 1.708 l +0.593 1.708 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.495] cm +0 0 m +-1.807 2.751 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.122] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.472 -0.626 2.85 0 2.85 c +0.3848 2.85 0.6533 2.74 0.917 2.461 c +0.5332 2.087 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.263 -0.5161 2.104 c +-0.6367 1.949 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.9 -0.5161 0.747 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.115 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.313] cm +0 0 m +-0.105 0.105 -0.248 0.159 -0.412 0.159 c +-0.577 0.159 -0.7144 0.105 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.462 -1.0107 -0.764 c +-1.0107 -1.065 -0.9888 -1.356 -0.8188 -1.527 c +-0.7144 -1.631 -0.577 -1.691 -0.412 -1.691 c +-0.248 -1.691 -0.105 -1.631 0 -1.527 c +0.17 -1.356 0.192 -1.065 0.192 -0.764 c +0.192 -0.462 0.17 -0.17 0 0 c +0.422 -1.861 m +0.241 -2.049 -0.033 -2.191 -0.412 -2.191 c +-0.7905 -2.191 -1.0606 -2.049 -1.2412 -1.861 c +-1.5044 -1.587 -1.5708 -1.235 -1.5708 -0.764 c +-1.5708 -0.297 -1.5044 0.055 -1.2412 0.329 c +-1.0606 0.516 -0.7905 0.659 -0.412 0.659 c +-0.033 0.659 0.241 0.516 0.422 0.329 c +0.686 0.055 0.752 -0.297 0.752 -0.764 c +0.752 -1.235 0.686 -1.587 0.422 -1.861 c +f +Q +q +[1 0 0 1 14.384 18.155] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.125 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.504 l +-0.956 2.713 -0.687 2.817 -0.407 2.817 c +-0.121 2.817 0.115 2.725 0.28 2.564 c +0.495 2.356 0.561 2.092 0.561 1.779 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.122] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.472 -0.626 2.85 0 2.85 c +0.385 2.85 0.653 2.74 0.917 2.461 c +0.533 2.087 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.263 -0.517 2.104 c +-0.637 1.949 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.9 -0.517 0.747 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.115 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.154] cm +0 0 m +-0.088 0.209 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.209 -1.104 0 c +-1.159 -0.127 -1.169 -0.209 -1.175 -0.379 c +0.077 -0.379 l +0.071 -0.209 0.055 -0.127 0 0 c +-1.175 -0.769 m +-1.175 -1.247 -0.923 -1.549 -0.467 -1.549 c +-0.154 -1.549 0.011 -1.461 0.208 -1.264 c +0.565 -1.599 l +0.28 -1.884 0.011 -2.032 -0.478 -2.032 c +-1.175 -2.032 -1.73 -1.664 -1.73 -0.604 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.269 0.631 -0.522 c +0.631 -0.769 l +-1.175 -0.769 l +f +Q +q +[1 0 0 1 24.118 20.473] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.923 c +-0.583 -1.418 -0.505 -1.851 0 -1.851 c +0.504 -1.851 0.577 -1.418 0.577 -0.923 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.104 m +0.67 -2.257 0.428 -2.351 0.148 -2.351 c +-0.149 -2.351 -0.379 -2.273 -0.583 -2.032 c +-0.583 -3.444 l +-1.143 -3.444 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.423 -0.159 0.499 0.142 0.499 c +0.422 0.499 0.67 0.407 0.823 0.253 c +1.103 -0.028 1.136 -0.5 1.136 -0.923 c +1.136 -1.346 1.103 -1.823 0.823 -2.104 c +f +Q +q +[1 0 0 1 27.39 18.155] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.774 c +-0.764 2.307 l +-1.082 2.307 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.58 l +-0.204 3.58 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.307 l +-0.204 2.307 l +-0.204 0.802 l +-0.204 0.599 -0.105 0.478 0.105 0.478 c +0.335 0.478 l +0.335 0 l +0 0 l +f +Q +q +[1 0 0 1 0.73389 12.109] cm +0 0 m +0 2.752 l +1.708 2.752 l +1.708 2.489 l +0.2939 2.489 l +0.2939 1.52 l +1.4995 1.52 l +1.4995 1.257 l +0.2939 1.257 l +0.2939 0.264 l +1.708 0.264 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.109] cm +0 0 m +-0.4565 0.739 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.971 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.971 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.109] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.513] cm +0 0 m +-0.0732 0.174 -0.2437 0.286 -0.4448 0.286 c +-0.6455 0.286 -0.8154 0.174 -0.8887 0 c +-0.9312 -0.104 -0.939 -0.162 -0.9463 -0.316 c +0.0581 -0.316 l +0.0503 -0.162 0.0425 -0.104 0 0 c +-0.9463 -0.525 m +-0.9463 -0.942 -0.7495 -1.183 -0.3867 -1.183 c +-0.1665 -1.183 -0.0386 -1.116 0.1123 -0.966 c +0.3018 -1.132 l +0.1084 -1.326 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.125 -1.2246 -0.452 c +-1.2246 0.162 -0.9272 0.523 -0.4448 0.523 c +0.0464 0.523 0.3364 0.166 0.3364 -0.397 c +0.3364 -0.525 l +-0.9463 -0.525 l +f +Q +q +[1 0 0 1 10.611 12.109] cm +0 0 m +-0.332 0 -0.483 0.217 -0.483 0.507 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.109] cm +0 0 m +-0.333 0 -0.483 0.217 -0.483 0.507 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.513] cm +0 0 m +-0.073 0.174 -0.244 0.286 -0.445 0.286 c +-0.646 0.286 -0.815 0.174 -0.889 0 c +-0.931 -0.104 -0.939 -0.162 -0.947 -0.316 c +0.058 -0.316 l +0.05 -0.162 0.043 -0.104 0 0 c +-0.947 -0.525 m +-0.947 -0.942 -0.75 -1.183 -0.387 -1.183 c +-0.167 -1.183 -0.039 -1.116 0.112 -0.966 c +0.302 -1.132 l +0.108 -1.326 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.125 -1.225 -0.452 c +-1.225 0.162 -0.928 0.523 -0.445 0.523 c +0.046 0.523 0.336 0.166 0.336 -0.397 c +0.336 -0.525 l +-0.947 -0.525 l +f +Q +q +[1 0 0 1 16.699 12.109] cm +0 0 m +0 1.171 l +0 1.508 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.504 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.848 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.747 c +0.216 1.616 0.278 1.438 0.278 1.218 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.109] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.987] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.336 c +-0.959 -0.557 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.649 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.205 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.85 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.85 -1.086 -0.727 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.008 -0.997 0.208 -0.572 0.208 c +0 0.208 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.109] cm +0 0 m +0 0.213 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.155 c +-1.164 0.286 -1.221 0.468 -1.221 0.688 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.225 -0.479 0.225 c +-0.193 0.225 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.087] cm +0 0 m +-0.321 0 -0.572 0.073 -0.78 0.274 c +-0.595 0.46 l +-0.444 0.301 -0.24 0.239 -0.003 0.239 c +0.309 0.239 0.503 0.351 0.503 0.575 c +0.503 0.742 0.406 0.835 0.186 0.854 c +-0.127 0.881 l +-0.498 0.912 -0.695 1.078 -0.695 1.391 c +-0.695 1.739 -0.402 1.948 0.004 1.948 c +0.274 1.948 0.518 1.882 0.689 1.743 c +0.507 1.561 l +0.371 1.666 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.592 -0.425 1.399 c +-0.425 1.237 -0.332 1.14 -0.092 1.121 c +0.213 1.094 l +0.545 1.063 0.773 0.934 0.773 0.579 c +0.773 0.213 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0655] cm +0 0 m +-0.2744 0 l +-0.8848 2.2021 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.751 l +-2.1602 2.751 l +-1.623 0.5322 l +-1.0161 2.751 l +-0.7534 2.751 l +-0.1465 0.5322 l +0.3906 2.751 l +0.7031 2.751 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9659] cm +0 0 m +0.27832 0 l +0.27832 -1.9004 l +0 -1.9004 l +0 0 l +h +-0.0156 0.8545 m +0.29788 0.8545 l +0.29788 0.542 l +-0.0156 0.542 l +-0.0156 0.8545 l +h +f +Q +q +[1 0 0 1 6.5166 6.042] cm +0 0 m +-0.3203 0 -0.5718 0.0733 -0.7808 0.2735 c +-0.5952 0.46 l +-0.4443 0.3008 -0.2393 0.2383 -0.0039 0.2383 c +0.3101 0.2383 0.5029 0.3506 0.5029 0.5752 c +0.5029 0.7413 0.4063 0.835 0.1855 0.8536 c +-0.1269 0.8799 l +-0.4981 0.9112 -0.6958 1.0782 -0.6958 1.3907 c +-0.6958 1.7383 -0.4014 1.9473 0.0044 1.9473 c +0.2744 1.9473 0.5181 1.8819 0.688 1.7422 c +0.5064 1.5606 l +0.3711 1.6651 0.1973 1.712 0 1.712 c +-0.2778 1.712 -0.4248 1.5918 -0.4248 1.3985 c +-0.4248 1.2364 -0.332 1.1397 -0.0923 1.1202 c +0.2129 1.0938 l +0.5454 1.0616 0.773 0.9356 0.773 0.5801 c +0.773 0.212 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.042] cm +0 0 m +-0.3208 0 -0.5718 0.0733 -0.7812 0.2735 c +-0.5952 0.46 l +-0.4448 0.3008 -0.2397 0.2383 -0.0039 0.2383 c +0.3091 0.2383 0.5024 0.3506 0.5024 0.5752 c +0.5024 0.7413 0.4058 0.835 0.1851 0.8536 c +-0.1274 0.8799 l +-0.499 0.9112 -0.6958 1.0782 -0.6958 1.3907 c +-0.6958 1.7383 -0.4019 1.9473 0.0039 1.9473 c +0.2739 1.9473 0.5176 1.8819 0.688 1.7422 c +0.5059 1.5606 l +0.3706 1.6651 0.1973 1.712 0 1.712 c +-0.2783 1.712 -0.4253 1.5918 -0.4253 1.3985 c +-0.4253 1.2364 -0.3325 1.1397 -0.0933 1.1202 c +0.2124 1.0938 l +0.5449 1.0616 0.773 0.9356 0.773 0.5801 c +0.773 0.212 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4678] cm +0 0 m +-0.073 0.1739 -0.244 0.2862 -0.445 0.2862 c +-0.645 0.2862 -0.815 0.1739 -0.889 0 c +-0.931 -0.1045 -0.939 -0.1631 -0.947 -0.3174 c +0.058 -0.3174 l +0.05 -0.1631 0.043 -0.1045 0 0 c +-0.947 -0.5263 m +-0.947 -0.9433 -0.749 -1.1826 -0.387 -1.1826 c +-0.167 -1.1826 -0.038 -1.1172 0.112 -0.9658 c +0.302 -1.1328 l +0.108 -1.3252 -0.07 -1.4258 -0.394 -1.4258 c +-0.896 -1.4258 -1.225 -1.125 -1.225 -0.4521 c +-1.225 0.1621 -0.928 0.5215 -0.445 0.5215 c +0.046 0.5215 0.336 0.166 0.336 -0.3984 c +0.336 -0.5263 l +-0.947 -0.5263 l +f +Q +q +[1 0 0 1 14.262 6.0655] cm +0 0 m +0 1.1699 l +0 1.5068 -0.182 1.6767 -0.467 1.6767 c +-0.753 1.6767 -0.939 1.5029 -0.939 1.1699 c +-0.939 0 l +-1.218 0 l +-1.218 1.9004 l +-0.939 1.9004 l +-0.939 1.6924 l +-0.803 1.8467 -0.618 1.9238 -0.406 1.9238 c +-0.201 1.9238 -0.034 1.8623 0.081 1.747 c +0.217 1.6142 0.278 1.4365 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.042] cm +0 0 m +-0.321 0 -0.572 0.0733 -0.781 0.2735 c +-0.595 0.46 l +-0.445 0.3008 -0.24 0.2383 -0.004 0.2383 c +0.309 0.2383 0.503 0.3506 0.503 0.5752 c +0.503 0.7413 0.406 0.835 0.186 0.8536 c +-0.127 0.8799 l +-0.498 0.9112 -0.696 1.0782 -0.696 1.3907 c +-0.696 1.7383 -0.402 1.9473 0.004 1.9473 c +0.274 1.9473 0.518 1.8819 0.688 1.7422 c +0.506 1.5606 l +0.371 1.6651 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.5918 -0.425 1.3985 c +-0.425 1.2364 -0.332 1.1397 -0.092 1.1202 c +0.212 1.0938 l +0.545 1.0616 0.773 0.9356 0.773 0.5801 c +0.773 0.212 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.042] cm +0 0 m +-0.479 0 -0.842 0.3243 -0.842 0.9737 c +-0.842 1.6221 -0.479 1.9473 0 1.9473 c +0.263 1.9473 0.429 1.877 0.626 1.6651 c +0.437 1.4873 l +0.294 1.6455 0.182 1.6993 0 1.6993 c +-0.185 1.6993 -0.339 1.627 -0.44 1.4834 c +-0.529 1.3594 -0.564 1.2139 -0.564 0.9737 c +-0.564 0.7344 -0.529 0.586 -0.44 0.4629 c +-0.339 0.3204 -0.185 0.2471 0 0.2471 c +0.182 0.2471 0.294 0.3047 0.437 0.4629 c +0.626 0.2813 l +0.429 0.0684 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0655] cm +0 0 m +0 1.1738 l +0 1.5068 -0.178 1.6767 -0.464 1.6767 c +-0.75 1.6767 -0.94 1.5029 -0.94 1.1738 c +-0.94 0 l +-1.218 0 l +-1.218 2.751 l +-0.94 2.751 l +-0.94 1.6924 l +-0.8 1.8506 -0.619 1.9238 -0.406 1.9238 c +0.023 1.9238 0.278 1.6494 0.278 1.2207 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9415] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1153 -0.959 -0.335 c +-0.959 -0.5557 -0.823 -0.6602 -0.522 -0.6602 c +-0.359 -0.6602 -0.216 -0.6495 -0.097 -0.5332 c +-0.031 -0.4707 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.876 m +0 -0.6944 l +-0.155 -0.8497 -0.294 -0.9004 -0.549 -0.9004 c +-0.812 -0.9004 -0.966 -0.8497 -1.086 -0.7256 c +-1.179 -0.6329 -1.229 -0.4903 -1.229 -0.3399 c +-1.229 -0.0069 -0.998 0.2089 -0.573 0.2089 c +0 0.2089 l +0 0.3906 l +0 0.6689 -0.139 0.8076 -0.487 0.8076 c +-0.731 0.8076 -0.854 0.75 -0.966 0.5918 c +-1.156 0.7656 l +-0.986 0.9863 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8281 0.278 0.414 c +0.278 -0.876 l +0 -0.876 l +f +Q +q +[1 0 0 1 25.75 7.7422] cm +0 0 m +0 -1.6767 l +-0.278 -1.6767 l +-0.278 0 l +-0.521 0 l +-0.521 0.212 l +-0.278 0.212 l +-0.278 0.5713 l +-0.278 0.8536 -0.12 1.0821 0.204 1.0821 c +0.406 1.0821 l +0.406 0.8428 l +0.255 0.8428 l +0.078 0.8428 0 0.7383 0 0.5635 c +0 0.212 l +0.406 0.212 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0655] cm +0 0 m +-0.325 0 -0.487 0.2275 -0.487 0.5097 c +-0.487 1.6767 l +-0.727 1.6767 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4844 l +-0.209 2.4844 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6767 l +-0.209 1.6767 l +-0.209 0.5176 l +-0.209 0.3437 -0.128 0.2392 0.05 0.2392 c +0.197 0.2392 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.0196] cm +0 0 m +0 0.21191 l +-0.1348 0.057598 -0.3247 -0.023502 -0.5371 -0.023502 c +-0.7422 -0.023502 -0.9121 0.038994 -1.0273 0.1543 c +-1.1631 0.2861 -1.2207 0.4678 -1.2207 0.6875 c +-1.2207 1.9013 l +-0.9424 1.9013 l +-0.9424 0.7304 l +-0.9424 0.3945 -0.7646 0.2236 -0.479 0.2236 c +-0.1929 0.2236 -0.0039 0.3984 -0.0039 0.7304 c +-0.0039 1.9013 l +0.2744 1.9013 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.0196] cm +0 0 m +0 1.1709 l +0 1.5078 -0.181 1.6777 -0.4673 1.6777 c +-0.7534 1.6777 -0.939 1.5029 -0.939 1.1709 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9013 l +-0.939 1.9013 l +-0.939 1.6924 l +-0.8037 1.8476 -0.6182 1.9248 -0.4058 1.9248 c +-0.201 1.9248 -0.035 1.8623 0.081 1.7471 c +0.217 1.6152 0.278 1.4375 0.278 1.2178 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.6973] cm +0 0 m +-0.413 0 -0.479 -0.3564 -0.479 -0.7275 c +-0.479 -1.0986 -0.413 -1.4541 0 -1.4541 c +0.413 -1.4541 0.475 -1.0986 0.475 -0.7275 c +0.475 -0.3564 0.413 0 0 0 c +0.479 -1.6777 m +0.479 -1.4492 l +0.325 -1.6504 0.147 -1.7012 -0.062 -1.7012 c +-0.255 -1.7012 -0.425 -1.6357 -0.526 -1.5351 c +-0.719 -1.3418 -0.757 -1.0254 -0.757 -0.7275 c +-0.757 -0.4297 -0.719 -0.1123 -0.526 0.0811 c +-0.425 0.1807 -0.255 0.2471 -0.062 0.2471 c +0.147 0.2471 0.321 0.2012 0.475 0.0029 c +0.475 1.0742 l +0.753 1.0742 l +0.753 -1.6777 l +0.479 -1.6777 l +f +Q +q +[1 0 0 1 17.264 0.0196] cm +0 0 m +-0.838 1.4648 l +-1.419 0.76849 l +-1.419 0 l +-1.712 0 l +-1.712 2.7519 l +-1.419 2.7519 l +-1.419 1.1709 l +-0.135 2.7519 l +0.224 2.7519 l +-0.642 1.6885 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.0196] cm +0 0 m +0 0.21191 l +-0.135 0.057598 -0.324 -0.023502 -0.538 -0.023502 c +-0.742 -0.023502 -0.912 0.038994 -1.028 0.1543 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.6875 c +-1.221 1.9013 l +-0.942 1.9013 l +-0.942 0.7304 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7304 c +-0.004 1.9013 l +0.274 1.9013 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.0196] cm +0 0 m +-0.333 0 -0.483 0.2158 -0.483 0.5068 c +-0.483 2.7519 l +-0.206 2.7519 l +-0.206 0.5176 l +-0.206 0.332 -0.144 0.2402 0.05 0.2402 c +0.201 0.2402 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.0196] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5097 c +-0.487 1.6777 l +-0.727 1.6777 l +-0.727 1.8896 l +-0.487 1.8896 l +-0.487 2.4853 l +-0.209 2.4853 l +-0.209 1.8896 l +0.197 1.8896 l +0.197 1.6777 l +-0.209 1.6777 l +-0.209 0.5176 l +-0.209 0.3437 -0.128 0.2402 0.05 0.2402 c +0.197 0.2402 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.0196] cm +0 0 m +0 0.21191 l +-0.135 0.057598 -0.325 -0.023502 -0.537 -0.023502 c +-0.742 -0.023502 -0.912 0.038994 -1.028 0.1543 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.6875 c +-1.221 1.9013 l +-0.942 1.9013 l +-0.942 0.7304 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7304 c +-0.004 1.9013 l +0.275 1.9013 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.5577] cm +0 0 m +-0.104 0.1045 -0.181 0.1396 -0.328 0.1396 c +-0.607 0.1396 -0.784 -0.0811 -0.784 -0.3711 c +-0.784 -1.5381 l +-1.062 -1.5381 l +-1.062 0.3632 l +-0.784 0.3632 l +-0.784 0.1318 l +-0.68 0.29 -0.471 0.3857 -0.251 0.3857 c +-0.069 0.3857 0.07 0.3437 0.205 0.209 c +0 0 l +f +Q +Q +/DeviceRGB {} cs +[0 0 0] sc +[0.2157 0.3922 0.5647] sc +q +[1 0 0 1 19.526 68.814] cm +0 0 m +-5.838 -5.837 l +11.114 -5.837 l +0 0 l +f* +Q +[0.1176 0.2078 0.4039] sc +q +[1 0 0 1 6.8892 65.431] cm +0 0 m +0 -8.255 l +11.988 3.73 l +0 0 l +f* +Q +[0.7333 0.8392 0.251] sc +q +[1 0 0 1 0.34668 54.104] cm +0 0 m +5.8384 -5.838 l +5.8384 11.113 l +0 0 l +f* +Q +[0.6039 0.8 0.4039] sc +q +[1 0 0 1 3.7305 41.468] cm +0 0 m +8.257 0 l +-3.7305 11.985 l +0 0 l +f* +Q +[0.2588 0.7372 0.6235] sc +q +[1 0 0 1 15.065 34.925] cm +0 0 m +5.838 5.837 l +-11.115 5.837 l +0 0 l +f* +Q +[0 0.698 0.7059] sc +q +[1 0 0 1 27.696 38.31] cm +0 0 m +0 8.256 l +-11.987 -3.73 l +0 0 l +f* +Q +[0.5294 0.8314 0.9294] sc +q +[1 0 0 1 34.239 49.637] cm +0 0 m +-5.838 5.838 l +-5.838 -11.113 l +0 0 l +f* +Q +q +0 0.06 34.56 69.105 re +W +[0.3451 0.5843 0.7216] sc +q +[1 0 0 1 30.851 62.277] cm +0 0 m +-8.256 0 l +3.731 -11.985 l +0 0 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-07.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-07.pdf Binary files differnew file mode 100644 index 00000000000..f6e248434ac --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-07.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-09.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-09.eps new file mode 100644 index 00000000000..52225b4346d --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-09.eps @@ -0,0 +1,2430 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-09.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.667 51.306 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.667 51.306 re +W +q +q +1 i +0.059998 0.06 143.607 51.246 re +W +[/Separation (schwarz) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +q +[1 0 0 1 5.9912 38.529] cm +0 0 m +-0.4922 0.549 -1.1631 0.801 -2.0098 0.801 c +-4.1963 0.801 l +-4.1963 -7.828 l +-2.0098 -7.828 l +-1.1631 -7.828 -0.4922 -7.577 0 -7.028 c +0.624 -6.345 0.6328 -5.061 0.6328 -3.428 c +0.6328 -1.8 0.624 -0.679 0 0 c +1.2373 -8.326 m +0.4932 -9.079 -0.5947 -9.442 -1.8242 -9.442 c +-5.9912 -9.442 l +-5.9912 2.414 l +-1.8242 2.414 l +-0.5947 2.414 0.4932 2.047 1.2373 1.298 c +2.5215 0.015 2.4375 -1.716 2.4375 -3.428 c +2.4375 -5.145 2.5215 -7.042 1.2373 -8.326 c +f +Q +Q +[/Separation (schwarz) /DeviceRGB +/xpdfSamples1 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples1 +2 index 0 get +3 mul 0 add get +xpdfSamples1 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +3 index 0 get +3 mul 1 add get +xpdfSamples1 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +4 index 0 get +3 mul 2 add get +xpdfSamples1 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 17.221 39.33] cm +0 0 m +-2.67 0 l +-2.67 -3.717 l +0 -3.717 l +1.2 -3.717 2.019 -3.033 2.019 -1.865 c +2.019 -0.698 1.2 0 0 0 c +2.084 -10.243 m +-0.419 -5.247 l +-2.67 -5.247 l +-2.67 -10.243 l +-4.466 -10.243 l +-4.466 1.613 l +0.13 1.613 l +2.381 1.613 3.814 0.167 3.814 -1.852 c +3.814 -3.55 2.781 -4.633 1.451 -4.996 c +4.176 -10.243 l +2.084 -10.243 l +f +Q +q +[1 0 0 1 25.331 29.087] cm +0 0 m +0 11.856 l +7.572 11.856 l +7.572 10.243 l +1.796 10.243 l +1.796 6.777 l +6.727 6.777 l +6.727 5.182 l +1.796 5.182 l +1.796 1.614 l +7.572 1.614 l +7.572 0 l +0 0 l +f +Q +q +[1 0 0 1 40.179 28.984] cm +0 0 m +-1.777 0 -3.06 0.419 -4.196 1.568 c +-2.996 2.749 l +-2.131 1.885 -1.182 1.619 0.037 1.619 c +1.581 1.619 2.484 2.284 2.484 3.434 c +2.484 3.949 2.335 4.382 2.019 4.661 c +1.721 4.949 1.423 5.066 0.716 5.164 c +-0.679 5.363 l +-1.647 5.498 -2.409 5.829 -2.93 6.317 c +-3.508 6.861 -3.795 7.61 -3.795 8.582 c +-3.795 10.644 -2.298 12.058 0.167 12.058 c +1.739 12.058 2.828 11.662 3.852 10.708 c +2.698 9.578 l +1.973 10.28 1.116 10.494 0.121 10.494 c +-1.273 10.494 -2.047 9.694 -2.047 8.643 c +-2.047 8.215 -1.907 7.834 -1.6 7.545 c +-1.293 7.28 -0.818 7.08 -0.261 6.996 c +1.088 6.796 l +2.186 6.629 2.8 6.363 3.303 5.912 c +3.953 5.35 4.261 4.498 4.261 3.484 c +4.261 1.303 2.484 0 0 0 c +f +Q +q +[1 0 0 1 54.524 38.529] cm +0 0 m +-0.502 0.549 -1.171 0.801 -2.018 0.801 c +-4.204 0.801 l +-4.204 -7.828 l +-2.018 -7.828 l +-1.171 -7.828 -0.502 -7.577 0 -7.028 c +0.615 -6.345 0.633 -5.061 0.633 -3.428 c +0.633 -1.8 0.615 -0.679 0 0 c +1.229 -8.326 m +0.485 -9.079 -0.604 -9.442 -1.832 -9.442 c +-6 -9.442 l +-6 2.414 l +-1.832 2.414 l +-0.604 2.414 0.485 2.047 1.229 1.298 c +2.513 0.015 2.43 -1.716 2.43 -3.428 c +2.43 -5.145 2.513 -7.042 1.229 -8.326 c +f +Q +q +[1 0 0 1 61.278 29.087] cm +0 0 m +0 11.856 l +7.583 11.856 l +7.583 10.243 l +1.806 10.243 l +1.806 6.777 l +6.729 6.777 l +6.729 5.182 l +1.806 5.182 l +1.806 1.614 l +7.583 1.614 l +7.583 0 l +0 0 l +f +Q +q +[1 0 0 1 80.268 29.087] cm +0 0 m +-5.48 8.345 l +-5.48 0 l +-7.275 0 l +-7.275 11.856 l +-5.629 11.856 l +-0.15 3.53 l +-0.15 11.856 l +1.646 11.856 l +1.646 0 l +0 0 l +f +Q +q +[1 0 0 1 19.648 10.196] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.619 6.331 l +1.089 6.912 0.67 7.131 0 7.131 c +-0.642 7.131 -1.2 6.861 -1.562 6.377 c +-1.926 5.912 -2.065 5.312 -2.065 4.331 c +-2.065 3.345 -1.926 2.731 -1.562 2.266 c +-1.2 1.781 -0.642 1.517 0 1.517 c +0.67 1.517 1.089 1.735 1.619 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 30.123 16.839] cm +0 0 m +-0.316 0.321 -0.743 0.488 -1.247 0.488 c +-1.748 0.488 -2.168 0.321 -2.484 0 c +-2.995 -0.517 -3.061 -1.396 -3.061 -2.312 c +-3.061 -3.229 -2.995 -4.107 -2.484 -4.628 c +-2.168 -4.944 -1.748 -5.126 -1.247 -5.126 c +-0.743 -5.126 -0.316 -4.944 0 -4.628 c +0.512 -4.107 0.586 -3.229 0.586 -2.312 c +0.586 -1.396 0.512 -0.517 0 0 c +1.285 -5.643 m +0.735 -6.21 -0.103 -6.643 -1.247 -6.643 c +-2.4 -6.643 -3.209 -6.21 -3.759 -5.643 c +-4.559 -4.81 -4.764 -3.744 -4.764 -2.312 c +-4.764 -0.897 -4.559 0.167 -3.759 1 c +-3.209 1.567 -2.4 2.005 -1.247 2.005 c +-0.103 2.005 0.735 1.567 1.285 1 c +2.084 0.167 2.279 -0.897 2.279 -2.312 c +2.279 -3.744 2.084 -4.81 1.285 -5.643 c +f +Q +q +[1 0 0 1 41.519 10.294] cm +0 0 m +0 5.144 l +0 6.466 -0.754 7.033 -1.703 7.033 c +-2.651 7.033 -3.452 6.447 -3.452 5.144 c +-3.452 0 l +-5.154 0 l +-5.154 8.447 l +-3.489 8.447 l +-3.489 7.596 l +-2.903 8.228 -2.084 8.545 -1.236 8.545 c +-0.371 8.545 0.344 8.266 0.847 7.782 c +1.488 7.149 1.692 6.35 1.692 5.396 c +1.692 0 l +0 0 l +f +Q +q +[1 0 0 1 50.822 10.196] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.618 6.331 l +1.088 6.912 0.67 7.131 0 7.131 c +-0.651 7.131 -1.199 6.861 -1.562 6.377 c +-1.926 5.912 -2.064 5.312 -2.064 4.331 c +-2.064 3.345 -1.926 2.731 -1.562 2.266 c +-1.199 1.781 -0.651 1.517 0 1.517 c +0.67 1.517 1.088 1.735 1.618 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 61.745 16.359] cm +0 0 m +-0.262 0.633 -0.865 1.065 -1.666 1.065 c +-2.466 1.065 -3.08 0.633 -3.341 0 c +-3.509 -0.386 -3.545 -0.637 -3.564 -1.148 c +0.231 -1.148 l +0.222 -0.637 0.166 -0.386 0 0 c +-3.564 -2.335 m +-3.564 -3.781 -2.791 -4.697 -1.415 -4.697 c +-0.467 -4.697 0.036 -4.428 0.632 -3.833 c +1.72 -4.852 l +0.854 -5.712 0.036 -6.163 -1.443 -6.163 c +-3.564 -6.163 -5.247 -5.047 -5.247 -1.832 c +-5.247 0.898 -3.825 2.484 -1.666 2.484 c +0.603 2.484 1.915 0.819 1.915 -1.581 c +1.915 -2.335 l +-3.564 -2.335 l +f +Q +q +[1 0 0 1 71.039 17.327] cm +0 0 m +-1.526 0 -1.768 -1.303 -1.768 -2.8 c +-1.768 -4.303 -1.526 -5.614 0 -5.614 c +1.535 -5.614 1.748 -4.303 1.748 -2.8 c +1.748 -1.303 1.535 0 0 0 c +2.503 -6.382 m +2.038 -6.847 1.303 -7.131 0.455 -7.131 c +-0.447 -7.131 -1.145 -6.894 -1.768 -6.163 c +-1.768 -10.447 l +-3.46 -10.447 l +-3.46 1.414 l +-1.796 1.414 l +-1.796 0.512 l +-1.162 1.279 -0.483 1.512 0.437 1.512 c +1.284 1.512 2.038 1.232 2.503 0.763 c +3.349 -0.088 3.451 -1.517 3.451 -2.8 c +3.451 -4.084 3.349 -5.53 2.503 -6.382 c +f +Q +q +[1 0 0 1 80.964 10.294] cm +0 0 m +-1.58 0 -2.316 1.135 -2.316 2.35 c +-2.316 7.001 l +-3.283 7.001 l +-3.283 8.299 l +-2.316 8.299 l +-2.316 10.862 l +-0.613 10.862 l +-0.613 8.299 l +1.015 8.299 l +1.015 7.001 l +-0.613 7.001 l +-0.613 2.433 l +-0.613 1.814 -0.316 1.451 0.317 1.451 c +1.015 1.451 l +1.015 0 l +0 0 l +f +Q +/DeviceRGB {} cs +[0 0 0] sc +[0.2157 0.3922 0.5647] sc +q +[1 0 0 1 121.322 50.791] cm +0 0 m +-8.662 -8.661 l +16.494 -8.661 l +0 0 l +f* +Q +[0.1176 0.2078 0.4039] sc +q +[1 0 0 1 102.577 45.773] cm +0 0 m +0 -12.252 l +17.786 5.53 l +0 0 l +f* +Q +[0.7333 0.8392 0.251] sc +q +[1 0 0 1 92.873 28.966] cm +0 0 m +8.661 -8.662 l +8.661 16.485 l +0 0 l +f* +Q +[0.6039 0.8 0.4039] sc +q +[1 0 0 1 97.887 10.215] cm +0 0 m +12.251 0 l +-5.536 17.784 l +0 0 l +f* +Q +[0.2588 0.7372 0.6235] sc +q +[1 0 0 1 114.707 0.5079] cm +0 0 m +8.661 8.6601 l +-16.485 8.6601 l +0 0 l +f* +Q +q +0.059998 0.06 143.607 51.246 re +W +[0 0.698 0.7059] sc +q +[1 0 0 1 133.453 5.5264] cm +0 0 m +0 12.252 l +-17.787 -5.5303 l +0 0 l +f* +Q +Q +[0.5294 0.8314 0.9294] sc +q +[1 0 0 1 143.156 22.333] cm +0 0 m +-8.661 8.661 l +-8.661 -16.485 l +0 0 l +f* +Q +[0.3451 0.5843 0.7216] sc +q +[1 0 0 1 138.133 41.093] cm +0 0 m +-12.253 0 l +5.534 -17.783 l +0 0 l +f* +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-09.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-09.pdf Binary files differnew file mode 100644 index 00000000000..9fe2efae677 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-09.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-19.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-19.eps new file mode 100644 index 00000000000..b78d48c9c00 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-19.eps @@ -0,0 +1,1415 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-19.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.612] cm +0 0 m +-0.1645 0.181 -0.3848 0.264 -0.6645 0.264 c +-1.3843 0.264 l +-1.3843 -2.581 l +-0.6645 -2.581 l +-0.3848 -2.581 -0.1645 -2.499 0 -2.317 c +0.2031 -2.092 0.209 -1.67 0.209 -1.132 c +0.209 -0.593 0.2031 -0.225 0 0 c +0.4063 -2.746 m +0.1592 -2.993 -0.1973 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.1973 0.796 0.1592 0.676 0.4063 0.429 c +0.8291 0.005 0.8017 -0.565 0.8017 -1.132 c +0.8017 -1.697 0.8291 -2.322 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.875] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -0.999 0.6645 -0.615 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.377 m +-0.1372 -1.73 l +-0.8789 -1.73 l +-0.8789 -3.377 l +-1.4722 -3.377 l +-1.4722 0.532 l +0.044 0.532 l +0.7852 0.532 1.2573 0.055 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.527 0.4775 -1.647 c +1.3779 -3.377 l +0.6865 -3.377 l +f +Q +q +[1 0 0 1 9.0478 24.498] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.377 l +0.5928 3.377 l +0.5928 2.235 l +2.218 2.235 l +2.218 1.708 l +0.5928 1.708 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.465] cm +0 0 m +-0.587 0 -1.011 0.137 -1.384 0.516 c +-0.988 0.906 l +-0.703 0.621 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.131 c +0.818 1.302 0.769 1.444 0.665 1.537 c +0.566 1.631 0.467 1.669 0.236 1.702 c +-0.225 1.768 l +-0.544 1.813 -0.796 1.922 -0.966 2.081 c +-1.159 2.263 -1.252 2.51 -1.252 2.828 c +-1.252 3.509 -0.758 3.976 0.055 3.976 c +0.571 3.976 0.934 3.844 1.269 3.531 c +0.89 3.158 l +0.648 3.388 0.368 3.46 0.039 3.46 c +-0.423 3.46 -0.675 3.196 -0.675 2.851 c +-0.675 2.708 -0.631 2.581 -0.527 2.488 c +-0.428 2.4 -0.269 2.334 -0.088 2.306 c +0.357 2.24 l +0.719 2.186 0.923 2.098 1.087 1.949 c +1.301 1.762 1.406 1.482 1.406 1.147 c +1.406 0.429 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.612] cm +0 0 m +-0.165 0.181 -0.385 0.264 -0.665 0.264 c +-1.384 0.264 l +-1.384 -2.581 l +-0.665 -2.581 l +-0.385 -2.581 -0.165 -2.499 0 -2.317 c +0.204 -2.092 0.209 -1.67 0.209 -1.132 c +0.209 -0.593 0.204 -0.225 0 0 c +0.406 -2.746 m +0.159 -2.993 -0.197 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.197 0.796 0.159 0.676 0.406 0.429 c +0.829 0.005 0.802 -0.565 0.802 -1.132 c +0.802 -1.697 0.829 -2.322 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.498] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.377 l +0.593 3.377 l +0.593 2.235 l +2.218 2.235 l +2.218 1.708 l +0.593 1.708 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.498] cm +0 0 m +-1.807 2.751 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.125] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.472 -0.626 2.85 0 2.85 c +0.3848 2.85 0.6533 2.74 0.917 2.461 c +0.5332 2.087 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.263 -0.5161 2.103 c +-0.6367 1.95 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.901 -0.5161 0.747 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.116 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.316] cm +0 0 m +-0.105 0.104 -0.248 0.159 -0.412 0.159 c +-0.577 0.159 -0.7144 0.104 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.462 -1.0107 -0.764 c +-1.0107 -1.066 -0.9888 -1.357 -0.8188 -1.527 c +-0.7144 -1.631 -0.577 -1.692 -0.412 -1.692 c +-0.248 -1.692 -0.105 -1.631 0 -1.527 c +0.17 -1.357 0.192 -1.066 0.192 -0.764 c +0.192 -0.462 0.17 -0.17 0 0 c +0.422 -1.862 m +0.241 -2.048 -0.033 -2.191 -0.412 -2.191 c +-0.7905 -2.191 -1.0606 -2.048 -1.2412 -1.862 c +-1.5044 -1.587 -1.5708 -1.235 -1.5708 -0.764 c +-1.5708 -0.297 -1.5044 0.055 -1.2412 0.33 c +-1.0606 0.516 -0.7905 0.659 -0.412 0.659 c +-0.033 0.659 0.241 0.516 0.422 0.33 c +0.686 0.055 0.752 -0.297 0.752 -0.764 c +0.752 -1.235 0.686 -1.587 0.422 -1.862 c +f +Q +q +[1 0 0 1 14.384 18.159] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.125 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.504 l +-0.956 2.712 -0.687 2.816 -0.407 2.816 c +-0.121 2.816 0.115 2.724 0.28 2.564 c +0.495 2.355 0.561 2.092 0.561 1.779 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.125] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.472 -0.626 2.85 0 2.85 c +0.385 2.85 0.653 2.74 0.917 2.461 c +0.533 2.087 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.263 -0.517 2.103 c +-0.637 1.95 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.901 -0.517 0.747 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.116 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.157] cm +0 0 m +-0.088 0.208 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.208 -1.104 0 c +-1.159 -0.126 -1.169 -0.209 -1.175 -0.378 c +0.077 -0.378 l +0.071 -0.209 0.055 -0.126 0 0 c +-1.175 -0.769 m +-1.175 -1.247 -0.923 -1.548 -0.467 -1.548 c +-0.154 -1.548 0.011 -1.46 0.208 -1.263 c +0.565 -1.598 l +0.28 -1.883 0.011 -2.032 -0.478 -2.032 c +-1.175 -2.032 -1.73 -1.664 -1.73 -0.604 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.269 0.631 -0.522 c +0.631 -0.769 l +-1.175 -0.769 l +f +Q +q +[1 0 0 1 24.118 20.476] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.923 c +-0.583 -1.417 -0.505 -1.851 0 -1.851 c +0.504 -1.851 0.577 -1.417 0.577 -0.923 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.103 m +0.67 -2.257 0.428 -2.35 0.148 -2.35 c +-0.149 -2.35 -0.379 -2.274 -0.583 -2.032 c +-0.583 -3.443 l +-1.143 -3.443 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.423 -0.159 0.5 0.142 0.5 c +0.422 0.5 0.67 0.407 0.823 0.253 c +1.103 -0.028 1.136 -0.5 1.136 -0.923 c +1.136 -1.346 1.103 -1.823 0.823 -2.103 c +f +Q +q +[1 0 0 1 27.39 18.159] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.774 c +-0.764 2.307 l +-1.082 2.307 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.58 l +-0.204 3.58 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.307 l +-0.204 2.307 l +-0.204 0.801 l +-0.204 0.599 -0.105 0.477 0.105 0.477 c +0.335 0.477 l +0.335 0 l +0 0 l +f +Q +[0.3961 0.4078 0.4157] sc +q +[1 0 0 1 0.73389 12.113] cm +0 0 m +0 2.752 l +1.708 2.752 l +1.708 2.489 l +0.2939 2.489 l +0.2939 1.519 l +1.4995 1.519 l +1.4995 1.256 l +0.2939 1.256 l +0.2939 0.263 l +1.708 0.263 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.113] cm +0 0 m +-0.4565 0.739 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.97 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.97 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.113] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.516] cm +0 0 m +-0.0732 0.174 -0.2437 0.286 -0.4448 0.286 c +-0.6455 0.286 -0.8154 0.174 -0.8887 0 c +-0.9312 -0.105 -0.939 -0.162 -0.9463 -0.317 c +0.0581 -0.317 l +0.0503 -0.162 0.0425 -0.105 0 0 c +-0.9463 -0.526 m +-0.9463 -0.943 -0.7495 -1.183 -0.3867 -1.183 c +-0.1665 -1.183 -0.0386 -1.117 0.1123 -0.966 c +0.3018 -1.133 l +0.1084 -1.326 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.125 -1.2246 -0.452 c +-1.2246 0.162 -0.9272 0.522 -0.4448 0.522 c +0.0464 0.522 0.3364 0.166 0.3364 -0.398 c +0.3364 -0.526 l +-0.9463 -0.526 l +f +Q +q +[1 0 0 1 10.611 12.113] cm +0 0 m +-0.332 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.113] cm +0 0 m +-0.333 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.516] cm +0 0 m +-0.073 0.174 -0.244 0.286 -0.445 0.286 c +-0.646 0.286 -0.815 0.174 -0.889 0 c +-0.931 -0.105 -0.939 -0.162 -0.947 -0.317 c +0.058 -0.317 l +0.05 -0.162 0.043 -0.105 0 0 c +-0.947 -0.526 m +-0.947 -0.943 -0.75 -1.183 -0.387 -1.183 c +-0.167 -1.183 -0.039 -1.117 0.112 -0.966 c +0.302 -1.133 l +0.108 -1.326 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.125 -1.225 -0.452 c +-1.225 0.162 -0.928 0.522 -0.445 0.522 c +0.046 0.522 0.336 0.166 0.336 -0.398 c +0.336 -0.526 l +-0.947 -0.526 l +f +Q +q +[1 0 0 1 16.699 12.113] cm +0 0 m +0 1.171 l +0 1.507 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.503 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.847 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.747 c +0.216 1.616 0.278 1.438 0.278 1.217 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.113] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.991] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.336 c +-0.959 -0.557 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.65 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.205 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.85 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.85 -1.086 -0.727 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.008 -0.997 0.208 -0.572 0.208 c +0 0.208 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.113] cm +0 0 m +0 0.212 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.155 c +-1.164 0.286 -1.221 0.468 -1.221 0.688 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.224 -0.479 0.224 c +-0.193 0.224 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.09] cm +0 0 m +-0.321 0 -0.572 0.073 -0.78 0.274 c +-0.595 0.46 l +-0.444 0.301 -0.24 0.239 -0.003 0.239 c +0.309 0.239 0.503 0.352 0.503 0.576 c +0.503 0.742 0.406 0.834 0.186 0.854 c +-0.127 0.881 l +-0.498 0.912 -0.695 1.079 -0.695 1.391 c +-0.695 1.739 -0.402 1.948 0.004 1.948 c +0.274 1.948 0.518 1.882 0.689 1.744 c +0.507 1.562 l +0.371 1.665 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.592 -0.425 1.399 c +-0.425 1.236 -0.332 1.14 -0.092 1.121 c +0.213 1.093 l +0.545 1.063 0.773 0.935 0.773 0.58 c +0.773 0.212 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0678] cm +0 0 m +-0.2744 0 l +-0.8848 2.2032 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.7515 l +-2.1602 2.7515 l +-1.623 0.5332 l +-1.0161 2.7515 l +-0.7534 2.7515 l +-0.1465 0.5332 l +0.3906 2.7515 l +0.7031 2.7515 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9692] cm +0 0 m +0.27832 0 l +0.27832 -1.9014 l +0 -1.9014 l +0 0 l +h +-0.0156 0.854 m +0.29788 0.854 l +0.29788 0.541 l +-0.0156 0.541 l +-0.0156 0.854 l +h +f +Q +q +[1 0 0 1 6.5166 6.0449] cm +0 0 m +-0.3203 0 -0.5718 0.0727 -0.7808 0.2739 c +-0.5952 0.4604 l +-0.4443 0.3013 -0.2393 0.2392 -0.0039 0.2392 c +0.3101 0.2392 0.5029 0.3511 0.5029 0.5757 c +0.5029 0.7412 0.4063 0.8349 0.1855 0.854 c +-0.1269 0.8804 l +-0.4981 0.9116 -0.6958 1.0781 -0.6958 1.3906 c +-0.6958 1.7388 -0.4014 1.9477 0.0044 1.9477 c +0.2744 1.9477 0.5181 1.8818 0.688 1.7431 c +0.5064 1.561 l +0.3711 1.6655 0.1973 1.7114 0 1.7114 c +-0.2778 1.7114 -0.4248 1.5923 -0.4248 1.3984 c +-0.4248 1.2368 -0.332 1.1396 -0.0923 1.1201 c +0.2129 1.0937 l +0.5454 1.062 0.773 0.9355 0.773 0.5796 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.0449] cm +0 0 m +-0.3208 0 -0.5718 0.0727 -0.7812 0.2739 c +-0.5952 0.4604 l +-0.4448 0.3013 -0.2397 0.2392 -0.0039 0.2392 c +0.3091 0.2392 0.5024 0.3511 0.5024 0.5757 c +0.5024 0.7412 0.4058 0.8349 0.1851 0.854 c +-0.1274 0.8804 l +-0.499 0.9116 -0.6958 1.0781 -0.6958 1.3906 c +-0.6958 1.7388 -0.4019 1.9477 0.0039 1.9477 c +0.2739 1.9477 0.5176 1.8818 0.688 1.7431 c +0.5059 1.561 l +0.3706 1.6655 0.1973 1.7114 0 1.7114 c +-0.2783 1.7114 -0.4253 1.5923 -0.4253 1.3984 c +-0.4253 1.2368 -0.3325 1.1396 -0.0933 1.1201 c +0.2124 1.0937 l +0.5449 1.062 0.773 0.9355 0.773 0.5796 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4707] cm +0 0 m +-0.073 0.1743 -0.244 0.2856 -0.445 0.2856 c +-0.645 0.2856 -0.815 0.1743 -0.889 0 c +-0.931 -0.1045 -0.939 -0.1626 -0.947 -0.3174 c +0.058 -0.3174 l +0.05 -0.1626 0.043 -0.1045 0 0 c +-0.947 -0.5259 m +-0.947 -0.9429 -0.749 -1.1831 -0.387 -1.1831 c +-0.167 -1.1831 -0.038 -1.1172 0.112 -0.9654 c +0.302 -1.1324 l +0.108 -1.3257 -0.07 -1.4258 -0.394 -1.4258 c +-0.896 -1.4258 -1.225 -1.1245 -1.225 -0.4522 c +-1.225 0.1626 -0.928 0.5219 -0.445 0.5219 c +0.046 0.5219 0.336 0.1665 0.336 -0.3985 c +0.336 -0.5259 l +-0.947 -0.5259 l +f +Q +q +[1 0 0 1 14.262 6.0678] cm +0 0 m +0 1.1709 l +0 1.5074 -0.182 1.6773 -0.467 1.6773 c +-0.753 1.6773 -0.939 1.503 -0.939 1.1709 c +-0.939 0 l +-1.218 0 l +-1.218 1.9014 l +-0.939 1.9014 l +-0.939 1.6924 l +-0.803 1.8467 -0.618 1.9243 -0.406 1.9243 c +-0.201 1.9243 -0.034 1.8628 0.081 1.7466 c +0.217 1.6153 0.278 1.437 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.0449] cm +0 0 m +-0.321 0 -0.572 0.0727 -0.781 0.2739 c +-0.595 0.4604 l +-0.445 0.3013 -0.24 0.2392 -0.004 0.2392 c +0.309 0.2392 0.503 0.3511 0.503 0.5757 c +0.503 0.7412 0.406 0.8349 0.186 0.854 c +-0.127 0.8804 l +-0.498 0.9116 -0.696 1.0781 -0.696 1.3906 c +-0.696 1.7388 -0.402 1.9477 0.004 1.9477 c +0.274 1.9477 0.518 1.8818 0.688 1.7431 c +0.506 1.561 l +0.371 1.6655 0.197 1.7114 0 1.7114 c +-0.278 1.7114 -0.425 1.5923 -0.425 1.3984 c +-0.425 1.2368 -0.332 1.1396 -0.092 1.1201 c +0.212 1.0937 l +0.545 1.062 0.773 0.9355 0.773 0.5796 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.0449] cm +0 0 m +-0.479 0 -0.842 0.3242 -0.842 0.9736 c +-0.842 1.623 -0.479 1.9477 0 1.9477 c +0.263 1.9477 0.429 1.8774 0.626 1.6655 c +0.437 1.4878 l +0.294 1.646 0.182 1.6997 0 1.6997 c +-0.185 1.6997 -0.339 1.6269 -0.44 1.4839 c +-0.529 1.3603 -0.564 1.2138 -0.564 0.9736 c +-0.564 0.7339 -0.529 0.5869 -0.44 0.4634 c +-0.339 0.3208 -0.185 0.2471 0 0.2471 c +0.182 0.2471 0.294 0.3047 0.437 0.4634 c +0.626 0.2817 l +0.429 0.0688 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0678] cm +0 0 m +0 1.1743 l +0 1.5074 -0.178 1.6773 -0.464 1.6773 c +-0.75 1.6773 -0.94 1.503 -0.94 1.1743 c +-0.94 0 l +-1.218 0 l +-1.218 2.7515 l +-0.94 2.7515 l +-0.94 1.6924 l +-0.8 1.8511 -0.619 1.9243 -0.406 1.9243 c +0.023 1.9243 0.278 1.6504 0.278 1.2212 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9448] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1162 -0.959 -0.336 c +-0.959 -0.5567 -0.823 -0.6607 -0.522 -0.6607 c +-0.359 -0.6607 -0.216 -0.6494 -0.097 -0.5332 c +-0.031 -0.4712 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.877 m +0 -0.6958 l +-0.155 -0.8501 -0.294 -0.8999 -0.549 -0.8999 c +-0.812 -0.8999 -0.966 -0.8501 -1.086 -0.7266 c +-1.179 -0.6338 -1.229 -0.4907 -1.229 -0.3399 c +-1.229 -0.0073 -0.998 0.2085 -0.573 0.2085 c +0 0.2085 l +0 0.3906 l +0 0.6689 -0.139 0.8081 -0.487 0.8081 c +-0.731 0.8081 -0.854 0.75 -0.966 0.5913 c +-1.156 0.7656 l +-0.986 0.9863 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8271 0.278 0.414 c +0.278 -0.877 l +0 -0.877 l +f +Q +q +[1 0 0 1 25.75 7.7451] cm +0 0 m +0 -1.6773 l +-0.278 -1.6773 l +-0.278 0 l +-0.521 0 l +-0.521 0.2119 l +-0.278 0.2119 l +-0.278 0.5718 l +-0.278 0.854 -0.12 1.0815 0.204 1.0815 c +0.406 1.0815 l +0.406 0.8428 l +0.255 0.8428 l +0.078 0.8428 0 0.7378 0 0.5644 c +0 0.2119 l +0.406 0.2119 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0678] cm +0 0 m +-0.325 0 -0.487 0.2281 -0.487 0.5103 c +-0.487 1.6773 l +-0.727 1.6773 l +-0.727 1.8892 l +-0.487 1.8892 l +-0.487 2.4849 l +-0.209 2.4849 l +-0.209 1.8892 l +0.197 1.8892 l +0.197 1.6773 l +-0.209 1.6773 l +-0.209 0.5176 l +-0.209 0.3433 -0.128 0.2393 0.05 0.2393 c +0.197 0.2393 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.022408] cm +0 0 m +0 0.21289 l +-0.1348 0.058094 -0.3247 -0.022896 -0.5371 -0.022896 c +-0.7422 -0.022896 -0.9121 0.038597 -1.0273 0.1548 c +-1.1631 0.2862 -1.2207 0.4673 -1.2207 0.688 c +-1.2207 1.9019 l +-0.9424 1.9019 l +-0.9424 0.7305 l +-0.9424 0.3946 -0.7646 0.22459 -0.479 0.22459 c +-0.1929 0.22459 -0.0039 0.39849 -0.0039 0.7305 c +-0.0039 1.9019 l +0.2744 1.9019 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.022408] cm +0 0 m +0 1.1714 l +0 1.5073 -0.181 1.6773 -0.4673 1.6773 c +-0.7534 1.6773 -0.939 1.5034 -0.939 1.1714 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9019 l +-0.939 1.9019 l +-0.939 1.6929 l +-0.8037 1.8477 -0.6182 1.9248 -0.4058 1.9248 c +-0.201 1.9248 -0.035 1.8628 0.081 1.7471 c +0.217 1.6157 0.278 1.438 0.278 1.2178 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.6997] cm +0 0 m +-0.413 0 -0.479 -0.3555 -0.479 -0.7261 c +-0.479 -1.0972 -0.413 -1.4532 0 -1.4532 c +0.413 -1.4532 0.475 -1.0972 0.475 -0.7261 c +0.475 -0.3555 0.413 0 0 0 c +0.479 -1.6773 m +0.479 -1.4493 l +0.325 -1.6494 0.147 -1.7002 -0.062 -1.7002 c +-0.255 -1.7002 -0.425 -1.6348 -0.526 -1.5342 c +-0.719 -1.3409 -0.757 -1.0244 -0.757 -0.7261 c +-0.757 -0.4287 -0.719 -0.1118 -0.526 0.082 c +-0.425 0.1816 -0.255 0.2475 -0.062 0.2475 c +0.147 0.2475 0.321 0.2011 0.475 0.0039 c +0.475 1.0747 l +0.753 1.0747 l +0.753 -1.6773 l +0.479 -1.6773 l +f +Q +q +[1 0 0 1 17.264 0.022408] cm +0 0 m +-0.838 1.4644 l +-1.419 0.7696 l +-1.419 0 l +-1.712 0 l +-1.712 2.752 l +-1.419 2.752 l +-1.419 1.1714 l +-0.135 2.752 l +0.224 2.752 l +-0.642 1.689 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.022408] cm +0 0 m +0 0.21289 l +-0.135 0.058094 -0.324 -0.022896 -0.538 -0.022896 c +-0.742 -0.022896 -0.912 0.038597 -1.028 0.1548 c +-1.163 0.2862 -1.221 0.4673 -1.221 0.688 c +-1.221 1.9019 l +-0.942 1.9019 l +-0.942 0.7305 l +-0.942 0.3946 -0.765 0.22459 -0.479 0.22459 c +-0.193 0.22459 -0.004 0.39849 -0.004 0.7305 c +-0.004 1.9019 l +0.274 1.9019 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.022408] cm +0 0 m +-0.333 0 -0.483 0.2168 -0.483 0.50639 c +-0.483 2.752 l +-0.206 2.752 l +-0.206 0.5181 l +-0.206 0.3325 -0.144 0.2403 0.05 0.2403 c +0.201 0.2403 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.022408] cm +0 0 m +-0.325 0 -0.487 0.228 -0.487 0.51029 c +-0.487 1.6773 l +-0.727 1.6773 l +-0.727 1.8902 l +-0.487 1.8902 l +-0.487 2.4849 l +-0.209 2.4849 l +-0.209 1.8902 l +0.197 1.8902 l +0.197 1.6773 l +-0.209 1.6773 l +-0.209 0.5181 l +-0.209 0.3443 -0.128 0.2403 0.05 0.2403 c +0.197 0.2403 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.022408] cm +0 0 m +0 0.21289 l +-0.135 0.058094 -0.325 -0.022896 -0.537 -0.022896 c +-0.742 -0.022896 -0.912 0.038597 -1.028 0.1548 c +-1.163 0.2862 -1.221 0.4673 -1.221 0.688 c +-1.221 1.9019 l +-0.942 1.9019 l +-0.942 0.7305 l +-0.942 0.3946 -0.765 0.22459 -0.479 0.22459 c +-0.193 0.22459 -0.004 0.39849 -0.004 0.7305 c +-0.004 1.9019 l +0.275 1.9019 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.561] cm +0 0 m +-0.104 0.104 -0.181 0.1387 -0.328 0.1387 c +-0.607 0.1387 -0.784 -0.0815 -0.784 -0.3711 c +-0.784 -1.5386 l +-1.062 -1.5386 l +-1.062 0.3633 l +-0.784 0.3633 l +-0.784 0.1313 l +-0.68 0.2895 -0.471 0.3862 -0.251 0.3862 c +-0.069 0.3862 0.07 0.3437 0.205 0.2085 c +0 0 l +f +Q +Q +q +[1 0 0 1 19.526 68.818] cm +0 0 m +-5.838 -5.837 l +11.114 -5.837 l +0 0 l +f* +Q +[0.2941 0.302 0.3098] sc +q +[1 0 0 1 6.8892 65.434] cm +0 0 m +0 -8.256 l +11.988 3.73 l +0 0 l +f* +Q +[0.7294 0.7412 0.7529] sc +q +[1 0 0 1 0.34668 54.106] cm +0 0 m +5.8384 -5.838 l +5.8384 11.113 l +0 0 l +f* +Q +[0.651 0.6667 0.6823] sc +q +[1 0 0 1 3.7305 41.471] cm +0 0 m +8.257 0 l +-3.7305 11.985 l +0 0 l +f* +Q +[0.4902 0.502 0.5137] sc +q +[1 0 0 1 15.065 34.928] cm +0 0 m +5.838 5.837 l +-11.115 5.837 l +0 0 l +f* +Q +[0.3961 0.4078 0.4157] sc +q +[1 0 0 1 27.696 38.313] cm +0 0 m +0 8.256 l +-11.987 -3.73 l +0 0 l +f* +Q +[0.651 0.6667 0.6823] sc +q +[1 0 0 1 34.239 49.64] cm +0 0 m +-5.838 5.837 l +-5.838 -11.113 l +0 0 l +f* +Q +q +0 0.06 34.56 69.105 re +W +[0.4902 0.502 0.5137] sc +q +[1 0 0 1 30.851 62.281] cm +0 0 m +-8.256 0 l +3.731 -11.986 l +0 0 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-19.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-19.pdf Binary files differnew file mode 100644 index 00000000000..d54a240258b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-19.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-21.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-21.eps new file mode 100644 index 00000000000..b26b6a21143 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-21.eps @@ -0,0 +1,810 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-21.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.664 51.307 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.664 51.307 re +W +q +q +1 i +0.059998 0.06 143.604 51.247 re +W +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +q +[1 0 0 1 5.9961 38.532] cm +0 0 m +-0.499 0.55 -1.165 0.801 -2.0156 0.801 c +-4.1973 0.801 l +-4.1973 -7.829 l +-2.0156 -7.829 l +-1.165 -7.829 -0.499 -7.578 0 -7.028 c +0.6143 -6.345 0.6328 -5.062 0.6328 -3.43 c +0.6328 -1.799 0.6143 -0.682 0 0 c +1.2334 -8.327 m +0.4834 -9.077 -0.5972 -9.442 -1.832 -9.442 c +-5.9961 -9.442 l +-5.9961 2.415 l +-1.832 2.415 l +-0.5972 2.415 0.4834 2.049 1.2334 1.3 c +2.5127 0.017 2.4316 -1.716 2.4316 -3.43 c +2.4316 -5.146 2.5127 -7.043 1.2334 -8.327 c +f +Q +Q +/DeviceRGB {} cs +[0 0 0] sc +[0.2941 0.302 0.3098] sc +false op +false OP +1 i +q +[1 0 0 1 17.22 39.333] cm +0 0 m +-2.666 0 l +-2.666 -3.716 l +0 -3.716 l +1.199 -3.716 2.015 -3.033 2.015 -1.867 c +2.015 -0.702 1.199 0 0 0 c +2.083 -10.246 m +-0.416 -5.247 l +-2.666 -5.247 l +-2.666 -10.246 l +-4.465 -10.246 l +-4.465 1.613 l +0.135 1.613 l +2.384 1.613 3.816 0.166 3.816 -1.849 c +3.816 -3.55 2.782 -4.631 1.45 -4.997 c +4.18 -10.246 l +2.083 -10.246 l +f +Q +q +[1 0 0 1 25.328 29.089] cm +0 0 m +0 11.857 l +7.578 11.857 l +7.578 10.244 l +1.801 10.244 l +1.801 6.779 l +6.729 6.779 l +6.729 5.181 l +1.801 5.181 l +1.801 1.614 l +7.578 1.614 l +7.578 0 l +0 0 l +f +Q +q +[1 0 0 1 40.183 28.988] cm +0 0 m +-1.785 0 -3.062 0.418 -4.199 1.566 c +-2.998 2.749 l +-2.135 1.884 -1.182 1.616 0.033 1.616 c +1.582 1.616 2.48 2.284 2.48 3.432 c +2.48 3.949 2.332 4.381 2.012 4.663 c +1.717 4.948 1.414 5.063 0.715 5.163 c +-0.682 5.363 l +-1.648 5.495 -2.414 5.83 -2.932 6.313 c +-3.512 6.862 -3.801 7.612 -3.801 8.579 c +-3.801 10.642 -2.301 12.059 0.166 12.059 c +1.732 12.059 2.828 11.66 3.848 10.708 c +2.699 9.578 l +1.965 10.277 1.115 10.493 0.113 10.493 c +-1.281 10.493 -2.049 9.694 -2.049 8.644 c +-2.049 8.211 -1.916 7.83 -1.602 7.544 c +-1.299 7.28 -0.818 7.078 -0.268 6.995 c +1.084 6.795 l +2.18 6.629 2.797 6.363 3.297 5.913 c +3.947 5.348 4.262 4.497 4.262 3.482 c +4.262 1.302 2.48 0 0 0 c +f +Q +q +[1 0 0 1 54.521 38.532] cm +0 0 m +-0.5 0.55 -1.166 0.801 -2.014 0.801 c +-4.199 0.801 l +-4.199 -7.829 l +-2.014 -7.829 l +-1.166 -7.829 -0.5 -7.578 0 -7.028 c +0.617 -6.345 0.633 -5.062 0.633 -3.43 c +0.633 -1.799 0.617 -0.682 0 0 c +1.232 -8.327 m +0.482 -9.077 -0.598 -9.442 -1.832 -9.442 c +-5.996 -9.442 l +-5.996 2.415 l +-1.832 2.415 l +-0.598 2.415 0.482 2.049 1.232 1.3 c +2.514 0.017 2.43 -1.716 2.43 -3.43 c +2.43 -5.146 2.514 -7.043 1.232 -8.327 c +f +Q +q +[1 0 0 1 61.279 29.089] cm +0 0 m +0 11.857 l +7.58 11.857 l +7.58 10.244 l +1.801 10.244 l +1.801 6.779 l +6.73 6.779 l +6.73 5.181 l +1.801 5.181 l +1.801 1.614 l +7.58 1.614 l +7.58 0 l +0 0 l +f +Q +q +[1 0 0 1 80.265 29.089] cm +0 0 m +-5.477 8.345 l +-5.477 0 l +-7.277 0 l +-7.277 11.857 l +-5.631 11.857 l +-0.15 3.53 l +-0.15 11.857 l +1.65 11.857 l +1.65 0 l +0 0 l +f +Q +q +[1 0 0 1 19.65 10.201] cm +0 0 m +-1.898 0 -3.763 1.164 -3.763 4.329 c +-3.763 7.496 -1.898 8.641 0 8.641 c +1.165 8.641 1.982 8.309 2.781 7.461 c +1.617 6.328 l +1.084 6.913 0.666 7.128 0 7.128 c +-0.648 7.128 -1.199 6.862 -1.565 6.379 c +-1.932 5.912 -2.066 5.312 -2.066 4.329 c +-2.066 3.345 -1.932 2.73 -1.565 2.264 c +-1.199 1.783 -0.648 1.514 0 1.514 c +0.666 1.514 1.084 1.732 1.617 2.314 c +2.781 1.198 l +1.982 0.347 1.165 0 0 0 c +f +Q +q +[1 0 0 1 30.126 16.845] cm +0 0 m +-0.316 0.318 -0.75 0.484 -1.252 0.484 c +-1.75 0.484 -2.168 0.318 -2.484 0 c +-2.998 -0.516 -3.066 -1.398 -3.066 -2.315 c +-3.066 -3.231 -2.998 -4.113 -2.484 -4.629 c +-2.168 -4.945 -1.75 -5.129 -1.252 -5.129 c +-0.75 -5.129 -0.316 -4.945 0 -4.629 c +0.512 -4.113 0.58 -3.231 0.58 -2.315 c +0.58 -1.398 0.512 -0.516 0 0 c +1.279 -5.645 m +0.73 -6.211 -0.102 -6.642 -1.252 -6.642 c +-2.4 -6.642 -3.217 -6.211 -3.766 -5.645 c +-4.564 -4.811 -4.766 -3.745 -4.766 -2.315 c +-4.766 -0.898 -4.564 0.166 -3.766 1.001 c +-3.217 1.566 -2.4 2 -1.252 2 c +-0.102 2 0.73 1.566 1.279 1.001 c +2.08 0.166 2.281 -0.898 2.281 -2.315 c +2.281 -3.745 2.08 -4.811 1.279 -5.645 c +f +Q +q +[1 0 0 1 41.515 10.301] cm +0 0 m +0 5.146 l +0 6.461 -0.748 7.028 -1.699 7.028 c +-2.65 7.028 -3.449 6.445 -3.449 5.146 c +-3.449 0 l +-5.144 0 l +-5.144 8.442 l +-3.48 8.442 l +-3.48 7.594 l +-2.898 8.227 -2.082 8.543 -1.232 8.543 c +-0.365 8.543 0.35 8.261 0.848 7.778 c +1.496 7.146 1.699 6.346 1.699 5.396 c +1.699 0 l +0 0 l +f +Q +q +[1 0 0 1 50.826 10.201] cm +0 0 m +-1.9 0 -3.766 1.164 -3.766 4.329 c +-3.766 7.496 -1.9 8.641 0 8.641 c +1.164 8.641 1.978 8.309 2.779 7.461 c +1.613 6.328 l +1.082 6.913 0.664 7.128 0 7.128 c +-0.65 7.128 -1.201 6.862 -1.566 6.379 c +-1.934 5.912 -2.068 5.312 -2.068 4.329 c +-2.068 3.345 -1.934 2.73 -1.566 2.264 c +-1.201 1.783 -0.65 1.514 0 1.514 c +0.664 1.514 1.082 1.732 1.613 2.314 c +2.779 1.198 l +1.978 0.347 1.164 0 0 0 c +f +Q +q +[1 0 0 1 61.748 16.363] cm +0 0 m +-0.268 0.634 -0.865 1.065 -1.666 1.065 c +-2.465 1.065 -3.082 0.634 -3.346 0 c +-3.516 -0.384 -3.547 -0.633 -3.564 -1.149 c +0.232 -1.149 l +0.217 -0.633 0.166 -0.384 0 0 c +-3.564 -2.332 m +-3.564 -3.781 -2.797 -4.697 -1.416 -4.697 c +-0.469 -4.697 0.035 -4.428 0.631 -3.831 c +1.717 -4.847 l +0.848 -5.711 0.035 -6.16 -1.447 -6.16 c +-3.564 -6.16 -5.246 -5.046 -5.246 -1.832 c +-5.246 0.899 -3.83 2.481 -1.666 2.481 c +0.6 2.481 1.914 0.816 1.914 -1.582 c +1.914 -2.332 l +-3.564 -2.332 l +f +Q +q +[1 0 0 1 71.04 17.329] cm +0 0 m +-1.531 0 -1.766 -1.301 -1.766 -2.799 c +-1.766 -4.299 -1.531 -5.614 0 -5.614 c +1.533 -5.614 1.748 -4.299 1.748 -2.799 c +1.748 -1.301 1.533 0 0 0 c +2.494 -6.379 m +2.031 -6.846 1.299 -7.128 0.447 -7.128 c +-0.451 -7.128 -1.148 -6.895 -1.766 -6.161 c +-1.766 -10.443 l +-3.465 -10.443 l +-3.465 1.414 l +-1.801 1.414 l +-1.801 0.517 l +-1.166 1.284 -0.484 1.513 0.43 1.513 c +1.277 1.513 2.031 1.232 2.494 0.766 c +3.346 -0.085 3.447 -1.516 3.447 -2.799 c +3.447 -4.08 3.346 -5.528 2.494 -6.379 c +f +Q +q +[1 0 0 1 80.962 10.301] cm +0 0 m +-1.58 0 -2.314 1.132 -2.314 2.348 c +-2.314 6.997 l +-3.279 6.997 l +-3.279 8.294 l +-2.314 8.294 l +-2.314 10.857 l +-0.615 10.857 l +-0.615 8.294 l +1.016 8.294 l +1.016 6.997 l +-0.615 6.997 l +-0.615 2.431 l +-0.615 1.814 -0.314 1.45 0.32 1.45 c +1.016 1.45 l +1.016 0 l +0 0 l +f +Q +[0.3961 0.4078 0.4157] sc +q +[1 0 0 1 121.326 50.792] cm +0 0 m +-8.662 -8.659 l +16.488 -8.659 l +0 0 l +f* +Q +[0.2941 0.302 0.3098] sc +q +[1 0 0 1 102.578 45.772] cm +0 0 m +0 -12.249 l +17.787 5.534 l +0 0 l +f* +Q +[0.7294 0.7412 0.7529] sc +q +[1 0 0 1 92.871 28.966] cm +0 0 m +8.66 -8.66 l +8.66 16.488 l +0 0 l +f* +Q +[0.651 0.6667 0.6823] sc +q +[1 0 0 1 97.888 10.22] cm +0 0 m +12.252 0 l +-5.533 17.783 l +0 0 l +f* +Q +[0.4902 0.502 0.5137] sc +q +[1 0 0 1 114.708 0.5127] cm +0 0 m +8.663 8.6606 l +-16.488 8.6606 l +0 0 l +f* +Q +q +0.059998 0.06 143.604 51.247 re +W +[0.3961 0.4078 0.4157] sc +q +[1 0 0 1 133.447 5.5342] cm +0 0 m +0 12.247 l +-17.785 -5.5347 l +0 0 l +f* +Q +Q +[0.651 0.6667 0.6823] sc +q +[1 0 0 1 143.156 22.339] cm +0 0 m +-8.662 8.661 l +-8.662 -16.487 l +0 0 l +f* +Q +[0.4902 0.502 0.5137] sc +q +[1 0 0 1 138.128 41.093] cm +0 0 m +-12.248 0 l +5.536 -17.783 l +0 0 l +f* +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-21.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-21.pdf Binary files differnew file mode 100644 index 00000000000..de1e329c9c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-21.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-22.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-22.eps new file mode 100644 index 00000000000..3af96b7dc9b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-22.eps @@ -0,0 +1,2224 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-22.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +[/Separation (schwarz) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.613] cm +0 0 m +-0.1645 0.181 -0.3848 0.263 -0.6645 0.263 c +-1.3843 0.263 l +-1.3843 -2.581 l +-0.6645 -2.581 l +-0.3848 -2.581 -0.1645 -2.5 0 -2.318 c +0.2031 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.2031 -0.225 0 0 c +0.4063 -2.746 m +0.1592 -2.994 -0.1973 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.1973 0.796 0.1592 0.675 0.4063 0.428 c +0.8291 0.005 0.8017 -0.566 0.8017 -1.132 c +0.8017 -1.697 0.8291 -2.323 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.876] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -1 0.6645 -0.616 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.377 m +-0.1372 -1.73 l +-0.8789 -1.73 l +-0.8789 -3.377 l +-1.4722 -3.377 l +-1.4722 0.533 l +0.044 0.533 l +0.7852 0.533 1.2573 0.054 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.527 0.4775 -1.647 c +1.3779 -3.377 l +0.6865 -3.377 l +f +Q +q +[1 0 0 1 9.0478 24.499] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.377 l +0.5928 3.377 l +0.5928 2.235 l +2.218 2.235 l +2.218 1.708 l +0.5928 1.708 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.466] cm +0 0 m +-0.587 0 -1.011 0.137 -1.384 0.516 c +-0.988 0.906 l +-0.703 0.62 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.131 c +0.818 1.301 0.769 1.444 0.665 1.538 c +0.566 1.631 0.467 1.669 0.236 1.702 c +-0.225 1.768 l +-0.544 1.812 -0.796 1.921 -0.966 2.081 c +-1.159 2.262 -1.252 2.51 -1.252 2.828 c +-1.252 3.509 -0.758 3.976 0.055 3.976 c +0.571 3.976 0.934 3.844 1.269 3.531 c +0.89 3.158 l +0.648 3.388 0.368 3.459 0.039 3.459 c +-0.423 3.459 -0.675 3.196 -0.675 2.85 c +-0.675 2.708 -0.631 2.581 -0.527 2.487 c +-0.428 2.399 -0.269 2.334 -0.088 2.306 c +0.357 2.24 l +0.719 2.185 0.923 2.098 1.087 1.949 c +1.301 1.762 1.406 1.482 1.406 1.147 c +1.406 0.428 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.613] cm +0 0 m +-0.165 0.181 -0.385 0.263 -0.665 0.263 c +-1.384 0.263 l +-1.384 -2.581 l +-0.665 -2.581 l +-0.385 -2.581 -0.165 -2.5 0 -2.318 c +0.204 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.204 -0.225 0 0 c +0.406 -2.746 m +0.159 -2.994 -0.197 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.197 0.796 0.159 0.675 0.406 0.428 c +0.829 0.005 0.802 -0.566 0.802 -1.132 c +0.802 -1.697 0.829 -2.323 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.499] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.377 l +0.593 3.377 l +0.593 2.235 l +2.218 2.235 l +2.218 1.708 l +0.593 1.708 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.499] cm +0 0 m +-1.807 2.751 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.125] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.472 -0.626 2.85 0 2.85 c +0.3848 2.85 0.6533 2.74 0.917 2.461 c +0.5332 2.087 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.263 -0.5161 2.104 c +-0.6367 1.95 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.901 -0.5161 0.747 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.115 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.317] cm +0 0 m +-0.105 0.104 -0.248 0.159 -0.412 0.159 c +-0.577 0.159 -0.7144 0.104 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.462 -1.0107 -0.764 c +-1.0107 -1.066 -0.9888 -1.357 -0.8188 -1.527 c +-0.7144 -1.631 -0.577 -1.691 -0.412 -1.691 c +-0.248 -1.691 -0.105 -1.631 0 -1.527 c +0.17 -1.357 0.192 -1.066 0.192 -0.764 c +0.192 -0.462 0.17 -0.17 0 0 c +0.422 -1.861 m +0.241 -2.048 -0.033 -2.192 -0.412 -2.192 c +-0.7905 -2.192 -1.0606 -2.048 -1.2412 -1.861 c +-1.5044 -1.587 -1.5708 -1.235 -1.5708 -0.764 c +-1.5708 -0.296 -1.5044 0.055 -1.2412 0.329 c +-1.0606 0.516 -0.7905 0.659 -0.412 0.659 c +-0.033 0.659 0.241 0.516 0.422 0.329 c +0.686 0.055 0.752 -0.296 0.752 -0.764 c +0.752 -1.235 0.686 -1.587 0.422 -1.861 c +f +Q +q +[1 0 0 1 14.384 18.159] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.125 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.504 l +-0.956 2.712 -0.687 2.817 -0.407 2.817 c +-0.121 2.817 0.115 2.724 0.28 2.564 c +0.495 2.356 0.561 2.092 0.561 1.779 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.125] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.472 -0.626 2.85 0 2.85 c +0.385 2.85 0.653 2.74 0.917 2.461 c +0.533 2.087 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.263 -0.517 2.104 c +-0.637 1.95 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.901 -0.517 0.747 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.115 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.158] cm +0 0 m +-0.088 0.209 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.209 -1.104 0 c +-1.159 -0.127 -1.169 -0.209 -1.175 -0.379 c +0.077 -0.379 l +0.071 -0.209 0.055 -0.127 0 0 c +-1.175 -0.769 m +-1.175 -1.247 -0.923 -1.549 -0.467 -1.549 c +-0.154 -1.549 0.011 -1.461 0.208 -1.264 c +0.565 -1.599 l +0.28 -1.884 0.011 -2.032 -0.478 -2.032 c +-1.175 -2.032 -1.73 -1.664 -1.73 -0.605 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.269 0.631 -0.522 c +0.631 -0.769 l +-1.175 -0.769 l +f +Q +q +[1 0 0 1 24.118 20.476] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.923 c +-0.583 -1.417 -0.505 -1.85 0 -1.85 c +0.504 -1.85 0.577 -1.417 0.577 -0.923 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.103 m +0.67 -2.257 0.428 -2.351 0.148 -2.351 c +-0.149 -2.351 -0.379 -2.273 -0.583 -2.032 c +-0.583 -3.444 l +-1.143 -3.444 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.423 -0.159 0.5 0.142 0.5 c +0.422 0.5 0.67 0.407 0.823 0.253 c +1.103 -0.028 1.136 -0.5 1.136 -0.923 c +1.136 -1.346 1.103 -1.823 0.823 -2.103 c +f +Q +q +[1 0 0 1 27.39 18.159] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.774 c +-0.764 2.306 l +-1.082 2.306 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.58 l +-0.204 3.58 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.306 l +-0.204 2.306 l +-0.204 0.801 l +-0.204 0.598 -0.105 0.478 0.105 0.478 c +0.335 0.478 l +0.335 0 l +0 0 l +f +Q +q +[1 0 0 1 0.73389 12.113] cm +0 0 m +0 2.751 l +1.708 2.751 l +1.708 2.489 l +0.2939 2.489 l +0.2939 1.519 l +1.4995 1.519 l +1.4995 1.256 l +0.2939 1.256 l +0.2939 0.263 l +1.708 0.263 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.113] cm +0 0 m +-0.4565 0.739 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.97 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.97 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.113] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.516] cm +0 0 m +-0.0732 0.174 -0.2437 0.287 -0.4448 0.287 c +-0.6455 0.287 -0.8154 0.174 -0.8887 0 c +-0.9312 -0.104 -0.939 -0.162 -0.9463 -0.316 c +0.0581 -0.316 l +0.0503 -0.162 0.0425 -0.104 0 0 c +-0.9463 -0.525 m +-0.9463 -0.942 -0.7495 -1.183 -0.3867 -1.183 c +-0.1665 -1.183 -0.0386 -1.116 0.1123 -0.966 c +0.3018 -1.132 l +0.1084 -1.326 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.124 -1.2246 -0.452 c +-1.2246 0.162 -0.9272 0.522 -0.4448 0.522 c +0.0464 0.522 0.3364 0.167 0.3364 -0.397 c +0.3364 -0.525 l +-0.9463 -0.525 l +f +Q +q +[1 0 0 1 10.611 12.113] cm +0 0 m +-0.332 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.751 l +-0.205 2.751 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.113] cm +0 0 m +-0.333 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.751 l +-0.205 2.751 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.516] cm +0 0 m +-0.073 0.174 -0.244 0.287 -0.445 0.287 c +-0.646 0.287 -0.815 0.174 -0.889 0 c +-0.931 -0.104 -0.939 -0.162 -0.947 -0.316 c +0.058 -0.316 l +0.05 -0.162 0.043 -0.104 0 0 c +-0.947 -0.525 m +-0.947 -0.942 -0.75 -1.183 -0.387 -1.183 c +-0.167 -1.183 -0.039 -1.116 0.112 -0.966 c +0.302 -1.132 l +0.108 -1.326 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.124 -1.225 -0.452 c +-1.225 0.162 -0.928 0.522 -0.445 0.522 c +0.046 0.522 0.336 0.167 0.336 -0.397 c +0.336 -0.525 l +-0.947 -0.525 l +f +Q +q +[1 0 0 1 16.699 12.113] cm +0 0 m +0 1.171 l +0 1.508 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.503 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.847 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.747 c +0.216 1.616 0.278 1.438 0.278 1.218 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.113] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.991] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.337 c +-0.959 -0.557 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.65 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.206 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.85 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.85 -1.086 -0.727 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.008 -0.997 0.207 -0.572 0.207 c +0 0.207 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.113] cm +0 0 m +0 0.212 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.155 c +-1.164 0.286 -1.221 0.467 -1.221 0.688 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.224 -0.479 0.224 c +-0.193 0.224 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.09] cm +0 0 m +-0.321 0 -0.572 0.073 -0.78 0.274 c +-0.595 0.46 l +-0.444 0.301 -0.24 0.239 -0.003 0.239 c +0.309 0.239 0.503 0.352 0.503 0.576 c +0.503 0.742 0.406 0.835 0.186 0.854 c +-0.127 0.881 l +-0.498 0.912 -0.695 1.078 -0.695 1.391 c +-0.695 1.739 -0.402 1.948 0.004 1.948 c +0.274 1.948 0.518 1.882 0.689 1.743 c +0.507 1.561 l +0.371 1.666 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.592 -0.425 1.399 c +-0.425 1.237 -0.332 1.14 -0.092 1.121 c +0.213 1.094 l +0.545 1.063 0.773 0.935 0.773 0.58 c +0.773 0.213 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0688] cm +0 0 m +-0.2744 0 l +-0.8848 2.2026 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.751 l +-2.1602 2.751 l +-1.623 0.5327 l +-1.0161 2.751 l +-0.7534 2.751 l +-0.1465 0.5327 l +0.3906 2.751 l +0.7031 2.751 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9697] cm +0 0 m +0.27832 0 l +0.27832 -1.9009 l +0 -1.9009 l +0 0 l +h +-0.0156 0.854 m +0.29788 0.854 l +0.29788 0.5415 l +-0.0156 0.5415 l +-0.0156 0.854 l +h +f +Q +q +[1 0 0 1 6.5166 6.0454] cm +0 0 m +-0.3203 0 -0.5718 0.0737 -0.7808 0.2739 c +-0.5952 0.4599 l +-0.4443 0.3008 -0.2393 0.2387 -0.0039 0.2387 c +0.3101 0.2387 0.5029 0.351 0.5029 0.5757 c +0.5029 0.7417 0.4063 0.8349 0.1855 0.854 c +-0.1269 0.8803 l +-0.4981 0.9116 -0.6958 1.0781 -0.6958 1.3911 c +-0.6958 1.7387 -0.4014 1.9477 0.0044 1.9477 c +0.2744 1.9477 0.5181 1.8818 0.688 1.7426 c +0.5064 1.5605 l +0.3711 1.6655 0.1973 1.7119 0 1.7119 c +-0.2778 1.7119 -0.4248 1.5918 -0.4248 1.3984 c +-0.4248 1.2363 -0.332 1.1396 -0.0923 1.1206 c +0.2129 1.0937 l +0.5454 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.0454] cm +0 0 m +-0.3208 0 -0.5718 0.0737 -0.7812 0.2739 c +-0.5952 0.4599 l +-0.4448 0.3008 -0.2397 0.2387 -0.0039 0.2387 c +0.3091 0.2387 0.5024 0.351 0.5024 0.5757 c +0.5024 0.7417 0.4058 0.8349 0.1851 0.854 c +-0.1274 0.8803 l +-0.499 0.9116 -0.6958 1.0781 -0.6958 1.3911 c +-0.6958 1.7387 -0.4019 1.9477 0.0039 1.9477 c +0.2739 1.9477 0.5176 1.8818 0.688 1.7426 c +0.5059 1.5605 l +0.3706 1.6655 0.1973 1.7119 0 1.7119 c +-0.2783 1.7119 -0.4253 1.5918 -0.4253 1.3984 c +-0.4253 1.2363 -0.3325 1.1396 -0.0933 1.1206 c +0.2124 1.0937 l +0.5449 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4712] cm +0 0 m +-0.073 0.1738 -0.244 0.2861 -0.445 0.2861 c +-0.645 0.2861 -0.815 0.1738 -0.889 0 c +-0.931 -0.1045 -0.939 -0.1626 -0.947 -0.3169 c +0.058 -0.3169 l +0.05 -0.1626 0.043 -0.1045 0 0 c +-0.947 -0.5259 m +-0.947 -0.9434 -0.749 -1.1827 -0.387 -1.1827 c +-0.167 -1.1827 -0.038 -1.1172 0.112 -0.9659 c +0.302 -1.1324 l +0.108 -1.3252 -0.07 -1.4258 -0.394 -1.4258 c +-0.896 -1.4258 -1.225 -1.125 -1.225 -0.4522 c +-1.225 0.1625 -0.928 0.5219 -0.445 0.5219 c +0.046 0.5219 0.336 0.166 0.336 -0.398 c +0.336 -0.5259 l +-0.947 -0.5259 l +f +Q +q +[1 0 0 1 14.262 6.0688] cm +0 0 m +0 1.1704 l +0 1.5068 -0.182 1.6768 -0.467 1.6768 c +-0.753 1.6768 -0.939 1.5029 -0.939 1.1704 c +-0.939 0 l +-1.218 0 l +-1.218 1.9009 l +-0.939 1.9009 l +-0.939 1.6924 l +-0.803 1.8467 -0.618 1.9238 -0.406 1.9238 c +-0.201 1.9238 -0.034 1.8623 0.081 1.7471 c +0.217 1.6148 0.278 1.4365 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.0454] cm +0 0 m +-0.321 0 -0.572 0.0737 -0.781 0.2739 c +-0.595 0.4599 l +-0.445 0.3008 -0.24 0.2387 -0.004 0.2387 c +0.309 0.2387 0.503 0.351 0.503 0.5757 c +0.503 0.7417 0.406 0.8349 0.186 0.854 c +-0.127 0.8803 l +-0.498 0.9116 -0.696 1.0781 -0.696 1.3911 c +-0.696 1.7387 -0.402 1.9477 0.004 1.9477 c +0.274 1.9477 0.518 1.8818 0.688 1.7426 c +0.506 1.5605 l +0.371 1.6655 0.197 1.7119 0 1.7119 c +-0.278 1.7119 -0.425 1.5918 -0.425 1.3984 c +-0.425 1.2363 -0.332 1.1396 -0.092 1.1206 c +0.212 1.0937 l +0.545 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.0454] cm +0 0 m +-0.479 0 -0.842 0.3242 -0.842 0.9736 c +-0.842 1.6225 -0.479 1.9477 0 1.9477 c +0.263 1.9477 0.429 1.8774 0.626 1.6655 c +0.437 1.4878 l +0.294 1.646 0.182 1.6997 0 1.6997 c +-0.185 1.6997 -0.339 1.6269 -0.44 1.4839 c +-0.529 1.3593 -0.564 1.2138 -0.564 0.9736 c +-0.564 0.7343 -0.529 0.5864 -0.44 0.4633 c +-0.339 0.3203 -0.185 0.247 0 0.247 c +0.182 0.247 0.294 0.3047 0.437 0.4633 c +0.626 0.2812 l +0.429 0.0688 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0688] cm +0 0 m +0 1.1743 l +0 1.5068 -0.178 1.6768 -0.464 1.6768 c +-0.75 1.6768 -0.94 1.5029 -0.94 1.1743 c +-0.94 0 l +-1.218 0 l +-1.218 2.751 l +-0.94 2.751 l +-0.94 1.6924 l +-0.8 1.8506 -0.619 1.9238 -0.406 1.9238 c +0.023 1.9238 0.278 1.6494 0.278 1.2207 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9453] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1157 -0.959 -0.3355 c +-0.959 -0.5562 -0.823 -0.6602 -0.522 -0.6602 c +-0.359 -0.6602 -0.216 -0.6494 -0.097 -0.5332 c +-0.031 -0.4712 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.8765 m +0 -0.6949 l +-0.155 -0.8501 -0.294 -0.9004 -0.549 -0.9004 c +-0.812 -0.9004 -0.966 -0.8501 -1.086 -0.7261 c +-1.179 -0.6333 -1.229 -0.4903 -1.229 -0.3404 c +-1.229 -0.0074 -0.998 0.2085 -0.573 0.2085 c +0 0.2085 l +0 0.3906 l +0 0.6689 -0.139 0.8076 -0.487 0.8076 c +-0.731 0.8076 -0.854 0.75 -0.966 0.5918 c +-1.156 0.7656 l +-0.986 0.9858 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8276 0.278 0.4135 c +0.278 -0.8765 l +0 -0.8765 l +f +Q +q +[1 0 0 1 25.75 7.7456] cm +0 0 m +0 -1.6768 l +-0.278 -1.6768 l +-0.278 0 l +-0.521 0 l +-0.521 0.2119 l +-0.278 0.2119 l +-0.278 0.5717 l +-0.278 0.854 -0.12 1.082 0.204 1.082 c +0.406 1.082 l +0.406 0.8432 l +0.255 0.8432 l +0.078 0.8432 0 0.7382 0 0.5639 c +0 0.2119 l +0.406 0.2119 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0688] cm +0 0 m +-0.325 0 -0.487 0.2275 -0.487 0.5098 c +-0.487 1.6768 l +-0.727 1.6768 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4844 l +-0.209 2.4844 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6768 l +-0.209 1.6768 l +-0.209 0.5176 l +-0.209 0.3438 -0.128 0.2393 0.05 0.2393 c +0.197 0.2393 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.022903] cm +0 0 m +0 0.21239 l +-0.1348 0.058105 -0.3247 -0.022903 -0.5371 -0.022903 c +-0.7422 -0.022903 -0.9121 0.039104 -1.0273 0.1548 c +-1.1631 0.2861 -1.2207 0.4678 -1.2207 0.688 c +-1.2207 1.9014 l +-0.9424 1.9014 l +-0.9424 0.7305 l +-0.9424 0.3945 -0.7646 0.2241 -0.479 0.2241 c +-0.1929 0.2241 -0.0039 0.3984 -0.0039 0.7305 c +-0.0039 1.9014 l +0.2744 1.9014 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.022903] cm +0 0 m +0 1.1709 l +0 1.5078 -0.181 1.6777 -0.4673 1.6777 c +-0.7534 1.6777 -0.939 1.5034 -0.939 1.1709 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9014 l +-0.939 1.9014 l +-0.939 1.6929 l +-0.8037 1.8477 -0.6182 1.9248 -0.4058 1.9248 c +-0.201 1.9248 -0.035 1.8628 0.081 1.7471 c +0.217 1.6157 0.278 1.438 0.278 1.2178 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.7006] cm +0 0 m +-0.413 0 -0.479 -0.3564 -0.479 -0.727 c +-0.479 -1.0981 -0.413 -1.4536 0 -1.4536 c +0.413 -1.4536 0.475 -1.0981 0.475 -0.727 c +0.475 -0.3564 0.413 0 0 0 c +0.479 -1.6777 m +0.479 -1.4492 l +0.325 -1.6499 0.147 -1.7006 -0.062 -1.7006 c +-0.255 -1.7006 -0.425 -1.6352 -0.526 -1.5346 c +-0.719 -1.3413 -0.757 -1.0249 -0.757 -0.727 c +-0.757 -0.4292 -0.719 -0.1123 -0.526 0.0811 c +-0.425 0.1807 -0.255 0.2471 -0.062 0.2471 c +0.147 0.2471 0.321 0.2012 0.475 0.0035 c +0.475 1.0743 l +0.753 1.0743 l +0.753 -1.6777 l +0.479 -1.6777 l +f +Q +q +[1 0 0 1 17.264 0.022903] cm +0 0 m +-0.838 1.4649 l +-1.419 0.7691 l +-1.419 0 l +-1.712 0 l +-1.712 2.752 l +-1.419 2.752 l +-1.419 1.1709 l +-0.135 2.752 l +0.224 2.752 l +-0.642 1.689 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.022903] cm +0 0 m +0 0.21239 l +-0.135 0.058105 -0.324 -0.022903 -0.538 -0.022903 c +-0.742 -0.022903 -0.912 0.039104 -1.028 0.1548 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.688 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2241 -0.479 0.2241 c +-0.193 0.2241 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.274 1.9014 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.022903] cm +0 0 m +-0.333 0 -0.483 0.21631 -0.483 0.5068 c +-0.483 2.752 l +-0.206 2.752 l +-0.206 0.5176 l +-0.206 0.3325 -0.144 0.2402 0.05 0.2402 c +0.201 0.2402 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.022903] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5098 c +-0.487 1.6777 l +-0.727 1.6777 l +-0.727 1.8897 l +-0.487 1.8897 l +-0.487 2.4858 l +-0.209 2.4858 l +-0.209 1.8897 l +0.197 1.8897 l +0.197 1.6777 l +-0.209 1.6777 l +-0.209 0.5176 l +-0.209 0.3442 -0.128 0.2402 0.05 0.2402 c +0.197 0.2402 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.022903] cm +0 0 m +0 0.21239 l +-0.135 0.058105 -0.325 -0.022903 -0.537 -0.022903 c +-0.742 -0.022903 -0.912 0.039104 -1.028 0.1548 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.688 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2241 -0.479 0.2241 c +-0.193 0.2241 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.275 1.9014 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.561] cm +0 0 m +-0.104 0.1045 -0.181 0.1396 -0.328 0.1396 c +-0.607 0.1396 -0.784 -0.0806 -0.784 -0.3706 c +-0.784 -1.5381 l +-1.062 -1.5381 l +-1.062 0.3633 l +-0.784 0.3633 l +-0.784 0.1318 l +-0.68 0.29 -0.471 0.3862 -0.251 0.3862 c +-0.069 0.3862 0.07 0.3442 0.205 0.209 c +0 0 l +f +Q +Q +[0.4] sc +q +[1 0 0 1 30.641 62.981] cm +0 0 m +-16.953 0 l +-11.114 5.837 l +0 0 l +f +Q +[0.2] sc +q +[1 0 0 1 6.8892 57.179] cm +0 0 m +0 8.255 l +11.988 11.986 l +0 0 l +f +Q +[0.8] sc +q +[1 0 0 1 6.1851 48.27] cm +0 0 m +-5.8384 5.837 l +0 16.951 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 11.987 41.471] cm +0 0 m +-8.2568 0 l +-11.987 11.986 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 15.065 34.928] cm +0 0 m +-11.115 5.837 l +5.838 5.837 l +0 0 l +f +Q +[0.302] sc +q +[1 0 0 1 15.709 34.583] cm +0 0 m +11.987 11.986 l +11.987 3.73 l +0 0 l +f +Q +[0.698] sc +q +[1 0 0 1 28.401 38.527] cm +0 0 m +0 16.951 l +5.838 11.113 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +[0.6] sc +q +[1 0 0 1 34.582 50.295] cm +0 0 m +-11.987 11.986 l +-3.731 11.986 l +0 0 l +f +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-22.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-22.pdf Binary files differnew file mode 100644 index 00000000000..152b7c0a0f7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-22.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-24.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-24.eps new file mode 100644 index 00000000000..5aa41876c01 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-24.eps @@ -0,0 +1,2428 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-24.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.667 51.307 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.667 51.307 re +W +q +q +1 i +0.059998 0.06 143.607 51.247 re +W +[/Separation (schwarz) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +q +[1 0 0 1 5.9912 38.534] cm +0 0 m +-0.4922 0.549 -1.1631 0.8 -2.0098 0.8 c +-4.1963 0.8 l +-4.1963 -7.829 l +-2.0098 -7.829 l +-1.1631 -7.829 -0.4922 -7.577 0 -7.028 c +0.624 -6.345 0.6328 -5.061 0.6328 -3.428 c +0.6328 -1.8 0.624 -0.679 0 0 c +1.2373 -8.326 m +0.4932 -9.08 -0.5947 -9.442 -1.8242 -9.442 c +-5.9912 -9.442 l +-5.9912 2.414 l +-1.8242 2.414 l +-0.5947 2.414 0.4932 2.047 1.2373 1.298 c +2.5215 0.014 2.4375 -1.716 2.4375 -3.428 c +2.4375 -5.145 2.5215 -7.043 1.2373 -8.326 c +f +Q +Q +[/Separation (schwarz) /DeviceRGB +/xpdfSamples1 [ +1 +1 +1 +0.984314 +0.984314 +0.984314 +0.972549 +0.968627 +0.968627 +0.960784 +0.956863 +0.956863 +0.952941 +0.94902 +0.945098 +0.945098 +0.937255 +0.937255 +0.937255 +0.929412 +0.92549 +0.92549 +0.921569 +0.917647 +0.921569 +0.913725 +0.909804 +0.913725 +0.905882 +0.901961 +0.905882 +0.898039 +0.894118 +0.898039 +0.890196 +0.886275 +0.890196 +0.882353 +0.878431 +0.886275 +0.87451 +0.870588 +0.878431 +0.866667 +0.862745 +0.870588 +0.862745 +0.858824 +0.866667 +0.854902 +0.85098 +0.858824 +0.847059 +0.843137 +0.854902 +0.839216 +0.835294 +0.847059 +0.835294 +0.831373 +0.839216 +0.827451 +0.823529 +0.835294 +0.819608 +0.815686 +0.827451 +0.815686 +0.811765 +0.823529 +0.807843 +0.803922 +0.815686 +0.8 +0.796078 +0.807843 +0.792157 +0.788235 +0.803922 +0.788235 +0.784314 +0.796078 +0.780392 +0.776471 +0.792157 +0.772549 +0.768627 +0.784314 +0.768627 +0.764706 +0.780392 +0.760784 +0.756863 +0.772549 +0.756863 +0.74902 +0.768627 +0.74902 +0.745098 +0.760784 +0.745098 +0.737255 +0.756863 +0.737255 +0.733333 +0.74902 +0.729412 +0.72549 +0.745098 +0.72549 +0.717647 +0.737255 +0.717647 +0.713725 +0.733333 +0.713725 +0.705882 +0.729412 +0.705882 +0.701961 +0.721569 +0.701961 +0.694118 +0.717647 +0.694118 +0.690196 +0.709804 +0.690196 +0.682353 +0.705882 +0.682353 +0.678431 +0.701961 +0.678431 +0.670588 +0.694118 +0.670588 +0.666667 +0.690196 +0.666667 +0.658824 +0.682353 +0.658824 +0.654902 +0.678431 +0.654902 +0.647059 +0.67451 +0.647059 +0.643137 +0.666667 +0.643137 +0.635294 +0.662745 +0.639216 +0.631373 +0.658824 +0.631373 +0.623529 +0.65098 +0.627451 +0.619608 +0.647059 +0.619608 +0.615686 +0.643137 +0.615686 +0.607843 +0.635294 +0.611765 +0.603922 +0.631373 +0.603922 +0.6 +0.627451 +0.6 +0.592157 +0.619608 +0.596078 +0.588235 +0.615686 +0.588235 +0.580392 +0.611765 +0.584314 +0.576471 +0.607843 +0.580392 +0.572549 +0.6 +0.572549 +0.564706 +0.596078 +0.568627 +0.560784 +0.592157 +0.564706 +0.556863 +0.584314 +0.556863 +0.54902 +0.580392 +0.552941 +0.545098 +0.576471 +0.54902 +0.541176 +0.572549 +0.541176 +0.533333 +0.564706 +0.537255 +0.529412 +0.560784 +0.533333 +0.52549 +0.556863 +0.52549 +0.517647 +0.552941 +0.521569 +0.513725 +0.545098 +0.517647 +0.509804 +0.541176 +0.509804 +0.501961 +0.537255 +0.505882 +0.498039 +0.533333 +0.501961 +0.494118 +0.529412 +0.498039 +0.490196 +0.521569 +0.490196 +0.482353 +0.517647 +0.486275 +0.478431 +0.513725 +0.482353 +0.47451 +0.509804 +0.478431 +0.470588 +0.505882 +0.47451 +0.462745 +0.498039 +0.466667 +0.458824 +0.494118 +0.462745 +0.454902 +0.490196 +0.458824 +0.45098 +0.486275 +0.454902 +0.447059 +0.482353 +0.45098 +0.439216 +0.478431 +0.447059 +0.435294 +0.470588 +0.439216 +0.431373 +0.466667 +0.435294 +0.427451 +0.462745 +0.431373 +0.423529 +0.458824 +0.427451 +0.419608 +0.454902 +0.423529 +0.415686 +0.45098 +0.419608 +0.407843 +0.447059 +0.415686 +0.403922 +0.443137 +0.411765 +0.4 +0.439216 +0.407843 +0.396078 +0.435294 +0.4 +0.392157 +0.431373 +0.396078 +0.388235 +0.427451 +0.392157 +0.384314 +0.419608 +0.388235 +0.380392 +0.415686 +0.384314 +0.376471 +0.411765 +0.380392 +0.372549 +0.407843 +0.376471 +0.364706 +0.403922 +0.372549 +0.360784 +0.4 +0.368627 +0.356863 +0.396078 +0.364706 +0.352941 +0.392157 +0.360784 +0.34902 +0.388235 +0.356863 +0.345098 +0.384314 +0.352941 +0.341176 +0.380392 +0.34902 +0.337255 +0.376471 +0.345098 +0.333333 +0.372549 +0.341176 +0.329412 +0.368627 +0.337255 +0.32549 +0.364706 +0.333333 +0.321569 +0.360784 +0.329412 +0.317647 +0.356863 +0.32549 +0.317647 +0.352941 +0.321569 +0.313725 +0.34902 +0.317647 +0.309804 +0.345098 +0.313725 +0.305882 +0.341176 +0.309804 +0.301961 +0.337255 +0.309804 +0.298039 +0.337255 +0.305882 +0.294118 +0.333333 +0.301961 +0.290196 +0.329412 +0.298039 +0.286275 +0.321569 +0.290196 +0.278431 +0.317647 +0.286275 +0.278431 +0.313725 +0.282353 +0.27451 +0.309804 +0.278431 +0.270588 +0.305882 +0.278431 +0.266667 +0.301961 +0.27451 +0.262745 +0.301961 +0.270588 +0.258824 +0.298039 +0.266667 +0.254902 +0.294118 +0.262745 +0.254902 +0.290196 +0.258824 +0.25098 +0.286275 +0.254902 +0.247059 +0.282353 +0.254902 +0.243137 +0.278431 +0.25098 +0.239216 +0.27451 +0.247059 +0.235294 +0.27451 +0.243137 +0.235294 +0.270588 +0.239216 +0.231373 +0.266667 +0.235294 +0.227451 +0.262745 +0.231373 +0.223529 +0.258824 +0.231373 +0.219608 +0.254902 +0.227451 +0.219608 +0.25098 +0.223529 +0.215686 +0.25098 +0.219608 +0.211765 +0.247059 +0.215686 +0.207843 +0.243137 +0.215686 +0.203922 +0.239216 +0.211765 +0.203922 +0.235294 +0.207843 +0.2 +0.231373 +0.203922 +0.196078 +0.227451 +0.203922 +0.192157 +0.227451 +0.2 +0.192157 +0.223529 +0.196078 +0.188235 +0.219608 +0.192157 +0.184314 +0.215686 +0.188235 +0.180392 +0.211765 +0.188235 +0.176471 +0.207843 +0.184314 +0.176471 +0.207843 +0.180392 +0.172549 +0.203922 +0.176471 +0.168627 +0.2 +0.176471 +0.164706 +0.196078 +0.172549 +0.164706 +0.192157 +0.168627 +0.160784 +0.192157 +0.164706 +0.156863 +0.188235 +0.160784 +0.152941 +0.184314 +0.160784 +0.152941 +0.180392 +0.156863 +0.14902 +0.176471 +0.152941 +0.145098 +0.176471 +0.14902 +0.141176 +0.172549 +0.145098 +0.137255 +0.168627 +0.141176 +0.133333 +0.164706 +0.141176 +0.133333 +0.160784 +0.137255 +0.129412 +0.156863 +0.133333 +0.12549 +0.152941 +0.129412 +0.121569 +0.152941 +0.12549 +0.117647 +0.14902 +0.121569 +0.113725 +0.145098 +0.121569 +0.113725 +0.141176 +0.117647 +0.109804 +0.137255 +0.113725 +0.105882 +0.133333 +0.109804 +0.101961 +0.129412 +0.105882 +0.098039 +0.12549 +0.101961 +0.094118 +0.121569 +0.101961 +0.094118 +0.121569 +0.098039 +0.090196 +0.117647 +0.094118 +0.086275 +0.113725 +0.090196 +0.082353 +0.109804 +0.090196 +0.078431 +0.105882 +0.086275 +0.07451 +0.101961 +0.082353 +0.07451 +0.101961 +0.078431 +0.070588 +0.098039 +0.07451 +0.066667 +0.094118 +0.070588 +0.062745 +0.090196 +0.066667 +0.054902 +0.086275 +0.062745 +0.05098 +0.082353 +0.058824 +0.047059 +0.078431 +0.054902 +0.043137 +0.07451 +0.05098 +0.039216 +0.070588 +0.047059 +0.031373 +0.070588 +0.043137 +0.031373 +0.066667 +0.039216 +0.027451 +0.062745 +0.035294 +0.023529 +0.058824 +0.031373 +0.023529 +0.054902 +0.031373 +0.019608 +0.05098 +0.027451 +0.015686 +0.047059 +0.023529 +0.015686 +0.043137 +0.019608 +0.011765 +0.039216 +0.019608 +0.011765 +0.035294 +0.015686 +0.007843 +0.031373 +0.015686 +0.007843 +0.027451 +0.011765 +0.007843 +0.027451 +0.011765 +0.003922 +0.023529 +0.007843 +0.003922 +0.019608 +0.007843 +0.003922 +0.019608 +0.007843 +0 +0.015686 +0.003922 +0 +0.015686 +0.003922 +0 +0.011765 +0.003922 +0 +0.011765 +0 +0 +0.011765 +0 +0 +0.007843 +0 +0 +0.007843 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0.003922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples1 +2 index 0 get +3 mul 0 add get +xpdfSamples1 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +3 index 0 get +3 mul 1 add get +xpdfSamples1 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +4 index 0 get +3 mul 2 add get +xpdfSamples1 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 17.221 39.334] cm +0 0 m +-2.67 0 l +-2.67 -3.717 l +0 -3.717 l +1.2 -3.717 2.019 -3.033 2.019 -1.865 c +2.019 -0.698 1.2 0 0 0 c +2.084 -10.243 m +-0.419 -5.247 l +-2.67 -5.247 l +-2.67 -10.243 l +-4.466 -10.243 l +-4.466 1.614 l +0.13 1.614 l +2.381 1.614 3.814 0.167 3.814 -1.852 c +3.814 -3.549 2.781 -4.633 1.451 -4.996 c +4.176 -10.243 l +2.084 -10.243 l +f +Q +q +[1 0 0 1 25.331 29.091] cm +0 0 m +0 11.856 l +7.572 11.856 l +7.572 10.243 l +1.796 10.243 l +1.796 6.777 l +6.727 6.777 l +6.727 5.182 l +1.796 5.182 l +1.796 1.614 l +7.572 1.614 l +7.572 0 l +0 0 l +f +Q +q +[1 0 0 1 40.179 28.989] cm +0 0 m +-1.777 0 -3.06 0.419 -4.196 1.568 c +-2.996 2.749 l +-2.131 1.884 -1.182 1.619 0.037 1.619 c +1.581 1.619 2.484 2.284 2.484 3.433 c +2.484 3.949 2.335 4.382 2.019 4.661 c +1.721 4.949 1.423 5.066 0.716 5.164 c +-0.679 5.363 l +-1.647 5.498 -2.409 5.829 -2.93 6.317 c +-3.508 6.861 -3.795 7.61 -3.795 8.582 c +-3.795 10.643 -2.298 12.057 0.167 12.057 c +1.739 12.057 2.828 11.662 3.852 10.708 c +2.698 9.578 l +1.973 10.28 1.116 10.494 0.121 10.494 c +-1.273 10.494 -2.047 9.694 -2.047 8.643 c +-2.047 8.215 -1.907 7.833 -1.6 7.545 c +-1.293 7.28 -0.818 7.08 -0.261 6.996 c +1.088 6.796 l +2.186 6.628 2.8 6.363 3.303 5.912 c +3.953 5.35 4.261 4.498 4.261 3.484 c +4.261 1.303 2.484 0 0 0 c +f +Q +q +[1 0 0 1 54.524 38.534] cm +0 0 m +-0.502 0.549 -1.171 0.8 -2.018 0.8 c +-4.204 0.8 l +-4.204 -7.829 l +-2.018 -7.829 l +-1.171 -7.829 -0.502 -7.577 0 -7.028 c +0.615 -6.345 0.633 -5.061 0.633 -3.428 c +0.633 -1.8 0.615 -0.679 0 0 c +1.229 -8.326 m +0.485 -9.08 -0.604 -9.442 -1.832 -9.442 c +-6 -9.442 l +-6 2.414 l +-1.832 2.414 l +-0.604 2.414 0.485 2.047 1.229 1.298 c +2.513 0.014 2.43 -1.716 2.43 -3.428 c +2.43 -5.145 2.513 -7.043 1.229 -8.326 c +f +Q +q +[1 0 0 1 61.278 29.091] cm +0 0 m +0 11.856 l +7.583 11.856 l +7.583 10.243 l +1.806 10.243 l +1.806 6.777 l +6.729 6.777 l +6.729 5.182 l +1.806 5.182 l +1.806 1.614 l +7.583 1.614 l +7.583 0 l +0 0 l +f +Q +q +[1 0 0 1 80.268 29.091] cm +0 0 m +-5.48 8.345 l +-5.48 0 l +-7.275 0 l +-7.275 11.856 l +-5.629 11.856 l +-0.15 3.53 l +-0.15 11.856 l +1.646 11.856 l +1.646 0 l +0 0 l +f +Q +q +[1 0 0 1 19.648 10.201] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.619 6.331 l +1.089 6.912 0.67 7.13 0 7.13 c +-0.642 7.13 -1.2 6.861 -1.562 6.377 c +-1.926 5.912 -2.065 5.312 -2.065 4.331 c +-2.065 3.344 -1.926 2.731 -1.562 2.265 c +-1.2 1.781 -0.642 1.516 0 1.516 c +0.67 1.516 1.089 1.735 1.619 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 30.123 16.843] cm +0 0 m +-0.316 0.321 -0.743 0.488 -1.247 0.488 c +-1.748 0.488 -2.168 0.321 -2.484 0 c +-2.995 -0.516 -3.061 -1.396 -3.061 -2.311 c +-3.061 -3.228 -2.995 -4.107 -2.484 -4.628 c +-2.168 -4.944 -1.748 -5.126 -1.247 -5.126 c +-0.743 -5.126 -0.316 -4.944 0 -4.628 c +0.512 -4.107 0.586 -3.228 0.586 -2.311 c +0.586 -1.396 0.512 -0.516 0 0 c +1.285 -5.642 m +0.735 -6.209 -0.103 -6.642 -1.247 -6.642 c +-2.4 -6.642 -3.209 -6.209 -3.759 -5.642 c +-4.559 -4.809 -4.764 -3.744 -4.764 -2.311 c +-4.764 -0.897 -4.559 0.168 -3.759 1 c +-3.209 1.568 -2.4 2.005 -1.247 2.005 c +-0.103 2.005 0.735 1.568 1.285 1 c +2.084 0.168 2.279 -0.897 2.279 -2.311 c +2.279 -3.744 2.084 -4.809 1.285 -5.642 c +f +Q +q +[1 0 0 1 41.519 10.298] cm +0 0 m +0 5.145 l +0 6.465 -0.754 7.033 -1.703 7.033 c +-2.651 7.033 -3.452 6.447 -3.452 5.145 c +-3.452 0 l +-5.154 0 l +-5.154 8.447 l +-3.489 8.447 l +-3.489 7.596 l +-2.903 8.229 -2.084 8.545 -1.236 8.545 c +-0.371 8.545 0.344 8.266 0.847 7.782 c +1.488 7.149 1.692 6.349 1.692 5.396 c +1.692 0 l +0 0 l +f +Q +q +[1 0 0 1 50.822 10.201] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.618 6.331 l +1.088 6.912 0.67 7.13 0 7.13 c +-0.651 7.13 -1.199 6.861 -1.562 6.377 c +-1.926 5.912 -2.064 5.312 -2.064 4.331 c +-2.064 3.344 -1.926 2.731 -1.562 2.265 c +-1.199 1.781 -0.651 1.516 0 1.516 c +0.67 1.516 1.088 1.735 1.618 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 61.745 16.364] cm +0 0 m +-0.262 0.633 -0.865 1.066 -1.666 1.066 c +-2.466 1.066 -3.08 0.633 -3.341 0 c +-3.509 -0.386 -3.545 -0.637 -3.564 -1.149 c +0.231 -1.149 l +0.222 -0.637 0.166 -0.386 0 0 c +-3.564 -2.335 m +-3.564 -3.782 -2.791 -4.698 -1.415 -4.698 c +-0.467 -4.698 0.036 -4.428 0.632 -3.833 c +1.72 -4.851 l +0.854 -5.712 0.036 -6.163 -1.443 -6.163 c +-3.564 -6.163 -5.247 -5.047 -5.247 -1.832 c +-5.247 0.898 -3.825 2.484 -1.666 2.484 c +0.603 2.484 1.915 0.819 1.915 -1.581 c +1.915 -2.335 l +-3.564 -2.335 l +f +Q +q +[1 0 0 1 71.039 17.331] cm +0 0 m +-1.526 0 -1.768 -1.302 -1.768 -2.8 c +-1.768 -4.302 -1.526 -5.614 0 -5.614 c +1.535 -5.614 1.748 -4.302 1.748 -2.8 c +1.748 -1.302 1.535 0 0 0 c +2.503 -6.382 m +2.038 -6.847 1.303 -7.13 0.455 -7.13 c +-0.447 -7.13 -1.145 -6.893 -1.768 -6.163 c +-1.768 -10.447 l +-3.46 -10.447 l +-3.46 1.414 l +-1.796 1.414 l +-1.796 0.512 l +-1.162 1.279 -0.483 1.512 0.437 1.512 c +1.284 1.512 2.038 1.233 2.503 0.763 c +3.349 -0.088 3.451 -1.516 3.451 -2.8 c +3.451 -4.084 3.349 -5.53 2.503 -6.382 c +f +Q +q +[1 0 0 1 80.964 10.298] cm +0 0 m +-1.58 0 -2.316 1.135 -2.316 2.349 c +-2.316 7 l +-3.283 7 l +-3.283 8.298 l +-2.316 8.298 l +-2.316 10.862 l +-0.613 10.862 l +-0.613 8.298 l +1.015 8.298 l +1.015 7 l +-0.613 7 l +-0.613 2.433 l +-0.613 1.814 -0.316 1.451 0.317 1.451 c +1.015 1.451 l +1.015 0 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 137.816 42.134] cm +0 0 m +-25.156 0 l +-16.494 8.661 l +0 0 l +f +Q +[0.2] sc +q +[1 0 0 1 102.577 33.524] cm +0 0 m +0 12.252 l +17.786 17.782 l +0 0 l +f +Q +[0.8] sc +q +[1 0 0 1 101.534 20.308] cm +0 0 m +-8.661 8.662 l +0 25.147 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 110.138 10.219] cm +0 0 m +-12.251 0 l +-17.787 17.784 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 114.707 0.5117] cm +0 0 m +-16.485 8.6606 l +8.661 8.6606 l +0 0 l +f +Q +q +0.059998 0.06 143.607 51.247 re +W +[0.302] sc +q +[1 0 0 1 115.666 0] cm +0 0 m +17.787 17.783 l +17.787 5.5302 l +0 0 l +f +Q +Q +[0.698] sc +q +[1 0 0 1 134.495 5.8515] cm +0 0 m +0 25.147 l +8.661 16.486 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 143.667 23.314] cm +0 0 m +-17.787 17.783 l +-5.534 17.783 l +0 0 l +f +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-24.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-24.pdf Binary files differnew file mode 100644 index 00000000000..4b3c4e0c501 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-24.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-25.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-25.eps new file mode 100644 index 00000000000..3242b3df99e --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-25.eps @@ -0,0 +1,2224 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-25.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.613] cm +0 0 m +-0.1645 0.181 -0.3848 0.263 -0.6645 0.263 c +-1.3843 0.263 l +-1.3843 -2.581 l +-0.6645 -2.581 l +-0.3848 -2.581 -0.1645 -2.5 0 -2.318 c +0.2031 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.2031 -0.226 0 0 c +0.4063 -2.746 m +0.1592 -2.994 -0.1973 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.1973 0.796 0.1592 0.675 0.4063 0.428 c +0.8291 0.005 0.8017 -0.566 0.8017 -1.132 c +0.8017 -1.697 0.8291 -2.323 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.876] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -0.999 0.6645 -0.615 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.377 m +-0.1372 -1.729 l +-0.8789 -1.729 l +-0.8789 -3.377 l +-1.4722 -3.377 l +-1.4722 0.533 l +0.044 0.533 l +0.7852 0.533 1.2573 0.055 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.526 0.4775 -1.647 c +1.3779 -3.377 l +0.6865 -3.377 l +f +Q +q +[1 0 0 1 9.0478 24.499] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.377 l +0.5928 3.377 l +0.5928 2.234 l +2.218 2.234 l +2.218 1.708 l +0.5928 1.708 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.466] cm +0 0 m +-0.587 0 -1.011 0.138 -1.384 0.516 c +-0.988 0.906 l +-0.703 0.62 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.132 c +0.818 1.302 0.769 1.444 0.665 1.538 c +0.566 1.631 0.467 1.67 0.236 1.702 c +-0.225 1.769 l +-0.544 1.812 -0.796 1.922 -0.966 2.081 c +-1.159 2.263 -1.252 2.51 -1.252 2.828 c +-1.252 3.509 -0.758 3.977 0.055 3.977 c +0.571 3.977 0.934 3.845 1.269 3.531 c +0.89 3.158 l +0.648 3.389 0.368 3.46 0.039 3.46 c +-0.423 3.46 -0.675 3.196 -0.675 2.851 c +-0.675 2.708 -0.631 2.581 -0.527 2.487 c +-0.428 2.399 -0.269 2.335 -0.088 2.307 c +0.357 2.24 l +0.719 2.185 0.923 2.098 1.087 1.949 c +1.301 1.763 1.406 1.482 1.406 1.147 c +1.406 0.429 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.613] cm +0 0 m +-0.165 0.181 -0.385 0.263 -0.665 0.263 c +-1.384 0.263 l +-1.384 -2.581 l +-0.665 -2.581 l +-0.385 -2.581 -0.165 -2.5 0 -2.318 c +0.204 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.204 -0.226 0 0 c +0.406 -2.746 m +0.159 -2.994 -0.197 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.197 0.796 0.159 0.675 0.406 0.428 c +0.829 0.005 0.802 -0.566 0.802 -1.132 c +0.802 -1.697 0.829 -2.323 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.499] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.377 l +0.593 3.377 l +0.593 2.234 l +2.218 2.234 l +2.218 1.708 l +0.593 1.708 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.499] cm +0 0 m +-1.807 2.751 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.126] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.472 -0.626 2.85 0 2.85 c +0.3848 2.85 0.6533 2.74 0.917 2.461 c +0.5332 2.087 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.263 -0.5161 2.104 c +-0.6367 1.949 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.9 -0.5161 0.747 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.115 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.317] cm +0 0 m +-0.105 0.105 -0.248 0.159 -0.412 0.159 c +-0.577 0.159 -0.7144 0.105 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.462 -1.0107 -0.764 c +-1.0107 -1.065 -0.9888 -1.356 -0.8188 -1.527 c +-0.7144 -1.631 -0.577 -1.691 -0.412 -1.691 c +-0.248 -1.691 -0.105 -1.631 0 -1.527 c +0.17 -1.356 0.192 -1.065 0.192 -0.764 c +0.192 -0.462 0.17 -0.17 0 0 c +0.422 -1.861 m +0.241 -2.049 -0.033 -2.191 -0.412 -2.191 c +-0.7905 -2.191 -1.0606 -2.049 -1.2412 -1.861 c +-1.5044 -1.587 -1.5708 -1.235 -1.5708 -0.764 c +-1.5708 -0.297 -1.5044 0.055 -1.2412 0.329 c +-1.0606 0.516 -0.7905 0.659 -0.412 0.659 c +-0.033 0.659 0.241 0.516 0.422 0.329 c +0.686 0.055 0.752 -0.297 0.752 -0.764 c +0.752 -1.235 0.686 -1.587 0.422 -1.861 c +f +Q +q +[1 0 0 1 14.384 18.159] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.125 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.504 l +-0.956 2.713 -0.687 2.817 -0.407 2.817 c +-0.121 2.817 0.115 2.725 0.28 2.565 c +0.495 2.357 0.561 2.092 0.561 1.779 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.126] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.472 -0.626 2.85 0 2.85 c +0.385 2.85 0.653 2.74 0.917 2.461 c +0.533 2.087 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.263 -0.517 2.104 c +-0.637 1.949 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.9 -0.517 0.747 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.115 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.158] cm +0 0 m +-0.088 0.209 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.209 -1.104 0 c +-1.159 -0.127 -1.169 -0.209 -1.175 -0.379 c +0.077 -0.379 l +0.071 -0.209 0.055 -0.127 0 0 c +-1.175 -0.769 m +-1.175 -1.247 -0.923 -1.549 -0.467 -1.549 c +-0.154 -1.549 0.011 -1.461 0.208 -1.264 c +0.565 -1.599 l +0.28 -1.884 0.011 -2.032 -0.478 -2.032 c +-1.175 -2.032 -1.73 -1.664 -1.73 -0.604 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.268 0.631 -0.523 c +0.631 -0.769 l +-1.175 -0.769 l +f +Q +q +[1 0 0 1 24.118 20.477] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.923 c +-0.583 -1.418 -0.505 -1.851 0 -1.851 c +0.504 -1.851 0.577 -1.418 0.577 -0.923 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.104 m +0.67 -2.257 0.428 -2.351 0.148 -2.351 c +-0.149 -2.351 -0.379 -2.273 -0.583 -2.032 c +-0.583 -3.444 l +-1.143 -3.444 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.423 -0.159 0.499 0.142 0.499 c +0.422 0.499 0.67 0.407 0.823 0.253 c +1.103 -0.028 1.136 -0.5 1.136 -0.923 c +1.136 -1.346 1.103 -1.823 0.823 -2.104 c +f +Q +q +[1 0 0 1 27.39 18.159] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.775 c +-0.764 2.307 l +-1.082 2.307 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.58 l +-0.204 3.58 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.307 l +-0.204 2.307 l +-0.204 0.802 l +-0.204 0.599 -0.105 0.478 0.105 0.478 c +0.335 0.478 l +0.335 0 l +0 0 l +f +Q +q +[1 0 0 1 0.73389 12.113] cm +0 0 m +0 2.752 l +1.708 2.752 l +1.708 2.489 l +0.2939 2.489 l +0.2939 1.52 l +1.4995 1.52 l +1.4995 1.257 l +0.2939 1.257 l +0.2939 0.264 l +1.708 0.264 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.113] cm +0 0 m +-0.4565 0.739 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.971 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.971 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.113] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.517] cm +0 0 m +-0.0732 0.174 -0.2437 0.286 -0.4448 0.286 c +-0.6455 0.286 -0.8154 0.174 -0.8887 0 c +-0.9312 -0.105 -0.939 -0.162 -0.9463 -0.316 c +0.0581 -0.316 l +0.0503 -0.162 0.0425 -0.105 0 0 c +-0.9463 -0.525 m +-0.9463 -0.942 -0.7495 -1.183 -0.3867 -1.183 c +-0.1665 -1.183 -0.0386 -1.116 0.1123 -0.966 c +0.3018 -1.132 l +0.1084 -1.326 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.125 -1.2246 -0.452 c +-1.2246 0.162 -0.9272 0.522 -0.4448 0.522 c +0.0464 0.522 0.3364 0.166 0.3364 -0.397 c +0.3364 -0.525 l +-0.9463 -0.525 l +f +Q +q +[1 0 0 1 10.611 12.113] cm +0 0 m +-0.332 0 -0.483 0.217 -0.483 0.507 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.113] cm +0 0 m +-0.333 0 -0.483 0.217 -0.483 0.507 c +-0.483 2.752 l +-0.205 2.752 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.517] cm +0 0 m +-0.073 0.174 -0.244 0.286 -0.445 0.286 c +-0.646 0.286 -0.815 0.174 -0.889 0 c +-0.931 -0.105 -0.939 -0.162 -0.947 -0.316 c +0.058 -0.316 l +0.05 -0.162 0.043 -0.105 0 0 c +-0.947 -0.525 m +-0.947 -0.942 -0.75 -1.183 -0.387 -1.183 c +-0.167 -1.183 -0.039 -1.116 0.112 -0.966 c +0.302 -1.132 l +0.108 -1.326 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.125 -1.225 -0.452 c +-1.225 0.162 -0.928 0.522 -0.445 0.522 c +0.046 0.522 0.336 0.166 0.336 -0.397 c +0.336 -0.525 l +-0.947 -0.525 l +f +Q +q +[1 0 0 1 16.699 12.113] cm +0 0 m +0 1.171 l +0 1.508 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.504 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.848 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.747 c +0.216 1.616 0.278 1.438 0.278 1.218 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.113] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.991] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.336 c +-0.959 -0.557 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.649 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.205 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.85 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.85 -1.086 -0.727 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.008 -0.997 0.208 -0.572 0.208 c +0 0.208 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.113] cm +0 0 m +0 0.213 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.155 c +-1.164 0.286 -1.221 0.468 -1.221 0.688 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.225 -0.479 0.225 c +-0.193 0.225 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.091] cm +0 0 m +-0.321 0 -0.572 0.073 -0.78 0.274 c +-0.595 0.46 l +-0.444 0.301 -0.24 0.239 -0.003 0.239 c +0.309 0.239 0.503 0.352 0.503 0.575 c +0.503 0.742 0.406 0.835 0.186 0.854 c +-0.127 0.881 l +-0.498 0.912 -0.695 1.078 -0.695 1.391 c +-0.695 1.739 -0.402 1.948 0.004 1.948 c +0.274 1.948 0.518 1.882 0.689 1.743 c +0.507 1.562 l +0.371 1.666 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.592 -0.425 1.399 c +-0.425 1.237 -0.332 1.14 -0.092 1.121 c +0.213 1.094 l +0.545 1.063 0.773 0.935 0.773 0.579 c +0.773 0.213 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0693] cm +0 0 m +-0.2744 0 l +-0.8848 2.2021 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.751 l +-2.1602 2.751 l +-1.623 0.5322 l +-1.0161 2.751 l +-0.7534 2.751 l +-0.1465 0.5322 l +0.3906 2.751 l +0.7031 2.751 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9697] cm +0 0 m +0.27832 0 l +0.27832 -1.9004 l +0 -1.9004 l +0 0 l +h +-0.0156 0.8545 m +0.29788 0.8545 l +0.29788 0.542 l +-0.0156 0.542 l +-0.0156 0.8545 l +h +f +Q +q +[1 0 0 1 6.5166 6.0459] cm +0 0 m +-0.3203 0 -0.5718 0.0732 -0.7808 0.2734 c +-0.5952 0.4599 l +-0.4443 0.3007 -0.2393 0.2382 -0.0039 0.2382 c +0.3101 0.2382 0.5029 0.3505 0.5029 0.5752 c +0.5029 0.7412 0.4063 0.8349 0.1855 0.8535 c +-0.1269 0.8798 l +-0.4981 0.9111 -0.6958 1.0781 -0.6958 1.3906 c +-0.6958 1.7382 -0.4014 1.9472 0.0044 1.9472 c +0.2744 1.9472 0.5181 1.8818 0.688 1.7421 c +0.5064 1.5605 l +0.3711 1.665 0.1973 1.7119 0 1.7119 c +-0.2778 1.7119 -0.4248 1.5918 -0.4248 1.3984 c +-0.4248 1.2363 -0.332 1.1396 -0.0923 1.1201 c +0.2129 1.0937 l +0.5454 1.0615 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.0459] cm +0 0 m +-0.3208 0 -0.5718 0.0732 -0.7812 0.2734 c +-0.5952 0.4599 l +-0.4448 0.3007 -0.2397 0.2382 -0.0039 0.2382 c +0.3091 0.2382 0.5024 0.3505 0.5024 0.5752 c +0.5024 0.7412 0.4058 0.8349 0.1851 0.8535 c +-0.1274 0.8798 l +-0.499 0.9111 -0.6958 1.0781 -0.6958 1.3906 c +-0.6958 1.7382 -0.4019 1.9472 0.0039 1.9472 c +0.2739 1.9472 0.5176 1.8818 0.688 1.7421 c +0.5059 1.5605 l +0.3706 1.665 0.1973 1.7119 0 1.7119 c +-0.2783 1.7119 -0.4253 1.5918 -0.4253 1.3984 c +-0.4253 1.2363 -0.3325 1.1396 -0.0933 1.1201 c +0.2124 1.0937 l +0.5449 1.0615 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4716] cm +0 0 m +-0.073 0.1739 -0.244 0.2862 -0.445 0.2862 c +-0.645 0.2862 -0.815 0.1739 -0.889 0 c +-0.931 -0.1045 -0.939 -0.163 -0.947 -0.3173 c +0.058 -0.3173 l +0.05 -0.163 0.043 -0.1045 0 0 c +-0.947 -0.5263 m +-0.947 -0.9433 -0.749 -1.1826 -0.387 -1.1826 c +-0.167 -1.1826 -0.038 -1.1171 0.112 -0.9658 c +0.302 -1.1328 l +0.108 -1.3252 -0.07 -1.4257 -0.394 -1.4257 c +-0.896 -1.4257 -1.225 -1.125 -1.225 -0.4521 c +-1.225 0.1621 -0.928 0.5215 -0.445 0.5215 c +0.046 0.5215 0.336 0.1661 0.336 -0.3984 c +0.336 -0.5263 l +-0.947 -0.5263 l +f +Q +q +[1 0 0 1 14.262 6.0693] cm +0 0 m +0 1.1699 l +0 1.5068 -0.182 1.6768 -0.467 1.6768 c +-0.753 1.6768 -0.939 1.5029 -0.939 1.1699 c +-0.939 0 l +-1.218 0 l +-1.218 1.9004 l +-0.939 1.9004 l +-0.939 1.6924 l +-0.803 1.8467 -0.618 1.9238 -0.406 1.9238 c +-0.201 1.9238 -0.034 1.8623 0.081 1.7471 c +0.217 1.6143 0.278 1.4365 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.0459] cm +0 0 m +-0.321 0 -0.572 0.0732 -0.781 0.2734 c +-0.595 0.4599 l +-0.445 0.3007 -0.24 0.2382 -0.004 0.2382 c +0.309 0.2382 0.503 0.3505 0.503 0.5752 c +0.503 0.7412 0.406 0.8349 0.186 0.8535 c +-0.127 0.8798 l +-0.498 0.9111 -0.696 1.0781 -0.696 1.3906 c +-0.696 1.7382 -0.402 1.9472 0.004 1.9472 c +0.274 1.9472 0.518 1.8818 0.688 1.7421 c +0.506 1.5605 l +0.371 1.665 0.197 1.7119 0 1.7119 c +-0.278 1.7119 -0.425 1.5918 -0.425 1.3984 c +-0.425 1.2363 -0.332 1.1396 -0.092 1.1201 c +0.212 1.0937 l +0.545 1.0615 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.0459] cm +0 0 m +-0.479 0 -0.842 0.3242 -0.842 0.9736 c +-0.842 1.622 -0.479 1.9472 0 1.9472 c +0.263 1.9472 0.429 1.8769 0.626 1.665 c +0.437 1.4873 l +0.294 1.6455 0.182 1.6992 0 1.6992 c +-0.185 1.6992 -0.339 1.6269 -0.44 1.4834 c +-0.529 1.3593 -0.564 1.2138 -0.564 0.9736 c +-0.564 0.7343 -0.529 0.5859 -0.44 0.4628 c +-0.339 0.3203 -0.185 0.247 0 0.247 c +0.182 0.247 0.294 0.3046 0.437 0.4628 c +0.626 0.2812 l +0.429 0.0683 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0693] cm +0 0 m +0 1.1738 l +0 1.5068 -0.178 1.6768 -0.464 1.6768 c +-0.75 1.6768 -0.94 1.5029 -0.94 1.1738 c +-0.94 0 l +-1.218 0 l +-1.218 2.751 l +-0.94 2.751 l +-0.94 1.6924 l +-0.8 1.8506 -0.619 1.9238 -0.406 1.9238 c +0.023 1.9238 0.278 1.6494 0.278 1.2207 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9453] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1153 -0.959 -0.335 c +-0.959 -0.5557 -0.823 -0.6602 -0.522 -0.6602 c +-0.359 -0.6602 -0.216 -0.6494 -0.097 -0.5332 c +-0.031 -0.4707 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.876 m +0 -0.6944 l +-0.155 -0.8496 -0.294 -0.9004 -0.549 -0.9004 c +-0.812 -0.9004 -0.966 -0.8496 -1.086 -0.7256 c +-1.179 -0.6328 -1.229 -0.4903 -1.229 -0.3399 c +-1.229 -0.0069 -0.998 0.209 -0.573 0.209 c +0 0.209 l +0 0.3906 l +0 0.6689 -0.139 0.8076 -0.487 0.8076 c +-0.731 0.8076 -0.854 0.75 -0.966 0.5918 c +-1.156 0.7656 l +-0.986 0.9863 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8281 0.278 0.414 c +0.278 -0.876 l +0 -0.876 l +f +Q +q +[1 0 0 1 25.75 7.7461] cm +0 0 m +0 -1.6768 l +-0.278 -1.6768 l +-0.278 0 l +-0.521 0 l +-0.521 0.2119 l +-0.278 0.2119 l +-0.278 0.5712 l +-0.278 0.8535 -0.12 1.082 0.204 1.082 c +0.406 1.082 l +0.406 0.8427 l +0.255 0.8427 l +0.078 0.8427 0 0.7382 0 0.5634 c +0 0.2119 l +0.406 0.2119 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0693] cm +0 0 m +-0.325 0 -0.487 0.2275 -0.487 0.5098 c +-0.487 1.6768 l +-0.727 1.6768 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4844 l +-0.209 2.4844 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6768 l +-0.209 1.6768 l +-0.209 0.5176 l +-0.209 0.3437 -0.128 0.2393 0.05 0.2393 c +0.197 0.2393 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.023403] cm +0 0 m +0 0.21189 l +-0.1348 0.057606 -0.3247 -0.023403 -0.5371 -0.023403 c +-0.7422 -0.023403 -0.9121 0.039104 -1.0273 0.1543 c +-1.1631 0.28611 -1.2207 0.4678 -1.2207 0.6875 c +-1.2207 1.9014 l +-0.9424 1.9014 l +-0.9424 0.7305 l +-0.9424 0.3945 -0.7646 0.2236 -0.479 0.2236 c +-0.1929 0.2236 -0.0039 0.3984 -0.0039 0.7305 c +-0.0039 1.9014 l +0.2744 1.9014 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.023403] cm +0 0 m +0 1.1709 l +0 1.5078 -0.181 1.6777 -0.4673 1.6777 c +-0.7534 1.6777 -0.939 1.5029 -0.939 1.1709 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9014 l +-0.939 1.9014 l +-0.939 1.6924 l +-0.8037 1.8477 -0.6182 1.9248 -0.4058 1.9248 c +-0.201 1.9248 -0.035 1.8623 0.081 1.7471 c +0.217 1.6152 0.278 1.4375 0.278 1.2178 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.7011] cm +0 0 m +-0.413 0 -0.479 -0.3564 -0.479 -0.72751 c +-0.479 -1.0986 -0.413 -1.4541 0 -1.4541 c +0.413 -1.4541 0.475 -1.0986 0.475 -0.72751 c +0.475 -0.3564 0.413 0 0 0 c +0.479 -1.6777 m +0.479 -1.4492 l +0.325 -1.6504 0.147 -1.7011 -0.062 -1.7011 c +-0.255 -1.7011 -0.425 -1.6357 -0.526 -1.5351 c +-0.719 -1.3418 -0.757 -1.0254 -0.757 -0.72751 c +-0.757 -0.4297 -0.719 -0.1123 -0.526 0.0811 c +-0.425 0.1807 -0.255 0.2471 -0.062 0.2471 c +0.147 0.2471 0.321 0.2012 0.475 0.003 c +0.475 1.0743 l +0.753 1.0743 l +0.753 -1.6777 l +0.479 -1.6777 l +f +Q +q +[1 0 0 1 17.264 0.023403] cm +0 0 m +-0.838 1.4648 l +-1.419 0.7686 l +-1.419 0 l +-1.712 0 l +-1.712 2.752 l +-1.419 2.752 l +-1.419 1.1709 l +-0.135 2.752 l +0.224 2.752 l +-0.642 1.6885 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.023403] cm +0 0 m +0 0.21189 l +-0.135 0.057606 -0.324 -0.023403 -0.538 -0.023403 c +-0.742 -0.023403 -0.912 0.039104 -1.028 0.1543 c +-1.163 0.28611 -1.221 0.4678 -1.221 0.6875 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.274 1.9014 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.023403] cm +0 0 m +-0.333 0 -0.483 0.21581 -0.483 0.5068 c +-0.483 2.752 l +-0.206 2.752 l +-0.206 0.5176 l +-0.206 0.332 -0.144 0.2402 0.05 0.2402 c +0.201 0.2402 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.023403] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5098 c +-0.487 1.6777 l +-0.727 1.6777 l +-0.727 1.8896 l +-0.487 1.8896 l +-0.487 2.4853 l +-0.209 2.4853 l +-0.209 1.8896 l +0.197 1.8896 l +0.197 1.6777 l +-0.209 1.6777 l +-0.209 0.5176 l +-0.209 0.3437 -0.128 0.2402 0.05 0.2402 c +0.197 0.2402 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.023403] cm +0 0 m +0 0.21189 l +-0.135 0.057606 -0.325 -0.023403 -0.537 -0.023403 c +-0.742 -0.023403 -0.912 0.039104 -1.028 0.1543 c +-1.163 0.28611 -1.221 0.4678 -1.221 0.6875 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2236 -0.479 0.2236 c +-0.193 0.2236 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.275 1.9014 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.5615] cm +0 0 m +-0.104 0.1045 -0.181 0.1396 -0.328 0.1396 c +-0.607 0.1396 -0.784 -0.0811 -0.784 -0.3711 c +-0.784 -1.5381 l +-1.062 -1.5381 l +-1.062 0.3633 l +-0.784 0.3633 l +-0.784 0.1318 l +-0.68 0.29 -0.471 0.3857 -0.251 0.3857 c +-0.069 0.3857 0.07 0.3437 0.205 0.209 c +0 0 l +f +Q +Q +[0.4] sc +q +[1 0 0 1 30.641 62.981] cm +0 0 m +-16.953 0 l +-11.114 5.837 l +0 0 l +f +Q +[0.2] sc +q +[1 0 0 1 6.8892 57.18] cm +0 0 m +0 8.255 l +11.988 11.985 l +0 0 l +f +Q +[0.8] sc +q +[1 0 0 1 6.1851 48.27] cm +0 0 m +-5.8384 5.838 l +0 16.951 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 11.987 41.472] cm +0 0 m +-8.2568 0 l +-11.987 11.985 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 15.065 34.929] cm +0 0 m +-11.115 5.837 l +5.838 5.837 l +0 0 l +f +Q +[0.302] sc +q +[1 0 0 1 15.709 34.583] cm +0 0 m +11.987 11.986 l +11.987 3.73 l +0 0 l +f +Q +[0.698] sc +q +[1 0 0 1 28.401 38.527] cm +0 0 m +0 16.951 l +5.838 11.113 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +[0.6] sc +q +[1 0 0 1 34.582 50.296] cm +0 0 m +-11.987 11.985 l +-3.731 11.985 l +0 0 l +f +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-25.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-25.pdf Binary files differnew file mode 100644 index 00000000000..89dc42e674d --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-25.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-27.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-27.eps new file mode 100644 index 00000000000..b4b8585044b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-27.eps @@ -0,0 +1,2428 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-27.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.667 51.307 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.667 51.307 re +W +q +q +1 i +0.059998 0.06 143.607 51.247 re +W +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +q +[1 0 0 1 5.9912 38.533] cm +0 0 m +-0.4922 0.549 -1.1631 0.801 -2.0098 0.801 c +-4.1963 0.801 l +-4.1963 -7.828 l +-2.0098 -7.828 l +-1.1631 -7.828 -0.4922 -7.577 0 -7.028 c +0.624 -6.345 0.6328 -5.061 0.6328 -3.428 c +0.6328 -1.8 0.624 -0.679 0 0 c +1.2373 -8.326 m +0.4932 -9.079 -0.5947 -9.442 -1.8242 -9.442 c +-5.9912 -9.442 l +-5.9912 2.414 l +-1.8242 2.414 l +-0.5947 2.414 0.4932 2.047 1.2373 1.298 c +2.5215 0.015 2.4375 -1.716 2.4375 -3.428 c +2.4375 -5.145 2.5215 -7.042 1.2373 -8.326 c +f +Q +Q +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples1 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples1 +2 index 0 get +3 mul 0 add get +xpdfSamples1 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +3 index 0 get +3 mul 1 add get +xpdfSamples1 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +4 index 0 get +3 mul 2 add get +xpdfSamples1 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[1] sc +false op +false OP +1 i +q +[1 0 0 1 17.221 39.334] cm +0 0 m +-2.67 0 l +-2.67 -3.717 l +0 -3.717 l +1.2 -3.717 2.019 -3.033 2.019 -1.865 c +2.019 -0.698 1.2 0 0 0 c +2.084 -10.243 m +-0.419 -5.247 l +-2.67 -5.247 l +-2.67 -10.243 l +-4.466 -10.243 l +-4.466 1.613 l +0.13 1.613 l +2.381 1.613 3.814 0.167 3.814 -1.852 c +3.814 -3.55 2.781 -4.633 1.451 -4.996 c +4.176 -10.243 l +2.084 -10.243 l +f +Q +q +[1 0 0 1 25.331 29.091] cm +0 0 m +0 11.856 l +7.572 11.856 l +7.572 10.243 l +1.796 10.243 l +1.796 6.777 l +6.727 6.777 l +6.727 5.182 l +1.796 5.182 l +1.796 1.614 l +7.572 1.614 l +7.572 0 l +0 0 l +f +Q +q +[1 0 0 1 40.179 28.988] cm +0 0 m +-1.777 0 -3.06 0.419 -4.196 1.568 c +-2.996 2.749 l +-2.131 1.885 -1.182 1.619 0.037 1.619 c +1.581 1.619 2.484 2.284 2.484 3.434 c +2.484 3.949 2.335 4.382 2.019 4.661 c +1.721 4.949 1.423 5.066 0.716 5.164 c +-0.679 5.363 l +-1.647 5.498 -2.409 5.829 -2.93 6.317 c +-3.508 6.861 -3.795 7.61 -3.795 8.582 c +-3.795 10.644 -2.298 12.058 0.167 12.058 c +1.739 12.058 2.828 11.662 3.852 10.708 c +2.698 9.578 l +1.973 10.28 1.116 10.494 0.121 10.494 c +-1.273 10.494 -2.047 9.694 -2.047 8.643 c +-2.047 8.215 -1.907 7.834 -1.6 7.545 c +-1.293 7.28 -0.818 7.08 -0.261 6.996 c +1.088 6.796 l +2.186 6.629 2.8 6.363 3.303 5.912 c +3.953 5.35 4.261 4.498 4.261 3.484 c +4.261 1.303 2.484 0 0 0 c +f +Q +q +[1 0 0 1 54.524 38.533] cm +0 0 m +-0.502 0.549 -1.171 0.801 -2.018 0.801 c +-4.204 0.801 l +-4.204 -7.828 l +-2.018 -7.828 l +-1.171 -7.828 -0.502 -7.577 0 -7.028 c +0.615 -6.345 0.633 -5.061 0.633 -3.428 c +0.633 -1.8 0.615 -0.679 0 0 c +1.229 -8.326 m +0.485 -9.079 -0.604 -9.442 -1.832 -9.442 c +-6 -9.442 l +-6 2.414 l +-1.832 2.414 l +-0.604 2.414 0.485 2.047 1.229 1.298 c +2.513 0.015 2.43 -1.716 2.43 -3.428 c +2.43 -5.145 2.513 -7.042 1.229 -8.326 c +f +Q +q +[1 0 0 1 61.278 29.091] cm +0 0 m +0 11.856 l +7.583 11.856 l +7.583 10.243 l +1.806 10.243 l +1.806 6.777 l +6.729 6.777 l +6.729 5.182 l +1.806 5.182 l +1.806 1.614 l +7.583 1.614 l +7.583 0 l +0 0 l +f +Q +q +[1 0 0 1 80.268 29.091] cm +0 0 m +-5.48 8.345 l +-5.48 0 l +-7.275 0 l +-7.275 11.856 l +-5.629 11.856 l +-0.15 3.53 l +-0.15 11.856 l +1.646 11.856 l +1.646 0 l +0 0 l +f +Q +q +[1 0 0 1 19.648 10.2] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.642 0 8.642 c +1.163 8.642 1.981 8.313 2.781 7.461 c +1.619 6.331 l +1.089 6.912 0.67 7.131 0 7.131 c +-0.642 7.131 -1.2 6.861 -1.562 6.377 c +-1.926 5.912 -2.065 5.313 -2.065 4.331 c +-2.065 3.345 -1.926 2.73 -1.562 2.266 c +-1.2 1.781 -0.642 1.517 0 1.517 c +0.67 1.517 1.089 1.735 1.619 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 30.123 16.843] cm +0 0 m +-0.316 0.321 -0.743 0.488 -1.247 0.488 c +-1.748 0.488 -2.168 0.321 -2.484 0 c +-2.995 -0.517 -3.061 -1.396 -3.061 -2.311 c +-3.061 -3.229 -2.995 -4.107 -2.484 -4.628 c +-2.168 -4.944 -1.748 -5.126 -1.247 -5.126 c +-0.743 -5.126 -0.316 -4.944 0 -4.628 c +0.512 -4.107 0.586 -3.229 0.586 -2.311 c +0.586 -1.396 0.512 -0.517 0 0 c +1.285 -5.642 m +0.735 -6.21 -0.103 -6.642 -1.247 -6.642 c +-2.4 -6.642 -3.209 -6.21 -3.759 -5.642 c +-4.559 -4.809 -4.764 -3.744 -4.764 -2.311 c +-4.764 -0.897 -4.559 0.167 -3.759 1 c +-3.209 1.567 -2.4 2.005 -1.247 2.005 c +-0.103 2.005 0.735 1.567 1.285 1 c +2.084 0.167 2.279 -0.897 2.279 -2.311 c +2.279 -3.744 2.084 -4.809 1.285 -5.642 c +f +Q +q +[1 0 0 1 41.519 10.298] cm +0 0 m +0 5.145 l +0 6.466 -0.754 7.033 -1.703 7.033 c +-2.651 7.033 -3.452 6.447 -3.452 5.145 c +-3.452 0 l +-5.154 0 l +-5.154 8.447 l +-3.489 8.447 l +-3.489 7.596 l +-2.903 8.229 -2.084 8.545 -1.236 8.545 c +-0.371 8.545 0.344 8.266 0.847 7.782 c +1.488 7.149 1.692 6.35 1.692 5.395 c +1.692 0 l +0 0 l +f +Q +q +[1 0 0 1 50.822 10.2] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.642 0 8.642 c +1.163 8.642 1.981 8.313 2.781 7.461 c +1.618 6.331 l +1.088 6.912 0.67 7.131 0 7.131 c +-0.651 7.131 -1.199 6.861 -1.562 6.377 c +-1.926 5.912 -2.064 5.313 -2.064 4.331 c +-2.064 3.345 -1.926 2.73 -1.562 2.266 c +-1.199 1.781 -0.651 1.517 0 1.517 c +0.67 1.517 1.088 1.735 1.618 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 61.745 16.363] cm +0 0 m +-0.262 0.633 -0.865 1.066 -1.666 1.066 c +-2.466 1.066 -3.08 0.633 -3.341 0 c +-3.509 -0.386 -3.545 -0.637 -3.564 -1.148 c +0.231 -1.148 l +0.222 -0.637 0.166 -0.386 0 0 c +-3.564 -2.335 m +-3.564 -3.781 -2.791 -4.697 -1.415 -4.697 c +-0.467 -4.697 0.036 -4.428 0.632 -3.833 c +1.72 -4.851 l +0.854 -5.712 0.036 -6.163 -1.443 -6.163 c +-3.564 -6.163 -5.247 -5.047 -5.247 -1.832 c +-5.247 0.899 -3.825 2.484 -1.666 2.484 c +0.603 2.484 1.915 0.819 1.915 -1.581 c +1.915 -2.335 l +-3.564 -2.335 l +f +Q +q +[1 0 0 1 71.039 17.331] cm +0 0 m +-1.526 0 -1.768 -1.303 -1.768 -2.8 c +-1.768 -4.303 -1.526 -5.614 0 -5.614 c +1.535 -5.614 1.748 -4.303 1.748 -2.8 c +1.748 -1.303 1.535 0 0 0 c +2.503 -6.382 m +2.038 -6.847 1.303 -7.131 0.455 -7.131 c +-0.447 -7.131 -1.145 -6.893 -1.768 -6.163 c +-1.768 -10.447 l +-3.46 -10.447 l +-3.46 1.414 l +-1.796 1.414 l +-1.796 0.512 l +-1.162 1.279 -0.483 1.512 0.437 1.512 c +1.284 1.512 2.038 1.232 2.503 0.763 c +3.349 -0.088 3.451 -1.517 3.451 -2.8 c +3.451 -4.084 3.349 -5.53 2.503 -6.382 c +f +Q +q +[1 0 0 1 80.964 10.298] cm +0 0 m +-1.58 0 -2.316 1.135 -2.316 2.35 c +-2.316 7.001 l +-3.283 7.001 l +-3.283 8.299 l +-2.316 8.299 l +-2.316 10.862 l +-0.613 10.862 l +-0.613 8.299 l +1.015 8.299 l +1.015 7.001 l +-0.613 7.001 l +-0.613 2.433 l +-0.613 1.814 -0.316 1.451 0.317 1.451 c +1.015 1.451 l +1.015 0 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 137.816 42.134] cm +0 0 m +-25.156 0 l +-16.494 8.661 l +0 0 l +f +Q +[0.2] sc +q +[1 0 0 1 102.577 33.524] cm +0 0 m +0 12.252 l +17.786 17.782 l +0 0 l +f +Q +[0.8] sc +q +[1 0 0 1 101.534 20.308] cm +0 0 m +-8.661 8.662 l +0 25.147 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 110.138 10.219] cm +0 0 m +-12.251 0 l +-17.787 17.784 l +0 0 l +f +Q +[0.4] sc +q +[1 0 0 1 114.707 0.5117] cm +0 0 m +-16.485 8.6601 l +8.661 8.6601 l +0 0 l +f +Q +q +0.059998 0.06 143.607 51.247 re +W +[0.302] sc +q +[1 0 0 1 115.666 0] cm +0 0 m +17.787 17.782 l +17.787 5.5302 l +0 0 l +f +Q +Q +[0.698] sc +q +[1 0 0 1 134.495 5.8515] cm +0 0 m +0 25.146 l +8.661 16.485 l +0 0 l +f +Q +[0.6] sc +q +[1 0 0 1 143.667 23.313] cm +0 0 m +-17.787 17.783 l +-5.534 17.783 l +0 0 l +f +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-27.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-27.pdf Binary files differnew file mode 100644 index 00000000000..a8d825905d4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-27.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-28.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-28.eps new file mode 100644 index 00000000000..c724f43dba8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-28.eps @@ -0,0 +1,2216 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-28.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 35 70 +%%HiResBoundingBox: 0 0 34.582 69.165 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 34.582 69.165 re +W +q +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[0] sc +false op +false OP +1 i +q +[1 0 0 1 2.6743 27.613] cm +0 0 m +-0.1645 0.181 -0.3848 0.263 -0.6645 0.263 c +-1.3843 0.263 l +-1.3843 -2.581 l +-0.6645 -2.581 l +-0.3848 -2.581 -0.1645 -2.5 0 -2.318 c +0.2031 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.2031 -0.225 0 0 c +0.4063 -2.746 m +0.1592 -2.994 -0.1973 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.1973 0.796 0.1592 0.675 0.4063 0.428 c +0.8291 0.005 0.8017 -0.566 0.8017 -1.132 c +0.8017 -1.697 0.8291 -2.323 0.4063 -2.746 c +f +Q +q +[1 0 0 1 6.3745 27.876] cm +0 0 m +-0.8789 0 l +-0.8789 -1.225 l +0 -1.225 l +0.395 -1.225 0.6645 -1 0.6645 -0.616 c +0.6645 -0.23 0.395 0 0 0 c +0.6865 -3.377 m +-0.1372 -1.73 l +-0.8789 -1.73 l +-0.8789 -3.377 l +-1.4722 -3.377 l +-1.4722 0.533 l +0.044 0.533 l +0.7852 0.533 1.2573 0.054 1.2573 -0.609 c +1.2573 -1.169 0.917 -1.527 0.4775 -1.647 c +1.3779 -3.377 l +0.6865 -3.377 l +f +Q +q +[1 0 0 1 9.0478 24.499] cm +0 0 m +0 3.91 l +2.499 3.91 l +2.499 3.377 l +0.5928 3.377 l +0.5928 2.235 l +2.218 2.235 l +2.218 1.708 l +0.5928 1.708 l +0.5928 0.533 l +2.499 0.533 l +2.499 0 l +0 0 l +f +Q +q +[1 0 0 1 13.945 24.466] cm +0 0 m +-0.587 0 -1.011 0.137 -1.384 0.516 c +-0.988 0.906 l +-0.703 0.62 -0.39 0.532 0.011 0.532 c +0.522 0.532 0.818 0.752 0.818 1.131 c +0.818 1.301 0.769 1.444 0.665 1.538 c +0.566 1.631 0.467 1.669 0.236 1.702 c +-0.225 1.768 l +-0.544 1.812 -0.796 1.921 -0.966 2.081 c +-1.159 2.262 -1.252 2.51 -1.252 2.828 c +-1.252 3.509 -0.758 3.976 0.055 3.976 c +0.571 3.976 0.934 3.844 1.269 3.531 c +0.89 3.158 l +0.648 3.388 0.368 3.459 0.039 3.459 c +-0.423 3.459 -0.675 3.196 -0.675 2.85 c +-0.675 2.708 -0.631 2.581 -0.527 2.487 c +-0.428 2.399 -0.269 2.334 -0.088 2.306 c +0.357 2.24 l +0.719 2.185 0.923 2.098 1.087 1.949 c +1.301 1.762 1.406 1.482 1.406 1.147 c +1.406 0.428 0.818 0 0 0 c +f +Q +q +[1 0 0 1 18.672 27.613] cm +0 0 m +-0.165 0.181 -0.385 0.263 -0.665 0.263 c +-1.384 0.263 l +-1.384 -2.581 l +-0.665 -2.581 l +-0.385 -2.581 -0.165 -2.5 0 -2.318 c +0.204 -2.093 0.209 -1.67 0.209 -1.132 c +0.209 -0.594 0.204 -0.225 0 0 c +0.406 -2.746 m +0.159 -2.994 -0.197 -3.114 -0.604 -3.114 c +-1.977 -3.114 l +-1.977 0.796 l +-0.604 0.796 l +-0.197 0.796 0.159 0.675 0.406 0.428 c +0.829 0.005 0.802 -0.566 0.802 -1.132 c +0.802 -1.697 0.829 -2.323 0.406 -2.746 c +f +Q +q +[1 0 0 1 20.9 24.499] cm +0 0 m +0 3.91 l +2.498 3.91 l +2.498 3.377 l +0.593 3.377 l +0.593 2.235 l +2.218 2.235 l +2.218 1.708 l +0.593 1.708 l +0.593 0.533 l +2.498 0.533 l +2.498 0 l +0 0 l +f +Q +q +[1 0 0 1 27.16 24.499] cm +0 0 m +-1.807 2.751 l +-1.807 0 l +-2.4 0 l +-2.4 3.91 l +-1.857 3.91 l +-0.05 1.164 l +-0.05 3.91 l +0.544 3.91 l +0.544 0 l +0 0 l +f +Q +q +[1 0 0 1 7.1758 18.125] cm +0 0 m +-0.626 0 -1.2412 0.385 -1.2412 1.428 c +-1.2412 2.472 -0.626 2.85 0 2.85 c +0.3848 2.85 0.6533 2.74 0.917 2.461 c +0.5332 2.087 l +0.3569 2.279 0.2197 2.351 0 2.351 c +-0.2139 2.351 -0.395 2.263 -0.5161 2.104 c +-0.6367 1.95 -0.6807 1.752 -0.6807 1.428 c +-0.6807 1.104 -0.6367 0.901 -0.5161 0.747 c +-0.395 0.588 -0.2139 0.5 0 0.5 c +0.2197 0.5 0.3569 0.572 0.5332 0.764 c +0.917 0.396 l +0.6533 0.115 0.3848 0 0 0 c +f +Q +q +[1 0 0 1 10.629 20.317] cm +0 0 m +-0.105 0.104 -0.248 0.159 -0.412 0.159 c +-0.577 0.159 -0.7144 0.104 -0.8188 0 c +-0.9888 -0.17 -1.0107 -0.462 -1.0107 -0.764 c +-1.0107 -1.066 -0.9888 -1.357 -0.8188 -1.527 c +-0.7144 -1.631 -0.577 -1.691 -0.412 -1.691 c +-0.248 -1.691 -0.105 -1.631 0 -1.527 c +0.17 -1.357 0.192 -1.066 0.192 -0.764 c +0.192 -0.462 0.17 -0.17 0 0 c +0.422 -1.861 m +0.241 -2.048 -0.033 -2.192 -0.412 -2.192 c +-0.7905 -2.192 -1.0606 -2.048 -1.2412 -1.861 c +-1.5044 -1.587 -1.5708 -1.235 -1.5708 -0.764 c +-1.5708 -0.296 -1.5044 0.055 -1.2412 0.329 c +-1.0606 0.516 -0.7905 0.659 -0.412 0.659 c +-0.033 0.659 0.241 0.516 0.422 0.329 c +0.686 0.055 0.752 -0.296 0.752 -0.764 c +0.752 -1.235 0.686 -1.587 0.422 -1.861 c +f +Q +q +[1 0 0 1 14.384 18.159] cm +0 0 m +0 1.696 l +0 2.13 -0.248 2.317 -0.56 2.317 c +-0.873 2.317 -1.137 2.125 -1.137 1.696 c +-1.137 0 l +-1.697 0 l +-1.697 2.784 l +-1.148 2.784 l +-1.148 2.504 l +-0.956 2.712 -0.687 2.817 -0.407 2.817 c +-0.121 2.817 0.115 2.724 0.28 2.564 c +0.495 2.356 0.561 2.092 0.561 1.779 c +0.561 0 l +0 0 l +f +Q +q +[1 0 0 1 17.453 18.125] cm +0 0 m +-0.626 0 -1.241 0.385 -1.241 1.428 c +-1.241 2.472 -0.626 2.85 0 2.85 c +0.385 2.85 0.653 2.74 0.917 2.461 c +0.533 2.087 l +0.357 2.279 0.219 2.351 0 2.351 c +-0.214 2.351 -0.396 2.263 -0.517 2.104 c +-0.637 1.95 -0.681 1.752 -0.681 1.428 c +-0.681 1.104 -0.637 0.901 -0.517 0.747 c +-0.396 0.588 -0.214 0.5 0 0.5 c +0.219 0.5 0.357 0.572 0.533 0.764 c +0.917 0.396 l +0.653 0.115 0.385 0 0 0 c +f +Q +q +[1 0 0 1 21.055 20.158] cm +0 0 m +-0.088 0.209 -0.286 0.351 -0.549 0.351 c +-0.813 0.351 -1.016 0.209 -1.104 0 c +-1.159 -0.127 -1.169 -0.209 -1.175 -0.379 c +0.077 -0.379 l +0.071 -0.209 0.055 -0.127 0 0 c +-1.175 -0.769 m +-1.175 -1.247 -0.923 -1.549 -0.467 -1.549 c +-0.154 -1.549 0.011 -1.461 0.208 -1.264 c +0.565 -1.599 l +0.28 -1.884 0.011 -2.032 -0.478 -2.032 c +-1.175 -2.032 -1.73 -1.664 -1.73 -0.605 c +-1.73 0.296 -1.263 0.818 -0.549 0.818 c +0.198 0.818 0.631 0.269 0.631 -0.522 c +0.631 -0.769 l +-1.175 -0.769 l +f +Q +q +[1 0 0 1 24.118 20.476] cm +0 0 m +-0.505 0 -0.583 -0.428 -0.583 -0.923 c +-0.583 -1.417 -0.505 -1.85 0 -1.85 c +0.504 -1.85 0.577 -1.417 0.577 -0.923 c +0.577 -0.428 0.504 0 0 0 c +0.823 -2.103 m +0.67 -2.257 0.428 -2.351 0.148 -2.351 c +-0.149 -2.351 -0.379 -2.273 -0.583 -2.032 c +-0.583 -3.444 l +-1.143 -3.444 l +-1.143 0.467 l +-0.593 0.467 l +-0.593 0.17 l +-0.385 0.423 -0.159 0.5 0.142 0.5 c +0.422 0.5 0.67 0.407 0.823 0.253 c +1.103 -0.028 1.136 -0.5 1.136 -0.923 c +1.136 -1.346 1.103 -1.823 0.823 -2.103 c +f +Q +q +[1 0 0 1 27.39 18.159] cm +0 0 m +-0.522 0 -0.764 0.373 -0.764 0.774 c +-0.764 2.306 l +-1.082 2.306 l +-1.082 2.734 l +-0.764 2.734 l +-0.764 3.58 l +-0.204 3.58 l +-0.204 2.734 l +0.335 2.734 l +0.335 2.306 l +-0.204 2.306 l +-0.204 0.801 l +-0.204 0.598 -0.105 0.478 0.105 0.478 c +0.335 0.478 l +0.335 0 l +0 0 l +f +Q +q +[1 0 0 1 0.73389 12.113] cm +0 0 m +0 2.751 l +1.708 2.751 l +1.708 2.489 l +0.2939 2.489 l +0.2939 1.519 l +1.4995 1.519 l +1.4995 1.256 l +0.2939 1.256 l +0.2939 0.263 l +1.708 0.263 l +1.708 0 l +0 0 l +f +Q +q +[1 0 0 1 4.4043 12.113] cm +0 0 m +-0.4565 0.739 l +-0.9199 0 l +-1.2564 0 l +-0.6108 0.97 l +-1.2295 1.901 l +-0.8931 1.901 l +-0.4565 1.198 l +-0.0274 1.901 l +0.3091 1.901 l +-0.3096 0.97 l +0.3359 0 l +0 0 l +f +Q +q +[1 0 0 1 5.4272 12.113] cm +0 0 m +0 0.24 l +1.0591 1.654 l +0.0581 1.654 l +0.0581 1.901 l +1.3794 1.901 l +1.3794 1.666 l +0.3164 0.248 l +1.3794 0.248 l +1.3794 0 l +0 0 l +f +Q +q +[1 0 0 1 8.8423 13.516] cm +0 0 m +-0.0732 0.174 -0.2437 0.287 -0.4448 0.287 c +-0.6455 0.287 -0.8154 0.174 -0.8887 0 c +-0.9312 -0.104 -0.939 -0.162 -0.9463 -0.316 c +0.0581 -0.316 l +0.0503 -0.162 0.0425 -0.104 0 0 c +-0.9463 -0.525 m +-0.9463 -0.942 -0.7495 -1.183 -0.3867 -1.183 c +-0.1665 -1.183 -0.0386 -1.116 0.1123 -0.966 c +0.3018 -1.132 l +0.1084 -1.326 -0.0693 -1.426 -0.3941 -1.426 c +-0.8965 -1.426 -1.2246 -1.124 -1.2246 -0.452 c +-1.2246 0.162 -0.9272 0.522 -0.4448 0.522 c +0.0464 0.522 0.3364 0.167 0.3364 -0.397 c +0.3364 -0.525 l +-0.9463 -0.525 l +f +Q +q +[1 0 0 1 10.611 12.113] cm +0 0 m +-0.332 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.751 l +-0.205 2.751 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 12.125 12.113] cm +0 0 m +-0.333 0 -0.483 0.216 -0.483 0.506 c +-0.483 2.751 l +-0.205 2.751 l +-0.205 0.518 l +-0.205 0.333 -0.143 0.24 0.05 0.24 c +0.201 0.24 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 14.188 13.516] cm +0 0 m +-0.073 0.174 -0.244 0.287 -0.445 0.287 c +-0.646 0.287 -0.815 0.174 -0.889 0 c +-0.931 -0.104 -0.939 -0.162 -0.947 -0.316 c +0.058 -0.316 l +0.05 -0.162 0.043 -0.104 0 0 c +-0.947 -0.525 m +-0.947 -0.942 -0.75 -1.183 -0.387 -1.183 c +-0.167 -1.183 -0.039 -1.116 0.112 -0.966 c +0.302 -1.132 l +0.108 -1.326 -0.07 -1.426 -0.394 -1.426 c +-0.896 -1.426 -1.225 -1.124 -1.225 -0.452 c +-1.225 0.162 -0.928 0.522 -0.445 0.522 c +0.046 0.522 0.336 0.167 0.336 -0.397 c +0.336 -0.525 l +-0.947 -0.525 l +f +Q +q +[1 0 0 1 16.699 12.113] cm +0 0 m +0 1.171 l +0 1.508 -0.182 1.678 -0.467 1.678 c +-0.753 1.678 -0.939 1.503 -0.939 1.171 c +-0.939 0 l +-1.217 0 l +-1.217 1.901 l +-0.939 1.901 l +-0.939 1.693 l +-0.804 1.847 -0.619 1.925 -0.406 1.925 c +-0.201 1.925 -0.035 1.863 0.081 1.747 c +0.216 1.616 0.278 1.438 0.278 1.218 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 17.865 12.113] cm +0 0 m +0 0.24 l +1.059 1.654 l +0.058 1.654 l +0.058 1.901 l +1.379 1.901 l +1.379 1.666 l +0.317 0.248 l +1.379 0.248 l +1.379 0 l +0 0 l +f +Q +q +[1 0 0 1 22.567 12.991] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.116 -0.959 -0.337 c +-0.959 -0.557 -0.823 -0.661 -0.522 -0.661 c +-0.359 -0.661 -0.216 -0.65 -0.097 -0.534 c +-0.031 -0.472 0 -0.364 0 -0.206 c +0 0 l +h +0 -0.878 m +0 -0.696 l +-0.154 -0.85 -0.294 -0.901 -0.549 -0.901 c +-0.811 -0.901 -0.966 -0.85 -1.086 -0.727 c +-1.179 -0.634 -1.229 -0.491 -1.229 -0.341 c +-1.229 -0.008 -0.997 0.207 -0.572 0.207 c +0 0.207 l +0 0.39 l +0 0.668 -0.139 0.807 -0.487 0.807 c +-0.73 0.807 -0.854 0.749 -0.966 0.591 c +-1.155 0.765 l +-0.986 0.985 -0.792 1.047 -0.483 1.047 c +0.027 1.047 0.278 0.827 0.278 0.413 c +0.278 -0.878 l +0 -0.878 l +f +Q +q +[1 0 0 1 25.089 12.113] cm +0 0 m +0 0.212 l +-0.135 0.058 -0.325 -0.023 -0.537 -0.023 c +-0.742 -0.023 -0.912 0.039 -1.027 0.155 c +-1.164 0.286 -1.221 0.467 -1.221 0.688 c +-1.221 1.901 l +-0.943 1.901 l +-0.943 0.73 l +-0.943 0.394 -0.765 0.224 -0.479 0.224 c +-0.193 0.224 -0.003 0.398 -0.003 0.73 c +-0.003 1.901 l +0.275 1.901 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.024 12.09] cm +0 0 m +-0.321 0 -0.572 0.073 -0.78 0.274 c +-0.595 0.46 l +-0.444 0.301 -0.24 0.239 -0.003 0.239 c +0.309 0.239 0.503 0.352 0.503 0.576 c +0.503 0.742 0.406 0.835 0.186 0.854 c +-0.127 0.881 l +-0.498 0.912 -0.695 1.078 -0.695 1.391 c +-0.695 1.739 -0.402 1.948 0.004 1.948 c +0.274 1.948 0.518 1.882 0.689 1.743 c +0.507 1.561 l +0.371 1.666 0.197 1.712 0 1.712 c +-0.278 1.712 -0.425 1.592 -0.425 1.399 c +-0.425 1.237 -0.332 1.14 -0.092 1.121 c +0.213 1.094 l +0.545 1.063 0.773 0.935 0.773 0.58 c +0.773 0.213 0.46 0 0 0 c +f +Q +q +[1 0 0 1 2.956 6.0688] cm +0 0 m +-0.2744 0 l +-0.8848 2.2026 l +-1.4956 0 l +-1.7695 0 l +-2.4731 2.751 l +-2.1602 2.751 l +-1.623 0.5327 l +-1.0161 2.751 l +-0.7534 2.751 l +-0.1465 0.5327 l +0.3906 2.751 l +0.7031 2.751 l +0 0 l +f +Q +q +[1 0 0 1 4.5039 7.9697] cm +0 0 m +0.27832 0 l +0.27832 -1.9009 l +0 -1.9009 l +0 0 l +h +-0.0156 0.854 m +0.29788 0.854 l +0.29788 0.5415 l +-0.0156 0.5415 l +-0.0156 0.854 l +h +f +Q +q +[1 0 0 1 6.5166 6.0454] cm +0 0 m +-0.3203 0 -0.5718 0.0737 -0.7808 0.2739 c +-0.5952 0.4599 l +-0.4443 0.3008 -0.2393 0.2387 -0.0039 0.2387 c +0.3101 0.2387 0.5029 0.351 0.5029 0.5757 c +0.5029 0.7417 0.4063 0.8349 0.1855 0.854 c +-0.1269 0.8803 l +-0.4981 0.9116 -0.6958 1.0781 -0.6958 1.3911 c +-0.6958 1.7387 -0.4014 1.9477 0.0044 1.9477 c +0.2744 1.9477 0.5181 1.8818 0.688 1.7426 c +0.5064 1.5605 l +0.3711 1.6655 0.1973 1.7119 0 1.7119 c +-0.2778 1.7119 -0.4248 1.5918 -0.4248 1.3984 c +-0.4248 1.2363 -0.332 1.1396 -0.0923 1.1206 c +0.2129 1.0937 l +0.5454 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 8.8076 6.0454] cm +0 0 m +-0.3208 0 -0.5718 0.0737 -0.7812 0.2739 c +-0.5952 0.4599 l +-0.4448 0.3008 -0.2397 0.2387 -0.0039 0.2387 c +0.3091 0.2387 0.5024 0.351 0.5024 0.5757 c +0.5024 0.7417 0.4058 0.8349 0.1851 0.854 c +-0.1274 0.8803 l +-0.499 0.9116 -0.6958 1.0781 -0.6958 1.3911 c +-0.6958 1.7387 -0.4019 1.9477 0.0039 1.9477 c +0.2739 1.9477 0.5176 1.8818 0.688 1.7426 c +0.5059 1.5605 l +0.3706 1.6655 0.1973 1.7119 0 1.7119 c +-0.2783 1.7119 -0.4253 1.5918 -0.4253 1.3984 c +-0.4253 1.2363 -0.3325 1.1396 -0.0933 1.1206 c +0.2124 1.0937 l +0.5449 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 11.682 7.4712] cm +0 0 m +-0.073 0.1738 -0.244 0.2861 -0.445 0.2861 c +-0.645 0.2861 -0.815 0.1738 -0.889 0 c +-0.931 -0.1045 -0.939 -0.1626 -0.947 -0.3169 c +0.058 -0.3169 l +0.05 -0.1626 0.043 -0.1045 0 0 c +-0.947 -0.5259 m +-0.947 -0.9434 -0.749 -1.1827 -0.387 -1.1827 c +-0.167 -1.1827 -0.038 -1.1172 0.112 -0.9659 c +0.302 -1.1324 l +0.108 -1.3252 -0.07 -1.4258 -0.394 -1.4258 c +-0.896 -1.4258 -1.225 -1.125 -1.225 -0.4522 c +-1.225 0.1625 -0.928 0.5219 -0.445 0.5219 c +0.046 0.5219 0.336 0.166 0.336 -0.398 c +0.336 -0.5259 l +-0.947 -0.5259 l +f +Q +q +[1 0 0 1 14.262 6.0688] cm +0 0 m +0 1.1704 l +0 1.5068 -0.182 1.6768 -0.467 1.6768 c +-0.753 1.6768 -0.939 1.5029 -0.939 1.1704 c +-0.939 0 l +-1.218 0 l +-1.218 1.9009 l +-0.939 1.9009 l +-0.939 1.6924 l +-0.803 1.8467 -0.618 1.9238 -0.406 1.9238 c +-0.201 1.9238 -0.034 1.8623 0.081 1.7471 c +0.217 1.6148 0.278 1.4365 0.278 1.2168 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 16.251 6.0454] cm +0 0 m +-0.321 0 -0.572 0.0737 -0.781 0.2739 c +-0.595 0.4599 l +-0.445 0.3008 -0.24 0.2387 -0.004 0.2387 c +0.309 0.2387 0.503 0.351 0.503 0.5757 c +0.503 0.7417 0.406 0.8349 0.186 0.854 c +-0.127 0.8803 l +-0.498 0.9116 -0.696 1.0781 -0.696 1.3911 c +-0.696 1.7387 -0.402 1.9477 0.004 1.9477 c +0.274 1.9477 0.518 1.8818 0.688 1.7426 c +0.506 1.5605 l +0.371 1.6655 0.197 1.7119 0 1.7119 c +-0.278 1.7119 -0.425 1.5918 -0.425 1.3984 c +-0.425 1.2363 -0.332 1.1396 -0.092 1.1206 c +0.212 1.0937 l +0.545 1.062 0.773 0.9355 0.773 0.58 c +0.773 0.2119 0.46 0 0 0 c +f +Q +q +[1 0 0 1 18.742 6.0454] cm +0 0 m +-0.479 0 -0.842 0.3242 -0.842 0.9736 c +-0.842 1.6225 -0.479 1.9477 0 1.9477 c +0.263 1.9477 0.429 1.8774 0.626 1.6655 c +0.437 1.4878 l +0.294 1.646 0.182 1.6997 0 1.6997 c +-0.185 1.6997 -0.339 1.6269 -0.44 1.4839 c +-0.529 1.3593 -0.564 1.2138 -0.564 0.9736 c +-0.564 0.7343 -0.529 0.5864 -0.44 0.4633 c +-0.339 0.3203 -0.185 0.247 0 0.247 c +0.182 0.247 0.294 0.3047 0.437 0.4633 c +0.626 0.2812 l +0.429 0.0688 0.263 0 0 0 c +f +Q +q +[1 0 0 1 21.551 6.0688] cm +0 0 m +0 1.1743 l +0 1.5068 -0.178 1.6768 -0.464 1.6768 c +-0.75 1.6768 -0.94 1.5029 -0.94 1.1743 c +-0.94 0 l +-1.218 0 l +-1.218 2.751 l +-0.94 2.751 l +-0.94 1.6924 l +-0.8 1.8506 -0.619 1.9238 -0.406 1.9238 c +0.023 1.9238 0.278 1.6494 0.278 1.2207 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 24.02 6.9453] cm +0 0 m +-0.534 0 l +-0.82 0 -0.959 -0.1157 -0.959 -0.3355 c +-0.959 -0.5562 -0.823 -0.6602 -0.522 -0.6602 c +-0.359 -0.6602 -0.216 -0.6494 -0.097 -0.5332 c +-0.031 -0.4712 0 -0.3633 0 -0.2041 c +0 0 l +h +0 -0.8765 m +0 -0.6949 l +-0.155 -0.8501 -0.294 -0.9004 -0.549 -0.9004 c +-0.812 -0.9004 -0.966 -0.8501 -1.086 -0.7261 c +-1.179 -0.6333 -1.229 -0.4903 -1.229 -0.3404 c +-1.229 -0.0074 -0.998 0.2085 -0.573 0.2085 c +0 0.2085 l +0 0.3906 l +0 0.6689 -0.139 0.8076 -0.487 0.8076 c +-0.731 0.8076 -0.854 0.75 -0.966 0.5918 c +-1.156 0.7656 l +-0.986 0.9858 -0.792 1.0478 -0.483 1.0478 c +0.027 1.0478 0.278 0.8276 0.278 0.4135 c +0.278 -0.8765 l +0 -0.8765 l +f +Q +q +[1 0 0 1 25.75 7.7456] cm +0 0 m +0 -1.6768 l +-0.278 -1.6768 l +-0.278 0 l +-0.521 0 l +-0.521 0.2119 l +-0.278 0.2119 l +-0.278 0.5717 l +-0.278 0.854 -0.12 1.082 0.204 1.082 c +0.406 1.082 l +0.406 0.8432 l +0.255 0.8432 l +0.078 0.8432 0 0.7382 0 0.5639 c +0 0.2119 l +0.406 0.2119 l +0.406 0 l +0 0 l +f +Q +q +[1 0 0 1 27.592 6.0688] cm +0 0 m +-0.325 0 -0.487 0.2275 -0.487 0.5098 c +-0.487 1.6768 l +-0.727 1.6768 l +-0.727 1.8887 l +-0.487 1.8887 l +-0.487 2.4844 l +-0.209 2.4844 l +-0.209 1.8887 l +0.197 1.8887 l +0.197 1.6768 l +-0.209 1.6768 l +-0.209 0.5176 l +-0.209 0.3438 -0.128 0.2393 0.05 0.2393 c +0.197 0.2393 l +0.197 0 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 7.749 0.022903] cm +0 0 m +0 0.21239 l +-0.1348 0.058105 -0.3247 -0.022903 -0.5371 -0.022903 c +-0.7422 -0.022903 -0.9121 0.039104 -1.0273 0.1548 c +-1.1631 0.2861 -1.2207 0.4678 -1.2207 0.688 c +-1.2207 1.9014 l +-0.9424 1.9014 l +-0.9424 0.7305 l +-0.9424 0.3945 -0.7646 0.2241 -0.479 0.2241 c +-0.1929 0.2241 -0.0039 0.3984 -0.0039 0.7305 c +-0.0039 1.9014 l +0.2744 1.9014 l +0.2744 0 l +0 0 l +f +Q +q +[1 0 0 1 10.322 0.022903] cm +0 0 m +0 1.1709 l +0 1.5078 -0.181 1.6777 -0.4673 1.6777 c +-0.7534 1.6777 -0.939 1.5034 -0.939 1.1709 c +-0.939 0 l +-1.2173 0 l +-1.2173 1.9014 l +-0.939 1.9014 l +-0.939 1.6929 l +-0.8037 1.8477 -0.6182 1.9248 -0.4058 1.9248 c +-0.201 1.9248 -0.035 1.8628 0.081 1.7471 c +0.217 1.6157 0.278 1.438 0.278 1.2178 c +0.278 0 l +0 0 l +f +Q +q +[1 0 0 1 12.319 1.7006] cm +0 0 m +-0.413 0 -0.479 -0.3564 -0.479 -0.727 c +-0.479 -1.0981 -0.413 -1.4536 0 -1.4536 c +0.413 -1.4536 0.475 -1.0981 0.475 -0.727 c +0.475 -0.3564 0.413 0 0 0 c +0.479 -1.6777 m +0.479 -1.4492 l +0.325 -1.6499 0.147 -1.7006 -0.062 -1.7006 c +-0.255 -1.7006 -0.425 -1.6352 -0.526 -1.5346 c +-0.719 -1.3413 -0.757 -1.0249 -0.757 -0.727 c +-0.757 -0.4292 -0.719 -0.1123 -0.526 0.0811 c +-0.425 0.1807 -0.255 0.2471 -0.062 0.2471 c +0.147 0.2471 0.321 0.2012 0.475 0.0035 c +0.475 1.0743 l +0.753 1.0743 l +0.753 -1.6777 l +0.479 -1.6777 l +f +Q +q +[1 0 0 1 17.264 0.022903] cm +0 0 m +-0.838 1.4649 l +-1.419 0.7691 l +-1.419 0 l +-1.712 0 l +-1.712 2.752 l +-1.419 2.752 l +-1.419 1.1709 l +-0.135 2.752 l +0.224 2.752 l +-0.642 1.689 l +0.348 0 l +0 0 l +f +Q +q +[1 0 0 1 19.6 0.022903] cm +0 0 m +0 0.21239 l +-0.135 0.058105 -0.324 -0.022903 -0.538 -0.022903 c +-0.742 -0.022903 -0.912 0.039104 -1.028 0.1548 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.688 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2241 -0.479 0.2241 c +-0.193 0.2241 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.274 1.9014 l +0.274 0 l +0 0 l +f +Q +q +[1 0 0 1 21.431 0.022903] cm +0 0 m +-0.333 0 -0.483 0.21631 -0.483 0.5068 c +-0.483 2.752 l +-0.206 2.752 l +-0.206 0.5176 l +-0.206 0.3325 -0.144 0.2402 0.05 0.2402 c +0.201 0.2402 l +0.201 0 l +0 0 l +f +Q +q +[1 0 0 1 23.022 0.022903] cm +0 0 m +-0.325 0 -0.487 0.2285 -0.487 0.5098 c +-0.487 1.6777 l +-0.727 1.6777 l +-0.727 1.8897 l +-0.487 1.8897 l +-0.487 2.4858 l +-0.209 2.4858 l +-0.209 1.8897 l +0.197 1.8897 l +0.197 1.6777 l +-0.209 1.6777 l +-0.209 0.5176 l +-0.209 0.3442 -0.128 0.2402 0.05 0.2402 c +0.197 0.2402 l +0.197 0 l +0 0 l +f +Q +q +[1 0 0 1 25.359 0.022903] cm +0 0 m +0 0.21239 l +-0.135 0.058105 -0.325 -0.022903 -0.537 -0.022903 c +-0.742 -0.022903 -0.912 0.039104 -1.028 0.1548 c +-1.163 0.2861 -1.221 0.4678 -1.221 0.688 c +-1.221 1.9014 l +-0.942 1.9014 l +-0.942 0.7305 l +-0.942 0.3945 -0.765 0.2241 -0.479 0.2241 c +-0.193 0.2241 -0.004 0.3984 -0.004 0.7305 c +-0.004 1.9014 l +0.275 1.9014 l +0.275 0 l +0 0 l +f +Q +q +[1 0 0 1 27.777 1.561] cm +0 0 m +-0.104 0.1045 -0.181 0.1396 -0.328 0.1396 c +-0.607 0.1396 -0.784 -0.0806 -0.784 -0.3706 c +-0.784 -1.5381 l +-1.062 -1.5381 l +-1.062 0.3633 l +-0.784 0.3633 l +-0.784 0.1318 l +-0.68 0.29 -0.471 0.3862 -0.251 0.3862 c +-0.069 0.3862 0.07 0.3442 0.205 0.209 c +0 0 l +f +Q +Q +q +[1 0 0 1 30.641 62.981] cm +0 0 m +-16.953 0 l +-11.114 5.837 l +0 0 l +f +Q +q +[1 0 0 1 6.8892 57.179] cm +0 0 m +0 8.255 l +11.988 11.986 l +0 0 l +f +Q +q +[1 0 0 1 6.1851 48.27] cm +0 0 m +-5.8384 5.837 l +0 16.951 l +0 0 l +f +Q +q +[1 0 0 1 11.987 41.471] cm +0 0 m +-8.2568 0 l +-11.987 11.986 l +0 0 l +f +Q +q +[1 0 0 1 15.065 34.928] cm +0 0 m +-11.115 5.837 l +5.838 5.837 l +0 0 l +f +Q +q +[1 0 0 1 15.709 34.583] cm +0 0 m +11.987 11.986 l +11.987 3.73 l +0 0 l +f +Q +q +[1 0 0 1 28.401 38.527] cm +0 0 m +0 16.951 l +5.838 11.113 l +0 0 l +f +Q +q +0 0.06 34.56 69.105 re +W +q +[1 0 0 1 34.582 50.295] cm +0 0 m +-11.987 11.986 l +-3.731 11.986 l +0 0 l +f +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-28.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-28.pdf Binary files differnew file mode 100644 index 00000000000..507881cd063 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-28.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-30.eps b/Master/texmf-dist/tex/latex/tudscr/DDC-30.eps new file mode 100644 index 00000000000..37a9528c934 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-30.eps @@ -0,0 +1,2420 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: Adobe Illustrator CS4 +%%Title: DDC-30.eps +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 144 52 +%%HiResBoundingBox: 0 0 143.667 51.307 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 143.667 51.307 re +W +q +q +1 i +0.059998 0.06 143.607 51.247 re +W +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples0 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples0 +2 index 0 get +3 mul 0 add get +xpdfSamples0 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +3 index 0 get +3 mul 1 add get +xpdfSamples0 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples0 +4 index 0 get +3 mul 2 add get +xpdfSamples0 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[0] sc +false op +false OP +q +[1 0 0 1 5.9912 38.534] cm +0 0 m +-0.4922 0.549 -1.1631 0.8 -2.0098 0.8 c +-4.1963 0.8 l +-4.1963 -7.829 l +-2.0098 -7.829 l +-1.1631 -7.829 -0.4922 -7.577 0 -7.028 c +0.624 -6.345 0.6328 -5.061 0.6328 -3.428 c +0.6328 -1.8 0.624 -0.679 0 0 c +1.2373 -8.326 m +0.4932 -9.08 -0.5947 -9.442 -1.8242 -9.442 c +-5.9912 -9.442 l +-5.9912 2.414 l +-1.8242 2.414 l +-0.5947 2.414 0.4932 2.047 1.2373 1.298 c +2.5215 0.014 2.4375 -1.716 2.4375 -3.428 c +2.4375 -5.145 2.5215 -7.043 1.2373 -8.326 c +f +Q +Q +[/Separation (HKS 41 K) /DeviceRGB +/xpdfSamples1 [ +1 +1 +1 +0.984314 +0.984314 +0.988235 +0.980392 +0.980392 +0.988235 +0.964706 +0.968627 +0.980392 +0.960784 +0.960784 +0.976471 +0.94902 +0.952941 +0.964706 +0.945098 +0.94902 +0.964706 +0.937255 +0.941176 +0.956863 +0.933333 +0.933333 +0.952941 +0.92549 +0.929412 +0.94902 +0.921569 +0.92549 +0.94902 +0.913725 +0.917647 +0.941176 +0.909804 +0.913725 +0.941176 +0.901961 +0.905882 +0.937255 +0.898039 +0.901961 +0.933333 +0.890196 +0.894118 +0.92549 +0.886275 +0.894118 +0.92549 +0.878431 +0.886275 +0.917647 +0.87451 +0.882353 +0.917647 +0.870588 +0.878431 +0.913725 +0.866667 +0.87451 +0.909804 +0.858824 +0.866667 +0.905882 +0.854902 +0.866667 +0.905882 +0.847059 +0.858824 +0.901961 +0.843137 +0.854902 +0.898039 +0.839216 +0.847059 +0.890196 +0.835294 +0.847059 +0.890196 +0.827451 +0.839216 +0.886275 +0.823529 +0.835294 +0.882353 +0.815686 +0.831373 +0.882353 +0.811765 +0.827451 +0.878431 +0.807843 +0.819608 +0.87451 +0.803922 +0.819608 +0.87451 +0.796078 +0.811765 +0.870588 +0.792157 +0.807843 +0.866667 +0.788235 +0.803922 +0.858824 +0.784314 +0.8 +0.858824 +0.776471 +0.796078 +0.854902 +0.772549 +0.792157 +0.854902 +0.768627 +0.788235 +0.85098 +0.764706 +0.784314 +0.847059 +0.756863 +0.776471 +0.843137 +0.756863 +0.776471 +0.843137 +0.74902 +0.772549 +0.839216 +0.745098 +0.768627 +0.839216 +0.741176 +0.760784 +0.831373 +0.737255 +0.760784 +0.831373 +0.729412 +0.752941 +0.823529 +0.729412 +0.74902 +0.823529 +0.721569 +0.745098 +0.819608 +0.717647 +0.741176 +0.819608 +0.713725 +0.737255 +0.815686 +0.709804 +0.733333 +0.811765 +0.701961 +0.729412 +0.807843 +0.701961 +0.72549 +0.807843 +0.694118 +0.721569 +0.8 +0.690196 +0.717647 +0.8 +0.686275 +0.713725 +0.796078 +0.682353 +0.709804 +0.796078 +0.678431 +0.705882 +0.792157 +0.67451 +0.701961 +0.792157 +0.666667 +0.698039 +0.784314 +0.666667 +0.694118 +0.784314 +0.658824 +0.690196 +0.780392 +0.654902 +0.686275 +0.780392 +0.65098 +0.682353 +0.772549 +0.647059 +0.682353 +0.772549 +0.643137 +0.67451 +0.768627 +0.639216 +0.670588 +0.768627 +0.635294 +0.670588 +0.764706 +0.631373 +0.666667 +0.760784 +0.623529 +0.658824 +0.756863 +0.623529 +0.658824 +0.756863 +0.615686 +0.654902 +0.752941 +0.615686 +0.65098 +0.752941 +0.607843 +0.643137 +0.745098 +0.603922 +0.643137 +0.745098 +0.6 +0.639216 +0.741176 +0.596078 +0.635294 +0.741176 +0.592157 +0.631373 +0.737255 +0.588235 +0.627451 +0.737255 +0.584314 +0.623529 +0.733333 +0.580392 +0.619608 +0.729412 +0.576471 +0.619608 +0.72549 +0.572549 +0.615686 +0.72549 +0.568627 +0.607843 +0.717647 +0.564706 +0.607843 +0.717647 +0.560784 +0.603922 +0.713725 +0.556863 +0.6 +0.713725 +0.552941 +0.596078 +0.709804 +0.54902 +0.596078 +0.709804 +0.545098 +0.588235 +0.705882 +0.541176 +0.588235 +0.701961 +0.537255 +0.584314 +0.701961 +0.533333 +0.580392 +0.698039 +0.529412 +0.576471 +0.694118 +0.52549 +0.576471 +0.694118 +0.521569 +0.568627 +0.690196 +0.517647 +0.568627 +0.686275 +0.513725 +0.560784 +0.682353 +0.509804 +0.560784 +0.682353 +0.505882 +0.556863 +0.678431 +0.501961 +0.552941 +0.678431 +0.498039 +0.54902 +0.67451 +0.494118 +0.54902 +0.67451 +0.490196 +0.541176 +0.666667 +0.490196 +0.541176 +0.666667 +0.482353 +0.537255 +0.662745 +0.482353 +0.533333 +0.662745 +0.478431 +0.529412 +0.658824 +0.47451 +0.529412 +0.658824 +0.470588 +0.52549 +0.654902 +0.466667 +0.521569 +0.654902 +0.462745 +0.517647 +0.65098 +0.458824 +0.517647 +0.65098 +0.454902 +0.509804 +0.643137 +0.454902 +0.509804 +0.643137 +0.447059 +0.505882 +0.639216 +0.447059 +0.501961 +0.639216 +0.443137 +0.498039 +0.635294 +0.439216 +0.498039 +0.635294 +0.435294 +0.494118 +0.631373 +0.431373 +0.490196 +0.631373 +0.427451 +0.490196 +0.627451 +0.423529 +0.486275 +0.627451 +0.419608 +0.482353 +0.619608 +0.419608 +0.478431 +0.619608 +0.411765 +0.478431 +0.615686 +0.407843 +0.47451 +0.615686 +0.403922 +0.470588 +0.611765 +0.4 +0.470588 +0.611765 +0.396078 +0.466667 +0.607843 +0.396078 +0.462745 +0.607843 +0.392157 +0.458824 +0.603922 +0.388235 +0.458824 +0.603922 +0.384314 +0.45098 +0.596078 +0.380392 +0.45098 +0.596078 +0.376471 +0.447059 +0.592157 +0.376471 +0.447059 +0.592157 +0.372549 +0.439216 +0.588235 +0.368627 +0.439216 +0.588235 +0.364706 +0.435294 +0.584314 +0.360784 +0.435294 +0.584314 +0.356863 +0.431373 +0.580392 +0.356863 +0.427451 +0.580392 +0.352941 +0.423529 +0.572549 +0.34902 +0.423529 +0.572549 +0.345098 +0.419608 +0.572549 +0.341176 +0.419608 +0.568627 +0.337255 +0.415686 +0.564706 +0.337255 +0.411765 +0.564706 +0.333333 +0.407843 +0.560784 +0.329412 +0.407843 +0.560784 +0.32549 +0.403922 +0.556863 +0.321569 +0.403922 +0.556863 +0.321569 +0.4 +0.552941 +0.317647 +0.396078 +0.552941 +0.313725 +0.392157 +0.54902 +0.309804 +0.392157 +0.54902 +0.305882 +0.388235 +0.545098 +0.301961 +0.388235 +0.545098 +0.298039 +0.384314 +0.541176 +0.298039 +0.380392 +0.541176 +0.294118 +0.376471 +0.537255 +0.290196 +0.376471 +0.537255 +0.286275 +0.372549 +0.529412 +0.286275 +0.372549 +0.529412 +0.282353 +0.368627 +0.529412 +0.278431 +0.368627 +0.52549 +0.27451 +0.364706 +0.521569 +0.270588 +0.360784 +0.521569 +0.266667 +0.360784 +0.521569 +0.266667 +0.356863 +0.517647 +0.262745 +0.352941 +0.513725 +0.258824 +0.352941 +0.513725 +0.254902 +0.34902 +0.509804 +0.25098 +0.34902 +0.509804 +0.247059 +0.345098 +0.505882 +0.247059 +0.341176 +0.505882 +0.243137 +0.341176 +0.501961 +0.239216 +0.337255 +0.501961 +0.235294 +0.337255 +0.498039 +0.231373 +0.333333 +0.498039 +0.231373 +0.329412 +0.494118 +0.227451 +0.329412 +0.494118 +0.223529 +0.32549 +0.490196 +0.219608 +0.32549 +0.490196 +0.215686 +0.321569 +0.486275 +0.211765 +0.321569 +0.486275 +0.207843 +0.317647 +0.482353 +0.207843 +0.313725 +0.482353 +0.203922 +0.313725 +0.482353 +0.2 +0.309804 +0.478431 +0.196078 +0.309804 +0.478431 +0.192157 +0.305882 +0.478431 +0.188235 +0.305882 +0.470588 +0.188235 +0.301961 +0.470588 +0.184314 +0.301961 +0.470588 +0.180392 +0.298039 +0.466667 +0.176471 +0.294118 +0.466667 +0.172549 +0.294118 +0.462745 +0.168627 +0.290196 +0.462745 +0.164706 +0.290196 +0.462745 +0.160784 +0.286275 +0.458824 +0.156863 +0.286275 +0.458824 +0.152941 +0.282353 +0.454902 +0.152941 +0.282353 +0.45098 +0.145098 +0.278431 +0.45098 +0.145098 +0.278431 +0.45098 +0.141176 +0.27451 +0.447059 +0.137255 +0.270588 +0.447059 +0.133333 +0.270588 +0.443137 +0.129412 +0.270588 +0.443137 +0.12549 +0.266667 +0.439216 +0.121569 +0.266667 +0.439216 +0.117647 +0.262745 +0.435294 +0.113725 +0.258824 +0.435294 +0.105882 +0.258824 +0.431373 +0.105882 +0.254902 +0.431373 +0.098039 +0.254902 +0.427451 +0.094118 +0.25098 +0.427451 +0.090196 +0.25098 +0.427451 +0.086275 +0.247059 +0.423529 +0.078431 +0.247059 +0.423529 +0.07451 +0.247059 +0.423529 +0.070588 +0.243137 +0.419608 +0.062745 +0.239216 +0.415686 +0.058824 +0.239216 +0.415686 +0.05098 +0.239216 +0.415686 +0.043137 +0.235294 +0.411765 +0.039216 +0.231373 +0.411765 +0.031373 +0.231373 +0.407843 +0.023529 +0.227451 +0.407843 +0.019608 +0.227451 +0.403922 +0.007843 +0.227451 +0.403922 +0.003922 +0.223529 +0.4 +0 +0.219608 +0.4 +0 +0.219608 +0.396078 +0 +0.219608 +0.396078 +0 +0.215686 +0.396078 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.211765 +0.392157 +0 +0.207843 +0.388235 +0 +0.207843 +0.388235 +0 +0.203922 +0.384314 +0 +0.203922 +0.384314 +0 +0.2 +0.380392 +0 +0.2 +0.380392 +0 +0.196078 +0.380392 +0 +0.196078 +0.376471 +0 +0.192157 +0.376471 +0 +0.192157 +0.376471 +0 +0.188235 +0.372549 +0 +0.184314 +0.368627 +] def +{ 2 array 1 array 3 2 roll +0 sub 254 mul 0 add +dup 0 lt { pop 0 } { dup 254 gt { pop 254 } if } ifelse +dup floor cvi exch dup ceiling cvi exch 2 index sub +3 index 0 3 2 roll put +3 index 1 3 2 roll put +2 index 0 3 2 roll put +xpdfSamples1 +2 index 0 get +3 mul 0 add get +xpdfSamples1 +3 index 1 get +3 mul 0 add get +2 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +3 index 0 get +3 mul 1 add get +xpdfSamples1 +4 index 1 get +3 mul 1 add get +3 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +xpdfSamples1 +4 index 0 get +3 mul 2 add get +xpdfSamples1 +5 index 1 get +3 mul 2 add get +4 index 0 get dup +3 2 roll mul exch 1 exch sub 3 2 roll mul add +1 1 roll +1 mul 0 add +dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse +5 3 roll pop pop } +] {} cs +[1] sc +[0] sc +false op +false OP +1 i +q +[1 0 0 1 17.221 39.334] cm +0 0 m +-2.67 0 l +-2.67 -3.717 l +0 -3.717 l +1.2 -3.717 2.019 -3.033 2.019 -1.865 c +2.019 -0.698 1.2 0 0 0 c +2.084 -10.243 m +-0.419 -5.247 l +-2.67 -5.247 l +-2.67 -10.243 l +-4.466 -10.243 l +-4.466 1.614 l +0.13 1.614 l +2.381 1.614 3.814 0.167 3.814 -1.852 c +3.814 -3.549 2.781 -4.633 1.451 -4.996 c +4.176 -10.243 l +2.084 -10.243 l +f +Q +q +[1 0 0 1 25.331 29.091] cm +0 0 m +0 11.856 l +7.572 11.856 l +7.572 10.243 l +1.796 10.243 l +1.796 6.777 l +6.727 6.777 l +6.727 5.182 l +1.796 5.182 l +1.796 1.614 l +7.572 1.614 l +7.572 0 l +0 0 l +f +Q +q +[1 0 0 1 40.179 28.989] cm +0 0 m +-1.777 0 -3.06 0.419 -4.196 1.568 c +-2.996 2.749 l +-2.131 1.884 -1.182 1.619 0.037 1.619 c +1.581 1.619 2.484 2.284 2.484 3.433 c +2.484 3.949 2.335 4.382 2.019 4.661 c +1.721 4.949 1.423 5.066 0.716 5.164 c +-0.679 5.363 l +-1.647 5.498 -2.409 5.829 -2.93 6.317 c +-3.508 6.861 -3.795 7.61 -3.795 8.582 c +-3.795 10.643 -2.298 12.057 0.167 12.057 c +1.739 12.057 2.828 11.662 3.852 10.708 c +2.698 9.578 l +1.973 10.28 1.116 10.494 0.121 10.494 c +-1.273 10.494 -2.047 9.694 -2.047 8.643 c +-2.047 8.215 -1.907 7.833 -1.6 7.545 c +-1.293 7.28 -0.818 7.08 -0.261 6.996 c +1.088 6.796 l +2.186 6.628 2.8 6.363 3.303 5.912 c +3.953 5.35 4.261 4.498 4.261 3.484 c +4.261 1.303 2.484 0 0 0 c +f +Q +q +[1 0 0 1 54.524 38.534] cm +0 0 m +-0.502 0.549 -1.171 0.8 -2.018 0.8 c +-4.204 0.8 l +-4.204 -7.829 l +-2.018 -7.829 l +-1.171 -7.829 -0.502 -7.577 0 -7.028 c +0.615 -6.345 0.633 -5.061 0.633 -3.428 c +0.633 -1.8 0.615 -0.679 0 0 c +1.229 -8.326 m +0.485 -9.08 -0.604 -9.442 -1.832 -9.442 c +-6 -9.442 l +-6 2.414 l +-1.832 2.414 l +-0.604 2.414 0.485 2.047 1.229 1.298 c +2.513 0.014 2.43 -1.716 2.43 -3.428 c +2.43 -5.145 2.513 -7.043 1.229 -8.326 c +f +Q +q +[1 0 0 1 61.278 29.091] cm +0 0 m +0 11.856 l +7.583 11.856 l +7.583 10.243 l +1.806 10.243 l +1.806 6.777 l +6.729 6.777 l +6.729 5.182 l +1.806 5.182 l +1.806 1.614 l +7.583 1.614 l +7.583 0 l +0 0 l +f +Q +q +[1 0 0 1 80.268 29.091] cm +0 0 m +-5.48 8.345 l +-5.48 0 l +-7.275 0 l +-7.275 11.856 l +-5.629 11.856 l +-0.15 3.53 l +-0.15 11.856 l +1.646 11.856 l +1.646 0 l +0 0 l +f +Q +q +[1 0 0 1 19.648 10.201] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.619 6.331 l +1.089 6.912 0.67 7.13 0 7.13 c +-0.642 7.13 -1.2 6.861 -1.562 6.377 c +-1.926 5.912 -2.065 5.312 -2.065 4.331 c +-2.065 3.344 -1.926 2.731 -1.562 2.265 c +-1.2 1.781 -0.642 1.516 0 1.516 c +0.67 1.516 1.089 1.735 1.619 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 30.123 16.843] cm +0 0 m +-0.316 0.321 -0.743 0.488 -1.247 0.488 c +-1.748 0.488 -2.168 0.321 -2.484 0 c +-2.995 -0.516 -3.061 -1.396 -3.061 -2.311 c +-3.061 -3.228 -2.995 -4.107 -2.484 -4.628 c +-2.168 -4.944 -1.748 -5.126 -1.247 -5.126 c +-0.743 -5.126 -0.316 -4.944 0 -4.628 c +0.512 -4.107 0.586 -3.228 0.586 -2.311 c +0.586 -1.396 0.512 -0.516 0 0 c +1.285 -5.642 m +0.735 -6.209 -0.103 -6.642 -1.247 -6.642 c +-2.4 -6.642 -3.209 -6.209 -3.759 -5.642 c +-4.559 -4.809 -4.764 -3.744 -4.764 -2.311 c +-4.764 -0.897 -4.559 0.168 -3.759 1 c +-3.209 1.568 -2.4 2.005 -1.247 2.005 c +-0.103 2.005 0.735 1.568 1.285 1 c +2.084 0.168 2.279 -0.897 2.279 -2.311 c +2.279 -3.744 2.084 -4.809 1.285 -5.642 c +f +Q +q +[1 0 0 1 41.519 10.298] cm +0 0 m +0 5.145 l +0 6.465 -0.754 7.033 -1.703 7.033 c +-2.651 7.033 -3.452 6.447 -3.452 5.145 c +-3.452 0 l +-5.154 0 l +-5.154 8.447 l +-3.489 8.447 l +-3.489 7.596 l +-2.903 8.229 -2.084 8.545 -1.236 8.545 c +-0.371 8.545 0.344 8.266 0.847 7.782 c +1.488 7.149 1.692 6.349 1.692 5.396 c +1.692 0 l +0 0 l +f +Q +q +[1 0 0 1 50.822 10.201] cm +0 0 m +-1.897 0 -3.759 1.163 -3.759 4.331 c +-3.759 7.498 -1.897 8.643 0 8.643 c +1.163 8.643 1.981 8.312 2.781 7.461 c +1.618 6.331 l +1.088 6.912 0.67 7.13 0 7.13 c +-0.651 7.13 -1.199 6.861 -1.562 6.377 c +-1.926 5.912 -2.064 5.312 -2.064 4.331 c +-2.064 3.344 -1.926 2.731 -1.562 2.265 c +-1.199 1.781 -0.651 1.516 0 1.516 c +0.67 1.516 1.088 1.735 1.618 2.312 c +2.781 1.2 l +1.981 0.349 1.163 0 0 0 c +f +Q +q +[1 0 0 1 61.745 16.364] cm +0 0 m +-0.262 0.633 -0.865 1.066 -1.666 1.066 c +-2.466 1.066 -3.08 0.633 -3.341 0 c +-3.509 -0.386 -3.545 -0.637 -3.564 -1.149 c +0.231 -1.149 l +0.222 -0.637 0.166 -0.386 0 0 c +-3.564 -2.335 m +-3.564 -3.782 -2.791 -4.698 -1.415 -4.698 c +-0.467 -4.698 0.036 -4.428 0.632 -3.833 c +1.72 -4.851 l +0.854 -5.712 0.036 -6.163 -1.443 -6.163 c +-3.564 -6.163 -5.247 -5.047 -5.247 -1.832 c +-5.247 0.898 -3.825 2.484 -1.666 2.484 c +0.603 2.484 1.915 0.819 1.915 -1.581 c +1.915 -2.335 l +-3.564 -2.335 l +f +Q +q +[1 0 0 1 71.039 17.331] cm +0 0 m +-1.526 0 -1.768 -1.302 -1.768 -2.8 c +-1.768 -4.302 -1.526 -5.614 0 -5.614 c +1.535 -5.614 1.748 -4.302 1.748 -2.8 c +1.748 -1.302 1.535 0 0 0 c +2.503 -6.382 m +2.038 -6.847 1.303 -7.13 0.455 -7.13 c +-0.447 -7.13 -1.145 -6.893 -1.768 -6.163 c +-1.768 -10.447 l +-3.46 -10.447 l +-3.46 1.414 l +-1.796 1.414 l +-1.796 0.512 l +-1.162 1.279 -0.483 1.512 0.437 1.512 c +1.284 1.512 2.038 1.233 2.503 0.763 c +3.349 -0.088 3.451 -1.516 3.451 -2.8 c +3.451 -4.084 3.349 -5.53 2.503 -6.382 c +f +Q +q +[1 0 0 1 80.964 10.298] cm +0 0 m +-1.58 0 -2.316 1.135 -2.316 2.349 c +-2.316 7 l +-3.283 7 l +-3.283 8.298 l +-2.316 8.298 l +-2.316 10.862 l +-0.613 10.862 l +-0.613 8.298 l +1.015 8.298 l +1.015 7 l +-0.613 7 l +-0.613 2.433 l +-0.613 1.814 -0.316 1.451 0.317 1.451 c +1.015 1.451 l +1.015 0 l +0 0 l +f +Q +q +[1 0 0 1 137.816 42.134] cm +0 0 m +-25.156 0 l +-16.494 8.661 l +0 0 l +f +Q +q +[1 0 0 1 102.577 33.524] cm +0 0 m +0 12.252 l +17.786 17.782 l +0 0 l +f +Q +q +[1 0 0 1 101.534 20.308] cm +0 0 m +-8.661 8.662 l +0 25.147 l +0 0 l +f +Q +q +[1 0 0 1 110.138 10.219] cm +0 0 m +-12.251 0 l +-17.787 17.784 l +0 0 l +f +Q +q +[1 0 0 1 114.707 0.5117] cm +0 0 m +-16.485 8.6606 l +8.661 8.6606 l +0 0 l +f +Q +q +0.059998 0.06 143.607 51.247 re +W +q +[1 0 0 1 115.666 0] cm +0 0 m +17.787 17.783 l +17.787 5.5302 l +0 0 l +f +Q +Q +q +[1 0 0 1 134.495 5.8515] cm +0 0 m +0 25.147 l +8.661 16.486 l +0 0 l +f +Q +q +[1 0 0 1 143.667 23.314] cm +0 0 m +-17.787 17.783 l +-5.534 17.783 l +0 0 l +f +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/DDC-30.pdf b/Master/texmf-dist/tex/latex/tudscr/DDC-30.pdf Binary files differnew file mode 100644 index 00000000000..47c352ca509 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/DDC-30.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-black.eps b/Master/texmf-dist/tex/latex/tudscr/TUD-black.eps new file mode 100644 index 00000000000..a5599f58fbc --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-black.eps @@ -0,0 +1,987 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: AFPL Ghostscript 814 (epswrite) +%%Title: untitled +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 256 75 +%%HiResBoundingBox: 0 0 255.196 74.044 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 255.196 74.044 re +W +q +q +1 i +-279.324 -576.26 m +24720.676 -576.26 l +24720.676 24423.74 l +-279.324 24423.74 l +W +0.059998 0 255.24 74.04 re +W +/DeviceGray {} cs +[0] sc +false op +false OP +225.986 47.138 3.4563 3.5281 re +f +235.418 47.138 3.4563 3.5281 re +f +q +[1 0 0 1 182.354 26.906] cm +0 0 m +-4.464 8.712 l +-2.52 9.36 -0.864 11.16 -0.864 13.968 c +-0.864 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 8.064 l +-8.496 8.064 l +-4.536 0 l +0 0 l +h +-4.752 13.968 m +-4.752 12.384 -5.904 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.632 l +-7.56 16.632 l +-5.904 16.632 -4.752 15.48 -4.752 13.968 c +f* +Q +q +[1 0 0 1 241.25 26.906] cm +0 0 m +-7.344 20.088 l +-10.368 20.088 l +-17.712 0 l +-13.608 0 l +-12.384 3.6 l +-5.256 3.6 l +-4.104 0 l +0 0 l +h +-6.336 6.912 m +-11.304 6.912 l +-8.784 14.184 l +-6.336 6.912 l +f* +Q +q +[1 0 0 1 100.058 33.818] cm +0 0 m +0 13.176 l +-3.888 13.176 l +-3.888 0.144 l +-3.888 -2.16 -5.328 -3.528 -7.416 -3.528 c +-9.504 -3.528 -10.872 -2.16 -10.872 0.144 c +-10.872 13.176 l +-14.76 13.176 l +-14.76 0 l +-14.76 -4.248 -11.52 -7.056 -7.416 -7.056 c +-3.312 -7.056 0 -4.248 0 0 c +f* +Q +q +[1 0 0 1 120.002 26.906] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.848 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.384 l +-3.528 0 l +0 0 l +f* +Q +124.682 26.906 3.9602 20.088 re +f +q +[1 0 0 1 147.434 46.994] cm +0 0 m +-4.104 0 l +-8.136 -13.032 l +-12.168 0 l +-16.2 0 l +-9.576 -20.088 l +-6.696 -20.088 l +0 0 l +f* +Q +q +[1 0 0 1 163.202 26.978] cm +0 0 m +0 3.456 l +-9.288 3.456 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.808 l +-9.288 11.808 l +-9.288 16.56 l +0 16.56 l +0 20.016 l +-13.176 20.016 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 198.698 32.882] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.272 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +202.514 26.906 3.8879 20.088 re +f +q +[1 0 0 1 224.186 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.074 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.632 l +-5.256 -16.632 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.842 10.345] cm +0 0 m +0 3.024 0.288 5.76 -2.016 7.992 c +-3.312 9.36 -5.184 9.936 -7.272 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.272 -10.152 l +-5.184 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.288 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.632 -6.624 c +-10.584 -6.624 l +-10.584 6.408 l +-7.632 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 119.21 0.19418] cm +0 0 m +-4.464 8.64 l +-2.52 9.36 -0.792 11.088 -0.792 13.896 c +-0.792 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 7.992 l +-8.424 7.992 l +-4.536 0 l +0 0 l +h +-4.752 13.896 m +-4.752 12.384 -5.832 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.56 l +-7.56 16.56 l +-5.832 16.56 -4.752 15.48 -4.752 13.896 c +f* +Q +q +[1 0 0 1 135.842 0.19418] cm +0 0 m +0 3.528 l +-9.36 3.528 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.88 l +-9.36 11.88 l +-9.36 16.56 l +0 16.56 l +0 20.088 l +-13.248 20.088 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 152.762 6.0982] cm +0 0 m +0 1.8 -0.504 3.24 -1.584 4.248 c +-2.448 5.04 -3.6 5.544 -5.4 5.832 c +-7.776 6.192 l +-8.568 6.264 -9.216 6.624 -9.648 6.984 c +-10.08 7.344 -10.224 7.92 -10.224 8.424 c +-10.224 9.792 -9.216 10.944 -7.128 10.944 c +-5.832 10.944 -4.248 10.728 -3.024 9.576 c +-0.504 12.024 l +-2.232 13.68 -4.248 14.328 -6.984 14.328 c +-11.376 14.328 -13.968 11.808 -13.968 8.28 c +-13.968 6.552 -13.536 5.256 -12.6 4.32 c +-11.664 3.456 -10.368 2.88 -8.64 2.664 c +-6.264 2.304 l +-5.328 2.16 -4.896 1.944 -4.464 1.584 c +-4.032 1.224 -3.888 0.648 -3.888 -0.072 c +-3.888 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.288 -2.592 -11.016 -2.16 -12.24 -0.864 c +-14.76 -3.384 l +-12.816 -5.4 -10.512 -6.048 -7.488 -6.048 c +-3.24 -6.048 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 171.122 10.345] cm +0 0 m +0 3.024 0.216 5.76 -2.016 7.992 c +-3.312 9.36 -5.256 9.936 -7.344 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.344 -10.152 l +-5.256 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.216 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.704 -6.624 c +-10.656 -6.624 l +-10.656 6.408 l +-7.704 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 188.474 0.19418] cm +0 0 m +0 3.528 l +-9.288 3.528 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.88 l +-9.288 11.88 l +-9.288 16.56 l +0 16.56 l +0 20.088 l +-13.176 20.088 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 207.842 0.19418] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.776 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.312 l +-3.528 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.698 70.322] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 116.546 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 134.762 59.882] cm +0 0 m +-3.96 0 l +-4.392 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.656 -0.936 -10.872 0 -10.872 3.888 c +-10.872 7.776 -10.656 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.392 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.672 14.112 -7.416 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.416 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 153.05 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.728 11.808 l +-10.728 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.728 0 l +-10.728 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 173.426 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 7.776 l +-11.88 20.016 l +-15.336 20.016 l +-15.336 0 l +-11.448 0 l +-11.448 12.312 l +-3.456 0 l +0 0 l +f* +Q +178.466 53.761 3.8879 20.016 re +f +q +[1 0 0 1 200.354 59.666] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.344 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 218.498 59.882] cm +0 0 m +-3.96 0 l +-4.32 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.584 -0.936 -10.8 0 -10.8 3.888 c +-10.8 7.776 -10.584 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.32 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.6 14.112 -7.344 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.344 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 236.786 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.656 11.808 l +-10.656 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.656 0 l +-10.656 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.146 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 4.5138 44.761] cm +0 0 m +20.088 0 l +20.088 -23.4 l +44.64 -23.4 l +44.64 0 l +64.656 0 l +64.656 -20.52 l +45.072 -40.104 l +19.584 -40.104 l +0 -20.52 l +0 0 l +h +62.496 -2.231 m +46.872 -2.231 l +46.872 -25.631 l +17.856 -25.631 l +17.856 -2.231 l +2.232 -2.231 l +2.232 -19.655 l +20.52 -37.871 l +44.208 -37.871 l +62.424 -19.655 l +62.496 -2.231 l +h +62.064 4.465 m +44.208 22.321 l +20.52 22.321 l +2.664 4.465 l +24.552 4.465 l +24.552 -18.935 l +40.176 -18.935 l +40.176 4.465 l +62.064 4.465 l +h +64.656 2.233 m +42.408 2.233 l +42.408 -21.167 l +22.32 -21.167 l +22.32 2.233 l +0 2.233 l +0 4.969 l +19.584 24.553 l +45.072 24.553 l +64.656 4.969 l +64.656 2.233 l +h +-4.464 6.697 m +-4.464 -22.247 l +17.856 -44.567 l +46.872 -44.567 l +69.12 -22.247 l +69.12 6.697 l +46.872 29.017 l +17.856 29.017 l +-4.464 6.697 l +h +-2.232 5.833 m +-2.232 -21.383 l +18.72 -42.335 l +45.936 -42.335 l +66.888 -21.383 l +66.888 5.833 l +45.936 26.785 l +18.72 26.785 l +-2.232 5.833 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-black.pdf b/Master/texmf-dist/tex/latex/tudscr/TUD-black.pdf Binary files differnew file mode 100644 index 00000000000..06439682a29 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-black.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-blue.eps b/Master/texmf-dist/tex/latex/tudscr/TUD-blue.eps new file mode 100644 index 00000000000..c035baacffb --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-blue.eps @@ -0,0 +1,988 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: AFPL Ghostscript 814 (epswrite) +%%Title: untitled +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 256 75 +%%HiResBoundingBox: 0 0 255.196 74.044 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 255.196 74.044 re +W +q +q +1 i +-279.324 -576.26 m +24720.676 -576.26 l +24720.676 24423.74 l +-279.324 24423.74 l +W +0.059998 0 255.24 74.04 re +W +/DeviceRGB {} cs +[0 0 0] sc +[0 0.1843 0.3686] sc +false op +false OP +225.986 47.138 3.4563 3.5281 re +f +235.418 47.138 3.4563 3.5281 re +f +q +[1 0 0 1 182.354 26.906] cm +0 0 m +-4.464 8.712 l +-2.52 9.36 -0.864 11.16 -0.864 13.968 c +-0.864 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 8.064 l +-8.496 8.064 l +-4.536 0 l +0 0 l +h +-4.752 13.968 m +-4.752 12.384 -5.904 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.632 l +-7.56 16.632 l +-5.904 16.632 -4.752 15.48 -4.752 13.968 c +f* +Q +q +[1 0 0 1 241.25 26.906] cm +0 0 m +-7.344 20.088 l +-10.368 20.088 l +-17.712 0 l +-13.608 0 l +-12.384 3.6 l +-5.256 3.6 l +-4.104 0 l +0 0 l +h +-6.336 6.912 m +-11.304 6.912 l +-8.784 14.184 l +-6.336 6.912 l +f* +Q +q +[1 0 0 1 100.058 33.818] cm +0 0 m +0 13.176 l +-3.888 13.176 l +-3.888 0.144 l +-3.888 -2.16 -5.328 -3.528 -7.416 -3.528 c +-9.504 -3.528 -10.872 -2.16 -10.872 0.144 c +-10.872 13.176 l +-14.76 13.176 l +-14.76 0 l +-14.76 -4.248 -11.52 -7.056 -7.416 -7.056 c +-3.312 -7.056 0 -4.248 0 0 c +f* +Q +q +[1 0 0 1 120.002 26.906] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.848 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.384 l +-3.528 0 l +0 0 l +f* +Q +124.682 26.906 3.9602 20.088 re +f +q +[1 0 0 1 147.434 46.994] cm +0 0 m +-4.104 0 l +-8.136 -13.032 l +-12.168 0 l +-16.2 0 l +-9.576 -20.088 l +-6.696 -20.088 l +0 0 l +f* +Q +q +[1 0 0 1 163.202 26.978] cm +0 0 m +0 3.456 l +-9.288 3.456 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.808 l +-9.288 11.808 l +-9.288 16.56 l +0 16.56 l +0 20.016 l +-13.176 20.016 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 198.698 32.882] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.272 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +202.514 26.906 3.8879 20.088 re +f +q +[1 0 0 1 224.186 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.074 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.632 l +-5.256 -16.632 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.842 10.345] cm +0 0 m +0 3.024 0.288 5.76 -2.016 7.992 c +-3.312 9.36 -5.184 9.936 -7.272 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.272 -10.152 l +-5.184 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.288 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.632 -6.624 c +-10.584 -6.624 l +-10.584 6.408 l +-7.632 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 119.21 0.19418] cm +0 0 m +-4.464 8.64 l +-2.52 9.36 -0.792 11.088 -0.792 13.896 c +-0.792 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 7.992 l +-8.424 7.992 l +-4.536 0 l +0 0 l +h +-4.752 13.896 m +-4.752 12.384 -5.832 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.56 l +-7.56 16.56 l +-5.832 16.56 -4.752 15.48 -4.752 13.896 c +f* +Q +q +[1 0 0 1 135.842 0.19418] cm +0 0 m +0 3.528 l +-9.36 3.528 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.88 l +-9.36 11.88 l +-9.36 16.56 l +0 16.56 l +0 20.088 l +-13.248 20.088 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 152.762 6.0982] cm +0 0 m +0 1.8 -0.504 3.24 -1.584 4.248 c +-2.448 5.04 -3.6 5.544 -5.4 5.832 c +-7.776 6.192 l +-8.568 6.264 -9.216 6.624 -9.648 6.984 c +-10.08 7.344 -10.224 7.92 -10.224 8.424 c +-10.224 9.792 -9.216 10.944 -7.128 10.944 c +-5.832 10.944 -4.248 10.728 -3.024 9.576 c +-0.504 12.024 l +-2.232 13.68 -4.248 14.328 -6.984 14.328 c +-11.376 14.328 -13.968 11.808 -13.968 8.28 c +-13.968 6.552 -13.536 5.256 -12.6 4.32 c +-11.664 3.456 -10.368 2.88 -8.64 2.664 c +-6.264 2.304 l +-5.328 2.16 -4.896 1.944 -4.464 1.584 c +-4.032 1.224 -3.888 0.648 -3.888 -0.072 c +-3.888 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.288 -2.592 -11.016 -2.16 -12.24 -0.864 c +-14.76 -3.384 l +-12.816 -5.4 -10.512 -6.048 -7.488 -6.048 c +-3.24 -6.048 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 171.122 10.345] cm +0 0 m +0 3.024 0.216 5.76 -2.016 7.992 c +-3.312 9.36 -5.256 9.936 -7.344 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.344 -10.152 l +-5.256 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.216 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.704 -6.624 c +-10.656 -6.624 l +-10.656 6.408 l +-7.704 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 188.474 0.19418] cm +0 0 m +0 3.528 l +-9.288 3.528 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.88 l +-9.288 11.88 l +-9.288 16.56 l +0 16.56 l +0 20.088 l +-13.176 20.088 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 207.842 0.19418] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.776 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.312 l +-3.528 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.698 70.322] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 116.546 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 134.762 59.882] cm +0 0 m +-3.96 0 l +-4.392 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.656 -0.936 -10.872 0 -10.872 3.888 c +-10.872 7.776 -10.656 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.392 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.672 14.112 -7.416 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.416 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 153.05 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.728 11.808 l +-10.728 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.728 0 l +-10.728 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 173.426 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 7.776 l +-11.88 20.016 l +-15.336 20.016 l +-15.336 0 l +-11.448 0 l +-11.448 12.312 l +-3.456 0 l +0 0 l +f* +Q +178.466 53.761 3.8879 20.016 re +f +q +[1 0 0 1 200.354 59.666] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.344 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 218.498 59.882] cm +0 0 m +-3.96 0 l +-4.32 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.584 -0.936 -10.8 0 -10.8 3.888 c +-10.8 7.776 -10.584 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.32 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.6 14.112 -7.344 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.344 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 236.786 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.656 11.808 l +-10.656 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.656 0 l +-10.656 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.146 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 4.5138 44.761] cm +0 0 m +20.088 0 l +20.088 -23.4 l +44.64 -23.4 l +44.64 0 l +64.656 0 l +64.656 -20.52 l +45.072 -40.104 l +19.584 -40.104 l +0 -20.52 l +0 0 l +h +62.496 -2.231 m +46.872 -2.231 l +46.872 -25.631 l +17.856 -25.631 l +17.856 -2.231 l +2.232 -2.231 l +2.232 -19.655 l +20.52 -37.871 l +44.208 -37.871 l +62.424 -19.655 l +62.496 -2.231 l +h +62.064 4.465 m +44.208 22.321 l +20.52 22.321 l +2.664 4.465 l +24.552 4.465 l +24.552 -18.935 l +40.176 -18.935 l +40.176 4.465 l +62.064 4.465 l +h +64.656 2.233 m +42.408 2.233 l +42.408 -21.167 l +22.32 -21.167 l +22.32 2.233 l +0 2.233 l +0 4.969 l +19.584 24.553 l +45.072 24.553 l +64.656 4.969 l +64.656 2.233 l +h +-4.464 6.697 m +-4.464 -22.247 l +17.856 -44.567 l +46.872 -44.567 l +69.12 -22.247 l +69.12 6.697 l +46.872 29.017 l +17.856 29.017 l +-4.464 6.697 l +h +-2.232 5.833 m +-2.232 -21.383 l +18.72 -42.335 l +45.936 -42.335 l +66.888 -21.383 l +66.888 5.833 l +45.936 26.785 l +18.72 26.785 l +-2.232 5.833 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-blue.pdf b/Master/texmf-dist/tex/latex/tudscr/TUD-blue.pdf Binary files differnew file mode 100644 index 00000000000..de733488b7d --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-blue.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-white.eps b/Master/texmf-dist/tex/latex/tudscr/TUD-white.eps new file mode 100644 index 00000000000..f1c27c2434f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-white.eps @@ -0,0 +1,987 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%XpdfVersion: 3.03 +%%Creator: AFPL Ghostscript 814 (epswrite) +%%Title: untitled +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 256 75 +%%HiResBoundingBox: 0 0 255.196 74.044 +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.03 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + 2 array astore + /setpagedevice where { + pop 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 2 lt { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 255.196 74.044 re +W +q +q +1 i +-279.324 -576.26 m +24720.676 -576.26 l +24720.676 24423.74 l +-279.324 24423.74 l +W +0.059998 0 255.24 74.04 re +W +/DeviceGray {} cs +[1] sc +false op +false OP +225.986 47.138 3.4563 3.5281 re +f +235.418 47.138 3.4563 3.5281 re +f +q +[1 0 0 1 182.354 26.906] cm +0 0 m +-4.464 8.712 l +-2.52 9.36 -0.864 11.16 -0.864 13.968 c +-0.864 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 8.064 l +-8.496 8.064 l +-4.536 0 l +0 0 l +h +-4.752 13.968 m +-4.752 12.384 -5.904 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.632 l +-7.56 16.632 l +-5.904 16.632 -4.752 15.48 -4.752 13.968 c +f* +Q +q +[1 0 0 1 241.25 26.906] cm +0 0 m +-7.344 20.088 l +-10.368 20.088 l +-17.712 0 l +-13.608 0 l +-12.384 3.6 l +-5.256 3.6 l +-4.104 0 l +0 0 l +h +-6.336 6.912 m +-11.304 6.912 l +-8.784 14.184 l +-6.336 6.912 l +f* +Q +q +[1 0 0 1 100.058 33.818] cm +0 0 m +0 13.176 l +-3.888 13.176 l +-3.888 0.144 l +-3.888 -2.16 -5.328 -3.528 -7.416 -3.528 c +-9.504 -3.528 -10.872 -2.16 -10.872 0.144 c +-10.872 13.176 l +-14.76 13.176 l +-14.76 0 l +-14.76 -4.248 -11.52 -7.056 -7.416 -7.056 c +-3.312 -7.056 0 -4.248 0 0 c +f* +Q +q +[1 0 0 1 120.002 26.906] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.848 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.384 l +-3.528 0 l +0 0 l +f* +Q +124.682 26.906 3.9602 20.088 re +f +q +[1 0 0 1 147.434 46.994] cm +0 0 m +-4.104 0 l +-8.136 -13.032 l +-12.168 0 l +-16.2 0 l +-9.576 -20.088 l +-6.696 -20.088 l +0 0 l +f* +Q +q +[1 0 0 1 163.202 26.978] cm +0 0 m +0 3.456 l +-9.288 3.456 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.808 l +-9.288 11.808 l +-9.288 16.56 l +0 16.56 l +0 20.016 l +-13.176 20.016 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 198.698 32.882] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.272 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +202.514 26.906 3.8879 20.088 re +f +q +[1 0 0 1 224.186 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.074 43.538] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.632 l +-5.256 -16.632 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.842 10.345] cm +0 0 m +0 3.024 0.288 5.76 -2.016 7.992 c +-3.312 9.36 -5.184 9.936 -7.272 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.272 -10.152 l +-5.184 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.288 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.632 -6.624 c +-10.584 -6.624 l +-10.584 6.408 l +-7.632 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 119.21 0.19418] cm +0 0 m +-4.464 8.64 l +-2.52 9.36 -0.792 11.088 -0.792 13.896 c +-0.792 17.28 -3.24 20.088 -7.344 20.088 c +-15.192 20.088 l +-15.192 0 l +-11.304 0 l +-11.304 7.992 l +-8.424 7.992 l +-4.536 0 l +0 0 l +h +-4.752 13.896 m +-4.752 12.384 -5.832 11.304 -7.56 11.304 c +-11.304 11.304 l +-11.304 16.56 l +-7.56 16.56 l +-5.832 16.56 -4.752 15.48 -4.752 13.896 c +f* +Q +q +[1 0 0 1 135.842 0.19418] cm +0 0 m +0 3.528 l +-9.36 3.528 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.88 l +-9.36 11.88 l +-9.36 16.56 l +0 16.56 l +0 20.088 l +-13.248 20.088 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 152.762 6.0982] cm +0 0 m +0 1.8 -0.504 3.24 -1.584 4.248 c +-2.448 5.04 -3.6 5.544 -5.4 5.832 c +-7.776 6.192 l +-8.568 6.264 -9.216 6.624 -9.648 6.984 c +-10.08 7.344 -10.224 7.92 -10.224 8.424 c +-10.224 9.792 -9.216 10.944 -7.128 10.944 c +-5.832 10.944 -4.248 10.728 -3.024 9.576 c +-0.504 12.024 l +-2.232 13.68 -4.248 14.328 -6.984 14.328 c +-11.376 14.328 -13.968 11.808 -13.968 8.28 c +-13.968 6.552 -13.536 5.256 -12.6 4.32 c +-11.664 3.456 -10.368 2.88 -8.64 2.664 c +-6.264 2.304 l +-5.328 2.16 -4.896 1.944 -4.464 1.584 c +-4.032 1.224 -3.888 0.648 -3.888 -0.072 c +-3.888 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.288 -2.592 -11.016 -2.16 -12.24 -0.864 c +-14.76 -3.384 l +-12.816 -5.4 -10.512 -6.048 -7.488 -6.048 c +-3.24 -6.048 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 171.122 10.345] cm +0 0 m +0 3.024 0.216 5.76 -2.016 7.992 c +-3.312 9.36 -5.256 9.936 -7.344 9.936 c +-14.544 9.936 l +-14.544 -10.152 l +-7.344 -10.152 l +-5.256 -10.152 -3.312 -9.576 -2.016 -8.208 c +0.216 -5.976 0 -3.024 0 0 c +h +-3.888 0 m +-3.888 -3.096 -4.032 -4.536 -4.752 -5.4 c +-5.4 -6.192 -6.336 -6.624 -7.704 -6.624 c +-10.656 -6.624 l +-10.656 6.408 l +-7.704 6.408 l +-6.336 6.408 -5.4 5.976 -4.752 5.184 c +-4.032 4.32 -3.888 3.024 -3.888 0 c +f* +Q +q +[1 0 0 1 188.474 0.19418] cm +0 0 m +0 3.528 l +-9.288 3.528 l +-9.288 8.352 l +-1.368 8.352 l +-1.368 11.88 l +-9.288 11.88 l +-9.288 16.56 l +0 16.56 l +0 20.088 l +-13.176 20.088 l +-13.176 0 l +0 0 l +f* +Q +q +[1 0 0 1 207.842 0.19418] cm +0 0 m +0 20.088 l +-3.96 20.088 l +-3.96 7.776 l +-11.88 20.088 l +-15.408 20.088 l +-15.408 0 l +-11.448 0 l +-11.448 12.312 l +-3.528 0 l +0 0 l +f* +Q +q +[1 0 0 1 99.698 70.322] cm +0 0 m +0 3.456 l +-14.4 3.456 l +-14.4 0 l +-9.144 0 l +-9.144 -16.56 l +-5.256 -16.56 l +-5.256 0 l +0 0 l +f* +Q +q +[1 0 0 1 116.546 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 134.762 59.882] cm +0 0 m +-3.96 0 l +-4.392 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.656 -0.936 -10.872 0 -10.872 3.888 c +-10.872 7.776 -10.656 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.392 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.672 14.112 -7.416 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.416 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 153.05 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.728 11.808 l +-10.728 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.728 0 l +-10.728 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 173.426 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 7.776 l +-11.88 20.016 l +-15.336 20.016 l +-15.336 0 l +-11.448 0 l +-11.448 12.312 l +-3.456 0 l +0 0 l +f* +Q +178.466 53.761 3.8879 20.016 re +f +q +[1 0 0 1 200.354 59.666] cm +0 0 m +0 1.728 -0.504 3.24 -1.584 4.248 c +-2.376 5.04 -3.528 5.544 -5.4 5.76 c +-7.776 6.12 l +-8.568 6.264 -9.216 6.552 -9.648 6.912 c +-10.008 7.344 -10.224 7.848 -10.224 8.352 c +-10.224 9.72 -9.216 10.872 -7.128 10.872 c +-5.76 10.872 -4.248 10.728 -3.024 9.504 c +-0.504 11.952 l +-2.232 13.608 -4.248 14.328 -6.984 14.328 c +-11.304 14.328 -13.968 11.808 -13.968 8.208 c +-13.968 6.552 -13.536 5.256 -12.528 4.248 c +-11.664 3.384 -10.368 2.88 -8.64 2.592 c +-6.264 2.232 l +-5.328 2.088 -4.824 1.944 -4.464 1.584 c +-4.032 1.152 -3.816 0.576 -3.816 -0.144 c +-3.816 -1.728 -5.112 -2.592 -7.416 -2.592 c +-9.216 -2.592 -10.944 -2.16 -12.24 -0.936 c +-14.76 -3.456 l +-12.816 -5.472 -10.512 -6.12 -7.416 -6.12 c +-3.24 -6.12 0 -3.888 0 0 c +f* +Q +q +[1 0 0 1 218.498 59.882] cm +0 0 m +-3.96 0 l +-4.32 -1.584 -5.4 -2.808 -7.344 -2.808 c +-8.424 -2.808 -9.288 -2.448 -9.864 -1.8 c +-10.584 -0.936 -10.8 0 -10.8 3.888 c +-10.8 7.776 -10.584 8.712 -9.864 9.576 c +-9.288 10.224 -8.424 10.584 -7.344 10.584 c +-5.4 10.584 -4.32 9.36 -3.96 7.776 c +0 7.776 l +-0.72 11.952 -3.6 14.112 -7.344 14.112 c +-9.576 14.112 -11.376 13.32 -12.816 11.88 c +-14.832 9.864 -14.76 7.344 -14.76 3.888 c +-14.76 0.432 -14.832 -2.088 -12.816 -4.104 c +-11.376 -5.544 -9.576 -6.336 -7.344 -6.336 c +-3.672 -6.336 -0.72 -4.176 0 0 c +f* +Q +q +[1 0 0 1 236.786 53.761] cm +0 0 m +0 20.016 l +-3.888 20.016 l +-3.888 11.808 l +-10.656 11.808 l +-10.656 20.016 l +-14.616 20.016 l +-14.616 0 l +-10.656 0 l +-10.656 8.352 l +-3.888 8.352 l +-3.888 0 l +0 0 l +f* +Q +q +[1 0 0 1 255.146 53.761] cm +0 0 m +0 3.456 l +-9.36 3.456 l +-9.36 8.352 l +-1.44 8.352 l +-1.44 11.808 l +-9.36 11.808 l +-9.36 16.56 l +0 16.56 l +0 20.016 l +-13.248 20.016 l +-13.248 0 l +0 0 l +f* +Q +q +[1 0 0 1 4.5138 44.761] cm +0 0 m +20.088 0 l +20.088 -23.4 l +44.64 -23.4 l +44.64 0 l +64.656 0 l +64.656 -20.52 l +45.072 -40.104 l +19.584 -40.104 l +0 -20.52 l +0 0 l +h +62.496 -2.231 m +46.872 -2.231 l +46.872 -25.631 l +17.856 -25.631 l +17.856 -2.231 l +2.232 -2.231 l +2.232 -19.655 l +20.52 -37.871 l +44.208 -37.871 l +62.424 -19.655 l +62.496 -2.231 l +h +62.064 4.465 m +44.208 22.321 l +20.52 22.321 l +2.664 4.465 l +24.552 4.465 l +24.552 -18.935 l +40.176 -18.935 l +40.176 4.465 l +62.064 4.465 l +h +64.656 2.233 m +42.408 2.233 l +42.408 -21.167 l +22.32 -21.167 l +22.32 2.233 l +0 2.233 l +0 4.969 l +19.584 24.553 l +45.072 24.553 l +64.656 4.969 l +64.656 2.233 l +h +-4.464 6.697 m +-4.464 -22.247 l +17.856 -44.567 l +46.872 -44.567 l +69.12 -22.247 l +69.12 6.697 l +46.872 29.017 l +17.856 29.017 l +-4.464 6.697 l +h +-2.232 5.833 m +-2.232 -21.383 l +18.72 -42.335 l +45.936 -42.335 l +66.888 -21.383 l +66.888 5.833 l +45.936 26.785 l +18.72 26.785 l +-2.232 5.833 l +f* +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/TUD-white.pdf b/Master/texmf-dist/tex/latex/tudscr/TUD-white.pdf Binary files differnew file mode 100644 index 00000000000..7d102aaad70 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/TUD-white.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..4bd42ae68ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty @@ -0,0 +1,100 @@ +%% +%% This is file `mathswap.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-mathswap.dtx (with options: `package') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-mathswap.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{mathswap}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (swap mathematical separators)% +] +\newcommand*\@commaswap{,} +\newcommand*\commaswap[1]{\gdef\@commaswap{#1}\ignorespaces} +\newcommand*\@dotswap{\,} +\newcommand*\dotswap[1]{\gdef\@dotswap{#1}\ignorespaces} +\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% + \mathswapon% +} +\newcommand*\mathswapon{% + \def\ms@commaswap{\@commaswap}% + \def\ms@dotswap{\@dotswap}% +} +\newcommand*\mathswapoff{% + \def\ms@commaswap{\ms@commachar}% + \def\ms@dotswap{\ms@dotchar}% +} +\newcommand*\ms@commaswap{} +\newcommand*\ms@dotswap{} +\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{\ms@commaswap}{\ms@commachar}} +\def\ms@smartdot{\ms@ifnum{\ms@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..e95c5944f8d --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls @@ -0,0 +1,3454 @@ +%% +%% 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: `load') +%% 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-comp.dtx (with options: `class,article,option') +%% tudscr-base.dtx (with options: `execute') +%% tudscr-fonts.dtx (with options: `class,body') +%% tudscr-color.dtx (with options: `class,body') +%% tudscr-fields.dtx (with options: `class,body') +%% tudscr-locale.dtx (with options: `class,article,body') +%% tudscr-pagestyle.dtx (with options: `class,article,body') +%% tudscr-layout.dtx (with options: `class,article,body') +%% tudscr-frontmatter.dtx (with options: `class,article,body') +%% tudscr-title.dtx (with options: `class,article,body') +%% tudscr-misc.dtx (with options: `class,article,body') +%% tudscr-comp.dtx (with options: `class,article,body') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\newcommand*\cls@name{article} +\newcommand*\scrcls@name{scrartcl} +\newcommand*\tudcls@name{tudscrartcl} +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{\tudcls@name}[% + 2014/12/17 v2.02 TUD-KOMA-Script + document class (\cls@name)% +] +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\tudscrmail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}{% + The package `tudscrfonts' must not be used with\MessageBreak% + a TUD-KOMA-Script class% + } +]{tudscrfonts} +\newif\if@tud@univers +\newif\if@tud@dinbold +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\newcommand*\tud@mathenc{OT1} +\newif\if@tud@fontspec +\TUD@key@lock{fontspec}[true]{% + \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass{% + \TUD@key{fontspec}[]{% + \ClassError{\tudcls@name}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +} +\AtEndPreamble{% + \@expandtwoargs\in@{OT}{\encodingdefault}% + \ifin@% + \def\tud@mathenc{OT1}% + \else% + \def\tud@mathenc{T1}% + \fi% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@univers.fd}}% + }% + \def\@tempb#1{% + \ClassInfoNoLine{\tudcls@name}{% + `#1' fonts not found for math typesetting% + }% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% + }% + \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% + }% + }% + \fi% + \@tempa{\@tud@universtrue}{\@tempb{Univers}}% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@dinbold.fd}}% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% + }% + \fi% + \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% + \if@tud@fontspec% + \if@tud@univers\if@tud@dinbold% + \PassOptionsToPackage{no-math}{fontspec}% + \fi\fi% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +} +\RequirePackage{textcase}[2004/10/07] +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath% + \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% + \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% +}{}{\tud@patch@wrn{@uclcnotmath}}% +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@numkey@bool,% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% + {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% + {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% + {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% + {noheavybarfont}{5},{barfontnoheavy}{5},% + {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% + {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% + {sansmath}{8},{sans}{8},% + {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% + {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% + {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% + {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \TUD@std@numkey@lock{barfont}{false}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=false}% + \TUD@std@numkey@lock{barfont}{true}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=true}% + \TUD@std@numkey@lock{barfont}{heavy}% + \or% + \TUDoptions{din=false}% + \or% + \TUDoptions{din=true}% + \or% + \TUDoptions{barfont=true}% + \or% + \TUDoptions{barfont=heavy}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath=true}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek=true}% + \or% + \TUDoptions{fontspec=true}% + \or% + \TUDoptions{fontspec=false}% + \fi% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@cdfonts% + \if@atdocument\tud@font@cdfonts\fi% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \if@atdocument% + \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}% + \normalfont\selectfont% + \fi% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newcommand*\tud@barfont{0} +\TUD@key@lock{barfont}[true]{% + \TUD@set@numkey@lock{barfont}{tud@barfont}{% + \TUD@numkey@bool,% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {color}{2},{colour}{2},% + {colorblack}{3},{colourblack}{3},% + {gray}{4},{grey}{4},{cdgray}{4},% + {black}{5},% + {blue}{6},{cddarkblue}{6},% + {white}{7}% +} +\newcommand*\tud@ddc@save{} +\newif\if@tud@ddc@save +\@tud@ddc@savetrue +\newcommand*\tud@ddc{0} +\newif\if@tud@ddc@autoset +\TUD@key{ddc}[true]{% + \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \ifcase \tud@ddc\relax% + \@tud@ddc@autosetfalse% + \else% + \@tud@ddc@autosettrue% + \fi% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \fi% +} +\newcommand*\tud@ddc@head{0} +\TUD@key{ddchead}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi% + \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@head\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@head\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@foot{0} +\TUD@key{ddcfoot}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@foot\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddchead=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head% + \let\@tempb\tud@ddc@foot% + \if@tud@ddc@autoset% + \ifx\tud@@headlogo\@empty% + \let\@tempa\tud@ddc% + \let\@tempb\z@% + \else% + \let\@tempa\z@% + \let\@tempb\tud@ddc% + \fi% + \fi% +} +\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} +\newcommand*\tud@pslist{} +\forcsvlist{\listadd\tud@pslist}{% + tudheadings,plain.tudheadings,empty.tudheadings% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument% + \if@tud@cdfoot% + \tud@ps@store{headings}% + \tud@ps@store{plain}% + \tud@font@koma@set{pageheadfoot}{\upshape}% + \clearpairofpagestyles% + \ofoot[\pagemark]{% + \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% + {\footnotesize\headmark}% + \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% + }% + \else% + \tud@ps@restore{headings}% + \tud@ps@restore{plain}% + \tud@font@koma@unset{pageheadfoot}% + \fi% + \fi% + \fi% +} +\newcommand*\tud@ps@store[1]{% + \tud@@ps@store{#1}{odd}{left}{head}{}% + \tud@@ps@store{#1}{odd}{right}{head}{}% + \tud@@ps@store{#1}{odd}{middle}{head}{}% + \tud@@ps@store{#1}{even}{left}{head}{}% + \tud@@ps@store{#1}{even}{right}{head}{}% + \tud@@ps@store{#1}{even}{middle}{head}{}% + \tud@@ps@store{#1}{odd}{left}{foot}{}% + \tud@@ps@store{#1}{odd}{right}{foot}{}% + \tud@@ps@store{#1}{odd}{middle}{foot}{}% + \tud@@ps@store{#1}{even}{left}{foot}{}% + \tud@@ps@store{#1}{even}{right}{foot}{}% + \tud@@ps@store{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@store[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + }% +} +\newcommand*\tud@ps@restore[1]{% + \tud@@ps@restore{#1}{odd}{left}{head}{}% + \tud@@ps@restore{#1}{odd}{right}{head}{}% + \tud@@ps@restore{#1}{odd}{middle}{head}{}% + \tud@@ps@restore{#1}{even}{left}{head}{}% + \tud@@ps@restore{#1}{even}{right}{head}{}% + \tud@@ps@restore{#1}{even}{middle}{head}{}% + \tud@@ps@restore{#1}{odd}{left}{foot}{}% + \tud@@ps@restore{#1}{odd}{right}{foot}{}% + \tud@@ps@restore{#1}{odd}{middle}{foot}{}% + \tud@@ps@restore{#1}{even}{left}{foot}{}% + \tud@@ps@restore{#1}{even}{right}{foot}{}% + \tud@@ps@restore{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@restore[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% + \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csundef{@@tud@ps@#1@#2@#3@#4}% + }% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + \TUD@numkey@bool,% + {typearea}{0},% + {tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{centred}{2},{centered}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\recalctypearea\fi% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@cover}{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\newcommand*\tud@layout@switch{} +\edef\tud@layout@switch{% + \TUD@numkey@bool,% + {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{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@cover}{0}% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \or% + \csstd@lock{tud@layout@cover}{1}% + \csstd@lock{tud@layout@title}{1}% + \csstd@lock{tud@layout@part}{1}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@cover}{1}% + \csstd@lock{tud@layout@title}{2}% + \csstd@lock{tud@layout@part}{2}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@cover}{1}% + \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% + \fi% +} +\TUD@key{cdcover}[true]{% + \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@cover}{0}% + \or% + \csset@lock{tud@layout@cover}{1}% + \or% + \csset@lock{tud@layout@cover}{2}% + \or% + \csset@lock{tud@layout@cover}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \AtEndOfFamilyOptions{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% + \ifcase \tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% + }% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@switch{% + {section}{2},{sect}{2},{sec}{2},{addsec}{2},% + {new}{2},{std}{2},{heading}{2},% + {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% + {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% + {nottotoc}{6},{notoc}{6},% + {markboth}{7},{mark}{7},% + {nomarkboth}{8},{nomark}{8},% + {one}{9},{simple}{9},{single}{9},% + {multi}{10},{multiple}{10},{all}{10},{two}{10},{both}{10},{double}{10},% + {nofil}{11},{nofill}{11},{novfil}{11},{novfill}{11},% + {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% +} +\newcommand*\tud@abstract@level{0} +\newbool@lock{@tud@abstract@toc} +\newif\if@tud@abstract@toc@leveldown +\newif\if@tud@abstract@markboth +\newif\if@tud@abstract@multi +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\TUD@key{abstract}[true]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}% + \@tud@abstract@toc@leveldownfalse% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \@tud@abstract@toc@leveldowntrue% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@markbothtrue% + \or% + \@tud@abstract@markbothfalse% + \or% + \@tud@abstract@multifalse% + \or% + \@tud@abstract@multitrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% + \fi% +} +\newcommand*\tud@declaration@level{1} +\newbool@lock{@tud@declaration@toc} +\newif\if@tud@declaration@toc@leveldown +\newif\if@tud@declaration@markboth +\newif\if@tud@declaration@multi +\@tud@declaration@multitrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\TUD@key{declaration}[true]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}{true}% + \@tud@declaration@toc@leveldownfalse% + \or% + \stdbool@lock{@tud@declaration@toc}{true}% + \@tud@declaration@toc@leveldowntrue% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@markbothtrue% + \or% + \@tud@declaration@markbothfalse% + \or% + \@tud@declaration@multifalse% + \or% + \@tud@declaration@multitrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% + \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@symbolheadings +\TUD@key{footnotes}{% + \TUD@set@numkey{footnotes}{@tempa}{% + {nosymbolheadings}{0},{numberheadings}{0},% + {symbolheadings}{1}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \@tud@symbolheadingsfalse% + \or% + \@tud@symbolheadingstrue% + \fi% + \fi% +} +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +%%% From File: tudscr-comp.dtx +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=lite}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfoot=true}% + \else% + \TUDoptions{cdfoot=false}% + \fi% + \fi% +} +\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{tudscrver}[last]{% + \scr@ifundefinedorrelax{tudscr@v@#1}{% + \def\tudscr@v@comp{0}% + \ClassWarningNoLine{\tudcls@name}{% + You have set option `tudscrver' to `#1', but\MessageBreak% + this value of version is not supported.\MessageBreak% + Because of this, version was set to `first'% + }% + \FamilyKeyStateProcessed% + }{% + \ClassInfoNoLine{\tudcls@name}{% + Switching compatibility level to `#1'% + }% + \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \FamilyKeyStateProcessed% + }% +} +\AtEndOfClass{% + \TUD@key{tudscrver}[]{% + \ClassError{\tudcls@name}{Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@3.12}{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% + \ClassError{\tudcls@name}{% + KOMA-Script compatibility level too low% + }{% + \TUDVersion\space has to be used at least with\MessageBreak% + KOMA-Script `version=v3.12'% + }% + \fi% + }{% + \ClassError{\tudcls@name}{% + outdated version of KOMA-Script% + }{% + \TUDVersion\space has to be used with KOMA-Script v3.12 or newer% + }% + }% +} +\@namedef{tudscr@v@first}{0} +\@namedef{tudscr@v@2.02}{0} +\@namedef{tudscr@v@last}{0} +%%% From File: tudscr-base.dtx +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions\relax +\LoadClass{\scrcls@name}[2013/12/19] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\tudcls@name}{% + The package `graphics' was superseded by `graphicx'% + }% + }{}% + }% + \RequirePackage{graphicx}[1999/02/16]% + \RequirePackage{tudscrcolor}[\TUDVersion]% +} +%%% From File: tudscr-fonts.dtx +\AtEndPreamble{% + \if@tud@fontspec% + \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% + \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% + \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% + \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% + \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% + \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% + \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% + \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% + \newcommand*\textuln[1]{{\univln#1}} + \newcommand*\texturn[1]{{\univrn#1}} + \newcommand*\textubn[1]{{\univbn#1}} + \newcommand*\textuxn[1]{{\univxn#1}} + \newcommand*\textuls[1]{{\univls#1}} + \newcommand*\texturs[1]{{\univrs#1}} + \newcommand*\textubs[1]{{\univbs#1}} + \newcommand*\textuxs[1]{{\univxs#1}} + \else% + \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% + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \fi% + \if@tud@fontspec% + \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% + \newcommand*\textdbn[1]{{\dinbn#1}} + \else% + \if@tud@dinbold% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% + \else% + \let\dinbn\sectfont% + \fi% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textdbn}{\dinbn} + \fi% + \DeclareMathVersion{univers} + \DeclareMathVersion{universbold} + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{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}{\tud@univers t}{l}{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} + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} + \DeclareMathVersion{dinbold} + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{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} + \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@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}% + \if@tud@fontspec% + \if@tud@heavyfont% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ] + \else% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \if@tud@heavyfont% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \fi% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \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@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% +} +\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@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% +} +\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@head@font@bold{} +\newcommand*\tud@head@font@light{} +\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}{\mddefault}{n}{\tud@head@font@size}% + \ifcase \tud@barfont\relax% + \if@tud@cdfonts% + \ClassWarning{\tudcls@name}{% + It isn't possible to use `barfont=false'\MessageBreak% + together with `cdfont=true'% + }% + \fi% + \or% + \@tud@cdfontstrue% + \def\mddefault{l}% + \or% + \@tud@cdfontstrue% + \def\mddefault{m}% + \fi% + \if@tud@cdfonts% + \if@tud@fontspec% + \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@font@size}% + \ifstr{\mddefault}{m}{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + }{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@font@size}% + }% + \else% + \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}{\mddefault}{n}{\tud@head@font@size}% + \fi% + \fi% + \fi% +} +\newrobustcmd*\ifdin{% + \@tempswafalse + \@expandtwoargs\in@{DINBold}{\f@family}% + \ifin@\@tempswatrue\fi% + \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% + \if@tempswa + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \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-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \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-fields.dtx +\RequirePackage{trimspaces}[2009/09/17] +\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*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \protected@xdef\@@title{\trim@spaces{#1}}% + \endgroup% +} +\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% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% + \endgroup% + \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]{% + \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}% + }% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@graduation{} +\newcommand*\@graduationabbr{} +\newcommand*\graduation[2][]{% + \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}% + \gdef\@graduation{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{\gdef\@supervisor{#1}} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{\gdef\@supporter{#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}% +} +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\providecommand*\publisher[1]{\publishers{#1}} +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@date% + \\[20mm 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*\printdate[1]{#1} +\BeforePackage{isodate}{\undef\printdate} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% +} +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +%%% 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' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single 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 \tudscrmail% + }% + }% +} +\tud@locale@define{\graduationtext} +\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{\professorothername} +\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{\blockingname} +\tud@locale@define{\blockingtext} +\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{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}% +\tud@locale@german{\supervisorname}{Betreuer}% +\tud@locale@german{\supervisorothername}{}% +\tud@locale@german{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + Erstgutachter% + \else% + Gutachter% + \fi% +} +\tud@locale@german{\refereeothername}{Zweitgutachter}% +\tud@locale@german{\advisorname}{Fachreferent}% +\tud@locale@german{\advisorothername}{}% +\tud@locale@german{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Betreuende Hochschullehrer% + \else% + Betreuender Hochschullehrer% + \fi% +} +\tud@locale@german{\professorothername}{}% +\tud@locale@german{\datetext}{Eingereicht am}% +\tud@locale@german{\dateofbirthtext}{Geboren am}% +\tud@locale@german{\placeofbirthtext}{in}% +\tud@locale@german{\defensedatetext}{Verteidigt am}% +\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}% +\tud@locale@german{\matriculationnumbername}{Matrikelnummer}% +\tud@locale@german{\coverpagename}{Umschlagseite}% +\tud@locale@german{\titlepagename}{Titelblatt}% +\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}% +\tud@locale@german{\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.% +} +\tud@locale@german{\blockingname}{Sperrvermerk}% +\tud@locale@german{\blockingtext}{% + 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 Technischen + Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des + Pr\"ufungsausschusses zug\"anglich zu machen.% +} +\tud@locale@german{\listingname}{Quelltext}% +\tud@locale@german{\listlistingname}{Quelltextverzeichnis}% +\tud@locale@german{\dissertationname}{Dissertation}% +\tud@locale@german{\diplomathesisname}{Diplomarbeit}% +\tud@locale@german{\masterthesisname}{Master-Arbeit}% +\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}% +\tud@locale@german{\studentresearchname}{Studienarbeit}% +\tud@locale@german{\projectpapername}{Projektarbeit}% +\tud@locale@german{\seminarpapername}{Seminararbeit}% +\tud@locale@german{\researchname}{Forschungsbericht}% +\tud@locale@german{\logname}{Protokoll}% +\tud@locale@german{\internshipname}{Praktikumsbericht}% +\tud@locale@german{\reportname}{Bericht}% +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +\tud@locale@english{\graduationtext}{to achieve the academic degree}% +\tud@locale@english{\supervisorname}{Supervisor}% +\tud@locale@english{\supervisorothername}{}% +\tud@locale@english{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + First referee% + \else% + Referee% + \fi% +} +\tud@locale@english{\refereeothername}{Second referee}% +\tud@locale@english{\advisorname}{Advisor}% +\tud@locale@english{\advisorothername}{}% +\tud@locale@english{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Supervising professors% + \else% + Supervising professor% + \fi% +} +\tud@locale@english{\professorothername}{}% +\tud@locale@english{\datetext}{Submitted on}% +\tud@locale@english{\dateofbirthtext}{Born on}% +\tud@locale@english{\placeofbirthtext}{in}% +\tud@locale@english{\defensedatetext}{Defended on}% +\tud@locale@english{\matriculationyearname}{Matriculation year}% +\tud@locale@english{\matriculationnumbername}{Matriculation number}% +\tud@locale@english{\coverpagename}{Cover page}% +\tud@locale@english{\titlepagename}{Title page}% +\tud@locale@english{\confirmationname}{Statement of authorship}% +\tud@locale@english{\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.% +} +\tud@locale@english{\blockingname}{Restriction note}% +\tud@locale@english{\blockingtext}{% + 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 + Technische Universit\"at Dresden, the reviewers and also the + members of the examination board.% +} +\tud@locale@english{\listingname}{Listing}% +\tud@locale@english{\listlistingname}{List of Listings}% +\tud@locale@english{\dissertationname}{Dissertation}% +\tud@locale@english{\diplomathesisname}{Diploma Thesis}% +\tud@locale@english{\masterthesisname}{Master Thesis}% +\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}% +\tud@locale@english{\studentresearchname}{Student Research Project}% +\tud@locale@english{\projectpapername}{Project Paper}% +\tud@locale@english{\seminarpapername}{Seminar Paper}% +\tud@locale@english{\researchname}{Research Report}% +\tud@locale@english{\logname}{Log}% +\tud@locale@english{\internshipname}{Internship Report}% +\tud@locale@english{\reportname}{Report}% +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +\AfterPackage{mathswap}{% + \tud@locale@german{\@commaswap}{,}% + \tud@locale@german{\@dotswap}{\,}% + \tud@locale@english{\@commaswap}{\,}% + \tud@locale@english{\@dotswap}{.}% +} +%%% 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@line} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@headdiff} +\newlength{\tud@dim@ddcdiff} +\newlength{\tud@dim@ddcfoot} +\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\relax}% + \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% +} +\newcommand*\tud@ifsacrop{% + \ifcsdef{ifsa@crop}{% + \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% + }{% + \@secondoftwo% + }% +} +\AtEndPreamble{% + \tud@ifsacrop{% + \PreventPackageFromLoading{scrlayer-scrpage}% + \pagestyle{empty}% + \hoffset=-72.27pt% + \voffset=-72.27pt% + \topmargin=0pt% + \headheight=0pt% + \headsep=0pt% + \marginparsep=0pt% + \marginparwidth=0pt% + \footskip=0pt% + \marginparpush=0pt% + \oddsidemargin=0pt% + \evensidemargin=0pt% + \topskip=0pt% + \textheight=\dimexpr\maxdimen% + }{}% +} +\AtEndPreamble{% + \RequirePackage{scrlayer-scrpage}[2013/12/14]% + \AfterPackage*{scrlayer-scrpage}{% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + },% + ]{tudheadings.head.mainlogo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={\hfill\tud@headlogo},% + ]{tudheadings.head.logo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.topline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.bottomline}% + \DeclareNewLayer[% + background,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.topwideline}% + \DeclareNewLayer[% + background,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.bottomwideline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + contents={\tud@head@text@box},% + ]{tudheadings.head.text}% + \DeclareNewLayer[% + background,foot,% + contents={% + \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% + \hfill\tud@footlogo% + },% + ]{tudheadings.foot.ddclogo}% + \newpairofpagestyles{tudheadings}{}% + \ForEachLayerOfPageStyle{tudheadings}{% + \RemoveLayersFromPageStyle{tudheadings}{#1}% + }% + \ForEachLayerOfPageStyle{plain.tudheadings}{% + \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% + }% + \AddLayersToPageStyle{tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + scrheadings.foot.odd,% + scrheadings.foot.even,% + scrheadings.foot.oneside,% + scrheadings.foot.above.line,% + scrheadings.foot.below.line% + }% + \AddLayersToPageStyle{plain.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + plain.scrheadings.foot.odd,% + plain.scrheadings.foot.even,% + plain.scrheadings.foot.oneside,% + plain.scrheadings.foot.above.line,% + plain.scrheadings.foot.below.line% + }% + \DeclareNewPageStyleByLayers{empty.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + }% + \AddToLayerPageStyleOptions{tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{plain.tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{empty.tudheadings}{% + onselect={% + \letcs\ps@empty{ps@empty.tudheadings}% + \letcs\ps@plain{ps@plain.tudheadings}% + \letcs\ps@headings{ps@tudheadings}% + }% + }% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% + \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + }% +} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforepagestyle[1]{% + \def\@tempa{#1}% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% + }{}% + \tud@ifinpslist{\@tempa}{% + \tud@ddc@check% + \ifcase \@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + \setlength{\tud@dim@headdiff}{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + \RedeclarePageStyleByLayers{empty}{}% + }% + \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% + \ifcase \tud@geometry\relax\else% + \if@hincl% + \addtolength{\tud@dim@headdiff}{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% + \fi% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% +} +\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} +\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} +\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoublepageusingstyle}} +\newcommand*\tud@ddc@enlargepage{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\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[1]{% + \color{\tud@head@color}% + \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% +} +\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@box{% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% + \faculty{}% + \fi% + \color{\tud@head@color}% + \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\relax}% + \hfuzz=\@tempdima% + \fi% + \vbox{% + \linespread{0}\selectfont% + \tud@head@text@write{\tud@head@text@first}% + \ifx\tud@head@text@second\@empty% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% + \fi% + \else% + \newline\tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \fi% + \fi% + }% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[% + \dimexpr\tud@dim@barheight-\depth\relax% + ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}% +} +\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@mainlogo@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', inner margin is #1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (`DIV=\the\ta@div')% + }% + \global\let\tud@mainlogo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \setlength{\@tempdima}{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + }% + \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% + \def\tud@@mainlogo{TUD-black}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \global\let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% + \color{\tud@head@color}% + \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% +} +\newcommand*\headlogo[2][]{% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \def\tud@@headlogo{#2}% + \def\tud@@@headlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} +\newcommand*\tud@@headlogo{} +\newcommand*\tud@@@headlogo{} +\newcommand*\tud@headlogo{% + \tud@ddc@check% + \ifx\tud@@headlogo\@empty\else% + \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% + \fi% + \ifcase \@tempa\relax\or% + \def\tud@@headlogo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \or% + \def\tud@@headlogo{DDC-03}% + \or% + \def\tud@@headlogo{DDC-09}% + \or% + \def\tud@@headlogo{DDC-21}% + \or% + \def\tud@@headlogo{DDC-24}% + \or% + \def\tud@@headlogo{DDC-27}% + \or% + \def\tud@@headlogo{DDC-30}% + \fi% + \ifx\tud@@headlogo\@empty\else% + \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% + \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% + {}{\tud@patch@wrn{tud@@@headlogo}}% + \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% + \fi% +} +\newcommand*\tud@headlogo@wrn{% + \ClassWarning{\tudcls@name}{% + The secondary logo given with `\string\headlogo' is\MessageBreak% + overwritten with DDC logo. Maybe you should use\MessageBreak% + `ddcfoot' or better `ddc' instead of `ddchead'% + }% + \global\let\tud@headlogo@wrn\relax% +} +\newcommand*\tud@@footlogo{} +\newcommand*\tud@footlogo{% + \tud@ddc@check% + \ifcase \@tempb\relax\or% + \def\tud@@footlogo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \or% + \def\tud@@footlogo{DDC-01}% + \or% + \def\tud@@footlogo{DDC-07}% + \or% + \def\tud@@footlogo{DDC-19}% + \or% + \def\tud@@footlogo{DDC-22}% + \or% + \def\tud@@footlogo{DDC-25}% + \or% + \def\tud@@footlogo{DDC-28}% + \fi% + \ifx\tud@@footlogo\@empty\else% + \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \fi% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newcommand*\tud@geometry@restore{} +\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}% + \let\tud@geometry@restore\Gm@restore@org% + \if@atdocument% + \let\Gm@restore@org\relax% + \tud@geometry@process% + \gdef\tud@currentgeometry{}% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + \fi% + \let\Gm@restore@org\tud@geometry@restore% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\AtEndPreamble{% + \tud@ifsacrop{}{% + \recalctypearea% + \RequirePackage{geometry}[2010/09/12]% + \tud@geometry@process% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }% +} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in\relax,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top={% + \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% + },% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight={% + \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% + },% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + \setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + }% + \ifdim\tud@ta@headdiff<\z@\relax% + \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \fi% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + 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\relax,% + 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\relax,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + \if@fincl% + bottom=\dimexpr% + \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% + \else% + bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% + \fi% + footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + }% + \setlength{\tud@ta@headdiff}{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight% + +\tud@dim@headsep-\tud@dim@top\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + }% + \fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \global\tud@ta@headdiff=\tud@ta@headdiff% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + ignorehead,% + \tud@geometry@fincl% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{typearea}% +} +\newcommand*\tud@geometry@hincl{% + \if@hincl% + includehead,% + \else% + ignorehead,% + \fi% +} +\newcommand*\tud@geometry@fincl{% + \if@fincl% + includefoot,% + \else% + ignorefoot,% + \fi% +} +\newcommand*\tud@ps{tudheadings} +\newcommand*\tud@ps@select{% + \expandafter\pagestyle\expandafter{\tud@ps}% +} +\newcommand*\tud@currentpagestyle{} +\newcommand*\tud@currentpagestyle@set{% + \ifdefvoid{\tud@currentpagestyle}{% + \xdef\tud@currentpagestyle{\currentpagestyle}% + }{}% +} +\newcommand*\tud@currentpagestyle@reset{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% +} +\NewEnviron{tudpage}[1][]{% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{tudheadings}% + \TUD@parameter@set[tudpage]{#1}% + \tud@ps@select% + \tud@multicols@check% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \aftergroup\tud@currentpagestyle@reset% + \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@parameter@let{colour}{color}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% + \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% + \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{pagestyle}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@wrn{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}}}}% + }% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@let{logo}{headlogo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@color@partfont{black} +\newcommand*\tud@font@heading{% + \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% +} +\newcommand*\tud@font@heading@size{\Huge} +\newkomafont{parttitle}{% + \tud@font@heading% + \color{\tud@color@partfont}% + \usesizeofkomafont{section}% +} +\newlength{\pageheadingsvskip} +\newlength{\headingsvskip} +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@cover\relax% + \stdbool@lock{@tud@cover@cdlayout}{false}% + \else% + \stdbool@lock{@tud@cover@cdlayout}{true}% + \fi% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@cmd@restore{titlepagestyle}% + \tud@font@koma@unset{titlehead}% + \tud@font@koma@unset{title}% + \tud@font@koma@unset{subtitle}% + \tud@font@koma@unset{subject}% + \tud@font@koma@unset{author}% + \tud@font@koma@unset{date}% + \tud@font@koma@unset{publishers}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@cmd@store{titlepagestyle}% + \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}% + \tud@font@koma@set{title}{% + \usekomafont{disposition}% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{% + \fontfamily{\sfdefault}% + \fontseries{\bfdefault}% + \selectfont% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{author}{\usekomafont{subject}}% + \tud@font@koma@set{date}{\usekomafont{titlepage}}% + \tud@font@koma@set{publishers}{\usekomafont{author}}% + \let\maketitle\tud@maketitle% + \renewcommand*\titlepagestyle{plain.tudheadings}% + \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@unset{partnumber}% + \else% + \tud@cmd@store{partheadstartvskip}% + \tud@cmd@store{partheadmidvskip}% + \tud@cmd@store{@part}% + \tud@sectioning@set[addpart]{part}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \renewcommand*\partheadmidvskip{\par\nobreak\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% +} +\AtEndPreamble{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% +} +\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}}% +\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} +\providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% +} +\providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a +} +\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@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{\@@tud@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]{% + \csedef{#1}{% + \noexpand\SecDef% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@#1\endcsname% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@s#1\endcsname% + }% + \csedef{tud@#1}[##1]##2{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname% + [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}% + }% + \csedef{tud@s#1}##1{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname*% + {\noexpand\tud@sectioning@uppercase{##1}}% + }% + \ifstr{#1}{addsec}{% + \def\tud@addsec[##1]##2{% + \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}% + }% + \def\tud@saddsec##1{% + \@@tud@addsec*{\tud@sectioning@uppercase##1}% + }% + }{}% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@unset{#2}% +} +\robustify{\footnote}% +\newcommand*\tud@sectioning@uppercase[1]{% + \begingroup% + \if@tud@symbolheadings% + \let\c@footnote\c@symbolheadings% + \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}% + \fi% + \tud@makeuppercase{#1}% + \endgroup% +} +\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]{% + \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% +} +\newcommand*\tud@font@koma@unset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@check[2]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \@tempswatrue% + \ifboolexpr{bool {@tud@#1@fil} and bool {@tud@#1@multi}}{% + \setbox0\vbox{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-\baselineskip}}% + \fi% + #2% + }% + \ifdim\textheight<\dimexpr\ht0+\dp0\relax% + \ClassWarning{\tudcls@name}{% + The given content within the `#1'\MessageBreak% + environment is too large, so it wasn't possible\MessageBreak% + to center the body vertically. Setting the option\MessageBreak% + `#1=nofill' would be a solution. You\MessageBreak% + could also use multiple `#1' environments% + }% + \@tempswafalse% + \fi% + }{}% + }{}% + #2% +} +\newcommand*\tud@fm@set[3]{% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \if@titlepage% + \ifbool{@tud@#1@multi}{}{\clearpage}% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \if@tempswa\vspace*{\z@ \@plus 1fil}\fi% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 2fil}}{}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\begin{\tud@quoting}\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\end{\tud@quoting}\fi% + \fi% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \ifbool{@tud@#1@multi}{% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \or% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \@afterindentfalse% + \begingroup% + \centering% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \endgraf% + \endgroup% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip\relax% + \@afterheading% + \or% + \section*{#2}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi% + \fi% + \ifbool{@tud@#1@markboth}{% + \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}% + }{}% + \ifbool{@tud@#1@toc}{% + \ifbool{@tud@#1@toc@leveldown}{% + \addsubsectiontocentry{}{#2}% + }{% + \addsectiontocentry{}{#2}% + } + }{}% +} +\newcommand*\tud@fm@next[2]{% + \TUD@parameter@set[#1]{#2}% + \if@twocolumn% + \ifbool{@tud@#1@multi}{\par}{\newpage} + \else% + \if@titlepage% + \ifbool{@tud@#1@fil}{% + \vspace*{\z@ \@plus 1fil}% + \ifbool{@tud@#1@multi}{}{% + \vspace*{\z@ \@plus 1fil}% + \clearpage% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \vspace*{\z@ \@plus 1fil}% + }% + }{\ifbool{@tud@#1@multi}{}{\clearpage}}% + \else% + \ifnum\@nameuse{tud@#1@level}<2 + \end{\tud@quoting} + \begin{\tud@quoting} + \fi% + \fi% + \fi% +} +\newcommand*\tud@fm@pagestyle[2]{% + \if@titlepage% + \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + }% + \else% + \ClassWarning{\tudcls@name}{% + The key `pagestyle' can only be used with\MessageBreak% + activated option `titlepage'% + }% + \fi% +} +\newcommand*\tud@quoting{quotation} +\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} +\csundef{abstract} +\csundef{endabstract} +\NewEnviron{abstract}[1][]{% + \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \TUD@parameter@set[abstract]{#1}% + \if@tud@abstract@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \@tud@abstract@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\nextabstract[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \else% + \ifbool{@tud@abstract@multi}{% + \ifcase\@nameuse{tud@abstract@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \fi% + \tud@fm@next{abstract}{#1}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{abstract}{\abstractname}}]% + \else% + \tud@fm@head{abstract}{\abstractname}% + \fi% +} +\newif\if@tud@declarations +\NewEnviron{declarations}[1][]{% + \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \@tud@declarationstrue% + \TUD@parameter@set[declaration]{#1}% + \if@tud@declaration@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{declaration}{\BODY}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \@tud@declaration@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{company}{\def\@company{#1}}% + \TUD@parameter@define{supporter}{\def\@supporter{#1}}% + \TUD@parameter@define{place}{\def\@place{#1}}% + \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\declaration[1][]{% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \tud@fm@blocking + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \tud@fm@blocking% + \end{declarations}% + }% +} +\newcommand*\confirmation[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@confirmation{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\confirmationname}{% + \confirmationtext\vskip0pt\@confirmationclosing% + }% + }% +} +\newcommand*\blocking[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@blocking% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@blocking% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@blocking{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\blockingname}{\blockingtext}% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{titlepage}{% + \usekomafont{subject}% + \fontseries{\mddefault}% + \selectfont% + \large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titlepagenumber{}% +\let\tud@titlepagenumber\relax% +\newcommand*\tud@maketitle[1][]{% + \begingroup% + \TUD@parameter@set[title]{#1}% + \ifcase \tud@layout@title + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \if@titlepage% + \tud@maketitlepage% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \let\@maketitle\tud@@maketitle% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \if@twocolumn% + \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \else% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \fi% + \fi% + \fi% + \endgroup% +} +\TUD@parameter{title}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% +}% +\robustify{\thanks}% +\robustify{\footnotemark}% +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitlepage{% + \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% + \begin{titlepage}% + \ifx\tud@titlepagenumber\relax\else% + \setcounter{page}{\tud@titlepagenumber}% + \fi% + \if@tud@cover\else% + \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% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using option `titlepage=firstiscover' is only\MessageBreak% + possible with an extra title. Alternatively you can\MessageBreak% + create a cover with `\string\makecover'% + }% + \fi% + \else% + \if@titlepageiscoverpage% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\global\noexpand\@titlepageiscoverpagefalse% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \footskip=\baselineskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \else% + \let\titlepage@restore\relax% + \fi% + \noindent\@extratitle\next@tdpage% + \fi% + \fi% + \if@tud@bookmarks% + \if@tud@cover% + \tudbookmark[1]{\coverpagename}{cover}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \else% + \tudbookmark[1]{\titlepagename}{title}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \fi% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \ifx\@date\@empty\else% + \vskip 2ex\@plus.1fill% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \fi% + \fi% + \vskip 2ex\@plus.25fill% + \else% + \vskip 2ex\@plus.25fill% + \if@tud@subjectthesis\else% + {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \if@tud@cover\else% + \ifx\@graduation\@empty\else% + \def\@tempc{% + \@graduation% + \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi% + }% + {\usekomafont{titlepage}{\graduationtext\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \if@tud@subjectthesis% + {\usekomafont{subject}{\@tempc\par}}% + \else% + {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}% + \fi% + \vskip 3ex\@plus1ex\@minus1ex% + \fi% + \fi% + \vskip 2ex\@plus.5fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor}% + \tud@title@names{referee}% + \tud@title@names{advisor}% + \tud@title@names{professor}% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + `\string\submissiondate' or `\string\date' 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' or `\string\date' was not given.% + \MessageBreak It's substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@defensedate\@empty\else% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + {\usekomafont{date}{\@defensedate\par}}% + \fi% + \fi% + \fi% + \fi% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus.25fill% + {\usekomafont{publishers}{\@publishers\par}}% + \vskip\z@\@plus.25fill% + \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% + \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}}% + \thispagestyle{empty.tudheadings}% + \tud@ddc@enlargepage% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \begingroup% + \@tempa% + \begingroup% + \let\thispagestyle\@gobble% + \next@tpage% + \endgroup% + \tud@restorepagecolor% + \endgroup% + \tud@titleback% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \fi% +} +\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% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1name}\par}}% + {\usekomafont{author}{\@nameuse{@#1}\par}}% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \global\@topnum=\z@% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\headingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \tud@footnote@unhyper% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \TUDoptions{subjectthesis=true}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{publishers}{\@publishers\par}}% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \fi% + \ifx\@graduation\@empty\else\tud@title@wrn{graduation}\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% + \vskip 2\bigskipamount% + \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \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% + \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@check@author{% + \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}% +} +\newcommand*\tud@split@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + {\usekomafont{author}{\ignorespaces#1}}% + \if@tud@cover\else% + \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% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\RequirePackage{afterpage}[1995/10/27] +\newcommand\maketitleonecolumn[2][]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn{#2}\twocolumn% + \else% + \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + `\string\maketitleonecolumn' can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\tud@title@twocolumn@box +\newcommand\tud@title@twocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \endgroup% + \setlength{\@tempdimc}{\textheight}% + \tud@ifinpslist{\titlepagestyle}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else% + \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% + \fi% + }{}% + }{}% + \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdimc% + \clearpage% + \setlength{\@tempdimc}{\textheight}% + }% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \ifdim\@tempdimc<\textheight\relax% + \enlargethispage{-\tud@dim@ddcdiff}% + \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \fi% +} +\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' has to be used with\MessageBreak% + activated titlepage option% + }% +} +\newif\if@tud@cover +\newcommand*\tud@coverpagetopmargin{} +\let\tud@coverpagetopmargin\coverpagetopmargin +\newcommand*\makecover[1][]{% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using both option `titlepage=firstiscover' and\MessageBreak% + `\string\makecover' together isn't supported. The\MessageBreak% + option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + want to create an individual cover, you have to use\MessageBreak% + `\string\extratitle' instead of `\string\makecover'.\MessageBreak% + See also the documentation of KOMA-Script% + }% + \@titlepageiscoverpagefalse% + \fi% + \clearpage% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \TUD@parameter@set[cover]{#1}% + \let\tud@layout@title\tud@layout@cover% + \tud@layout@process% + \if@tud@cover@cdlayout% + \ifcase \tud@layout@cover\relax% + \let\coverpagetopmargin\tud@dim@top% + \else% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + }% + \fi% + \let\coverpagebottommargin\tud@dim@bottom% + \let\coverpageleftmargin\tud@dim@left% + \let\coverpagerightmargin\tud@dim@right% + \else% + \ifcase \tud@layout@cover\relax\else% + \expandafter\def\expandafter\coverpagetopmargin\expandafter{% + \coverpagetopmargin-\tud@coverpagetopmargin% + }% + \fi% + \fi% + \ifcase \tud@layout@cover\relax% + \KOMAoptions{titlepage=firstiscover}% + \let\@extratitle\@empty% + \let\@uppertitleback\@empty% + \let\@lowertitleback\@empty% + \let\@dedication\@empty% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \@tud@covertrue% + \@titlepagetrue% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \if@tud@cover@cdlayout% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \else% + \textheight=\dimexpr\paperheight-\coverpagebottommargin% + -\tud@dim@headheight-\tud@dim@barheight% + -\tud@dim@headsep-\tud@dim@bottom\relax% + \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% + \headsep=\tud@dim@headsep% + \fi% + \footskip=\tud@dim@footskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% + \csname titlepage@restore\endcsname% + \fi% + \endgroup% +} +\newbool@lock{@tud@cover@cdlayout} +\TUD@parameter{cover}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{% + \ifxnumber{#1}{% + \TUD@parameter@set[cover]{pagenumber=#1}% + }{% + \TUD@parameter@set[cover]{cdlayout=#1}% + }% + }% +}% +%%% From File: tudscr-misc.dtx +\newcounter{symbolheadings} +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\tud@footnote@unhyper{} +\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% + }% + \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% +} +\pretocmd{\maketitle}{% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[1]{\titlepagename}{title}% +}{}{\tud@patch@wrn{maketitle}} +\pretocmd{\tableofcontents}{% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[1]{\contentsname}{toc}% +}{}{\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]{% + \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% + \protect\vphantom{\"A\"O\"U}% +%% \addtokomafont{section}{\strut\ignorespaces}% +} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\providecommand*\protected@expandtwoargs[3]{% + \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% +} +%%% From File: tudscr-comp.dtx +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\student{} +\let\student\author +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\newcommand*\location{} +\let\location\place +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +\newcommand*\logofile{} +\let\logofile\headlogo +\newcommand*\logofilename{} +\let\logofilename\headlogo +\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..c9e987129ac --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty @@ -0,0 +1,257 @@ +%% +%% 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') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-base.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrbase}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (basics for the bundle)% +] +\RequirePackage{scrbase}[2013/12/19] +\RequirePackage{kvsetkeys}[2012/04/25] +\RequirePackage{etoolbox}[2011/01/03] +\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@numkey@bool{% + {false}{0},{off}{0},{no}{0},{true}{1},{on}{1},{yes}{1}% +} +\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]{% + \PackageWarning{tudscrbase}{% + It wasn't possible to patch `#1'.\MessageBreak% + Please contact the author via \tudscrmail.\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@\TUD@parameter@family @#2@default% + }{% + KV@\TUD@parameter@family @#3@default% + }% + }{% + \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}% + \@expandtwoargs{\csletcs}{KV@#1@#2@default}{KV@#1@#3@default}% + }% +} +\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]{% + \PackageWarning{tudscrbase}{% + Parameter `#1' can only be used with 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..8b647c47984 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -0,0 +1,3799 @@ +%% +%% 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: `load') +%% 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-comp.dtx (with options: `class,book,option') +%% tudscr-base.dtx (with options: `execute') +%% tudscr-fonts.dtx (with options: `class,body') +%% tudscr-color.dtx (with options: `class,body') +%% tudscr-fields.dtx (with options: `class,body') +%% tudscr-locale.dtx (with options: `class,book,body') +%% tudscr-pagestyle.dtx (with options: `class,book,body') +%% tudscr-layout.dtx (with options: `class,book,body') +%% tudscr-frontmatter.dtx (with options: `class,book,body') +%% tudscr-title.dtx (with options: `class,book,body') +%% tudscr-misc.dtx (with options: `class,book,body') +%% tudscr-comp.dtx (with options: `class,book,body') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\newcommand*\cls@name{book} +\newcommand*\scrcls@name{scrbook} +\newcommand*\tudcls@name{tudscrbook} +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{\tudcls@name}[% + 2014/12/17 v2.02 TUD-KOMA-Script + document class (\cls@name)% +] +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\tudscrmail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}{% + The package `tudscrfonts' must not be used with\MessageBreak% + a TUD-KOMA-Script class% + } +]{tudscrfonts} +\newif\if@tud@univers +\newif\if@tud@dinbold +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\newcommand*\tud@mathenc{OT1} +\newif\if@tud@fontspec +\TUD@key@lock{fontspec}[true]{% + \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass{% + \TUD@key{fontspec}[]{% + \ClassError{\tudcls@name}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +} +\AtEndPreamble{% + \@expandtwoargs\in@{OT}{\encodingdefault}% + \ifin@% + \def\tud@mathenc{OT1}% + \else% + \def\tud@mathenc{T1}% + \fi% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@univers.fd}}% + }% + \def\@tempb#1{% + \ClassInfoNoLine{\tudcls@name}{% + `#1' fonts not found for math typesetting% + }% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% + }% + \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% + }% + }% + \fi% + \@tempa{\@tud@universtrue}{\@tempb{Univers}}% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@dinbold.fd}}% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% + }% + \fi% + \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% + \if@tud@fontspec% + \if@tud@univers\if@tud@dinbold% + \PassOptionsToPackage{no-math}{fontspec}% + \fi\fi% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +} +\RequirePackage{textcase}[2004/10/07] +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath% + \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% + \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% +}{}{\tud@patch@wrn{@uclcnotmath}}% +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@numkey@bool,% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% + {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% + {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% + {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% + {noheavybarfont}{5},{barfontnoheavy}{5},% + {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% + {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% + {sansmath}{8},{sans}{8},% + {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% + {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% + {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% + {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \TUD@std@numkey@lock{barfont}{false}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=false}% + \TUD@std@numkey@lock{barfont}{true}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=true}% + \TUD@std@numkey@lock{barfont}{heavy}% + \or% + \TUDoptions{din=false}% + \or% + \TUDoptions{din=true}% + \or% + \TUDoptions{barfont=true}% + \or% + \TUDoptions{barfont=heavy}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath=true}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek=true}% + \or% + \TUDoptions{fontspec=true}% + \or% + \TUDoptions{fontspec=false}% + \fi% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@cdfonts% + \if@atdocument\tud@font@cdfonts\fi% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \if@atdocument% + \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}% + \normalfont\selectfont% + \fi% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newcommand*\tud@barfont{0} +\TUD@key@lock{barfont}[true]{% + \TUD@set@numkey@lock{barfont}{tud@barfont}{% + \TUD@numkey@bool,% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {color}{2},{colour}{2},% + {colorblack}{3},{colourblack}{3},% + {gray}{4},{grey}{4},{cdgray}{4},% + {black}{5},% + {blue}{6},{cddarkblue}{6},% + {white}{7}% +} +\newcommand*\tud@ddc@save{} +\newif\if@tud@ddc@save +\@tud@ddc@savetrue +\newcommand*\tud@ddc{0} +\newif\if@tud@ddc@autoset +\TUD@key{ddc}[true]{% + \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \ifcase \tud@ddc\relax% + \@tud@ddc@autosetfalse% + \else% + \@tud@ddc@autosettrue% + \fi% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \fi% +} +\newcommand*\tud@ddc@head{0} +\TUD@key{ddchead}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi% + \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@head\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@head\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@foot{0} +\TUD@key{ddcfoot}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@foot\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddchead=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head% + \let\@tempb\tud@ddc@foot% + \if@tud@ddc@autoset% + \ifx\tud@@headlogo\@empty% + \let\@tempa\tud@ddc% + \let\@tempb\z@% + \else% + \let\@tempa\z@% + \let\@tempb\tud@ddc% + \fi% + \fi% +} +\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} +\newcommand*\tud@pslist{} +\forcsvlist{\listadd\tud@pslist}{% + tudheadings,plain.tudheadings,empty.tudheadings% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument% + \if@tud@cdfoot% + \tud@ps@store{headings}% + \tud@ps@store{plain}% + \tud@font@koma@set{pageheadfoot}{\upshape}% + \clearpairofpagestyles% + \ofoot[\pagemark]{% + \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% + {\footnotesize\headmark}% + \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% + }% + \else% + \tud@ps@restore{headings}% + \tud@ps@restore{plain}% + \tud@font@koma@unset{pageheadfoot}% + \fi% + \fi% + \fi% +} +\newcommand*\tud@ps@store[1]{% + \tud@@ps@store{#1}{odd}{left}{head}{}% + \tud@@ps@store{#1}{odd}{right}{head}{}% + \tud@@ps@store{#1}{odd}{middle}{head}{}% + \tud@@ps@store{#1}{even}{left}{head}{}% + \tud@@ps@store{#1}{even}{right}{head}{}% + \tud@@ps@store{#1}{even}{middle}{head}{}% + \tud@@ps@store{#1}{odd}{left}{foot}{}% + \tud@@ps@store{#1}{odd}{right}{foot}{}% + \tud@@ps@store{#1}{odd}{middle}{foot}{}% + \tud@@ps@store{#1}{even}{left}{foot}{}% + \tud@@ps@store{#1}{even}{right}{foot}{}% + \tud@@ps@store{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@store[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + }% +} +\newcommand*\tud@ps@restore[1]{% + \tud@@ps@restore{#1}{odd}{left}{head}{}% + \tud@@ps@restore{#1}{odd}{right}{head}{}% + \tud@@ps@restore{#1}{odd}{middle}{head}{}% + \tud@@ps@restore{#1}{even}{left}{head}{}% + \tud@@ps@restore{#1}{even}{right}{head}{}% + \tud@@ps@restore{#1}{even}{middle}{head}{}% + \tud@@ps@restore{#1}{odd}{left}{foot}{}% + \tud@@ps@restore{#1}{odd}{right}{foot}{}% + \tud@@ps@restore{#1}{odd}{middle}{foot}{}% + \tud@@ps@restore{#1}{even}{left}{foot}{}% + \tud@@ps@restore{#1}{even}{right}{foot}{}% + \tud@@ps@restore{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@restore[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% + \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csundef{@@tud@ps@#1@#2@#3@#4}% + }% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + \TUD@numkey@bool,% + {typearea}{0},% + {tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{centred}{2},{centered}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\recalctypearea\fi% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@cover}{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\csdef@lock{tud@layout@chapter}{0} +\newcommand*\tud@layout@switch{} +\edef\tud@layout@switch{% + \TUD@numkey@bool,% + {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{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@cover}{0}% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \csstd@lock{tud@layout@chapter}{0}% + \or% + \csstd@lock{tud@layout@cover}{1}% + \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@cover}{1}% + \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@cover}{1}% + \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% + \fi% +} +\TUD@key{cdcover}[true]{% + \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@cover}{0}% + \or% + \csset@lock{tud@layout@cover}{1}% + \or% + \csset@lock{tud@layout@cover}{2}% + \or% + \csset@lock{tud@layout@cover}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\TUD@key{cdchapter}[true]{% + \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \AtEndOfFamilyOptions{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% + \ifcase \tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \fi% + \ifcase \tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% + }% +} +\newif\if@tud@parttitle +\TUD@key@lock{parttitle}[true]{% + \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@layout@process\fi% + \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@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + \else% + \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{% + \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{% + \ifstr{#1}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + \FamilyKeyStateProcessed% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \ifx\@currname\tudcls@name% + \ifx\@currext\@clsextension% + \ifstr{#1}{headings}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \tud@ifinpslist{#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{}% + }% + \fi% + \fi% + }% + }}}% + \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@fm@switch{% + {section}{2},{sect}{2},{sec}{2},{addsec}{2},% + {chapter}{3},{chap}{3},{addchap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% + {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% + {nottotoc}{6},{notoc}{6},% + {markboth}{7},{mark}{7},% + {nomarkboth}{8},{nomark}{8},% + {one}{9},{simple}{9},{single}{9},% + {multi}{10},{multiple}{10},{all}{10},{two}{10},{both}{10},{double}{10},% + {nofil}{11},{nofill}{11},{novfil}{11},{novfill}{11},% + {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% +} +\newcommand*\tud@abstract@level{3} +\newbool@lock[true]{@tud@abstract@toc} +\newif\if@tud@abstract@toc@leveldown +\newif\if@tud@abstract@markboth +\newif\if@tud@abstract@multi +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\TUD@key{abstract}[chapter]{% + \edef\@tempb{\tud@fm@switch}% + \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}% + \@tud@abstract@toc@leveldownfalse% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \@tud@abstract@toc@leveldowntrue% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@markbothtrue% + \or% + \@tud@abstract@markbothfalse% + \or% + \@tud@abstract@multifalse% + \or% + \@tud@abstract@multitrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% + \fi% +} +\newcommand*\tud@declaration@level{3} +\newbool@lock[true]{@tud@declaration@toc} +\newif\if@tud@declaration@toc@leveldown +\newif\if@tud@declaration@markboth +\newif\if@tud@declaration@multi +\@tud@declaration@multitrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\TUD@key{declaration}[chapter]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}{true}% + \@tud@declaration@toc@leveldownfalse% + \or% + \stdbool@lock{@tud@declaration@toc}{true}% + \@tud@declaration@toc@leveldowntrue% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@markbothtrue% + \or% + \@tud@declaration@markbothfalse% + \or% + \@tud@declaration@multifalse% + \or% + \@tud@declaration@multitrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% + \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@symbolheadings +\TUD@key{footnotes}{% + \TUD@set@numkey{footnotes}{@tempa}{% + {nosymbolheadings}{0},{numberheadings}{0},% + {symbolheadings}{1}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \@tud@symbolheadingsfalse% + \or% + \@tud@symbolheadingstrue% + \fi% + \fi% +} +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +%%% From File: tudscr-comp.dtx +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=lite}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfoot=true}% + \else% + \TUDoptions{cdfoot=false}% + \fi% + \fi% +} +\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{tudscrver}[last]{% + \scr@ifundefinedorrelax{tudscr@v@#1}{% + \def\tudscr@v@comp{0}% + \ClassWarningNoLine{\tudcls@name}{% + You have set option `tudscrver' to `#1', but\MessageBreak% + this value of version is not supported.\MessageBreak% + Because of this, version was set to `first'% + }% + \FamilyKeyStateProcessed% + }{% + \ClassInfoNoLine{\tudcls@name}{% + Switching compatibility level to `#1'% + }% + \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \FamilyKeyStateProcessed% + }% +} +\AtEndOfClass{% + \TUD@key{tudscrver}[]{% + \ClassError{\tudcls@name}{Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@3.12}{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% + \ClassError{\tudcls@name}{% + KOMA-Script compatibility level too low% + }{% + \TUDVersion\space has to be used at least with\MessageBreak% + KOMA-Script `version=v3.12'% + }% + \fi% + }{% + \ClassError{\tudcls@name}{% + outdated version of KOMA-Script% + }{% + \TUDVersion\space has to be used with KOMA-Script v3.12 or newer% + }% + }% +} +\@namedef{tudscr@v@first}{0} +\@namedef{tudscr@v@2.02}{0} +\@namedef{tudscr@v@last}{0} +%%% From File: tudscr-base.dtx +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions\relax +\LoadClass{\scrcls@name}[2013/12/19] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\tudcls@name}{% + The package `graphics' was superseded by `graphicx'% + }% + }{}% + }% + \RequirePackage{graphicx}[1999/02/16]% + \RequirePackage{tudscrcolor}[\TUDVersion]% +} +%%% From File: tudscr-fonts.dtx +\AtEndPreamble{% + \if@tud@fontspec% + \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% + \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% + \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% + \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% + \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% + \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% + \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% + \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% + \newcommand*\textuln[1]{{\univln#1}} + \newcommand*\texturn[1]{{\univrn#1}} + \newcommand*\textubn[1]{{\univbn#1}} + \newcommand*\textuxn[1]{{\univxn#1}} + \newcommand*\textuls[1]{{\univls#1}} + \newcommand*\texturs[1]{{\univrs#1}} + \newcommand*\textubs[1]{{\univbs#1}} + \newcommand*\textuxs[1]{{\univxs#1}} + \else% + \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% + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \fi% + \if@tud@fontspec% + \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% + \newcommand*\textdbn[1]{{\dinbn#1}} + \else% + \if@tud@dinbold% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% + \else% + \let\dinbn\sectfont% + \fi% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textdbn}{\dinbn} + \fi% + \DeclareMathVersion{univers} + \DeclareMathVersion{universbold} + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{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}{\tud@univers t}{l}{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} + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} + \DeclareMathVersion{dinbold} + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{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} + \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@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}% + \if@tud@fontspec% + \if@tud@heavyfont% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ] + \else% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \if@tud@heavyfont% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \fi% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \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@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% +} +\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@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% +} +\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@head@font@bold{} +\newcommand*\tud@head@font@light{} +\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}{\mddefault}{n}{\tud@head@font@size}% + \ifcase \tud@barfont\relax% + \if@tud@cdfonts% + \ClassWarning{\tudcls@name}{% + It isn't possible to use `barfont=false'\MessageBreak% + together with `cdfont=true'% + }% + \fi% + \or% + \@tud@cdfontstrue% + \def\mddefault{l}% + \or% + \@tud@cdfontstrue% + \def\mddefault{m}% + \fi% + \if@tud@cdfonts% + \if@tud@fontspec% + \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@font@size}% + \ifstr{\mddefault}{m}{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + }{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@font@size}% + }% + \else% + \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}{\mddefault}{n}{\tud@head@font@size}% + \fi% + \fi% + \fi% +} +\newrobustcmd*\ifdin{% + \@tempswafalse + \@expandtwoargs\in@{DINBold}{\f@family}% + \ifin@\@tempswatrue\fi% + \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% + \if@tempswa + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \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-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \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-fields.dtx +\RequirePackage{trimspaces}[2009/09/17] +\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*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \protected@xdef\@@title{\trim@spaces{#1}}% + \endgroup% +} +\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% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% + \endgroup% + \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]{% + \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}% + }% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@graduation{} +\newcommand*\@graduationabbr{} +\newcommand*\graduation[2][]{% + \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}% + \gdef\@graduation{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{\gdef\@supervisor{#1}} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{\gdef\@supporter{#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}% +} +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\providecommand*\publisher[1]{\publishers{#1}} +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@date% + \\[20mm 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*\printdate[1]{#1} +\BeforePackage{isodate}{\undef\printdate} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% +} +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +%%% 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' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single 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 \tudscrmail% + }% + }% +} +\tud@locale@define{\graduationtext} +\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{\professorothername} +\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{\blockingname} +\tud@locale@define{\blockingtext} +\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{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}% +\tud@locale@german{\supervisorname}{Betreuer}% +\tud@locale@german{\supervisorothername}{}% +\tud@locale@german{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + Erstgutachter% + \else% + Gutachter% + \fi% +} +\tud@locale@german{\refereeothername}{Zweitgutachter}% +\tud@locale@german{\advisorname}{Fachreferent}% +\tud@locale@german{\advisorothername}{}% +\tud@locale@german{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Betreuende Hochschullehrer% + \else% + Betreuender Hochschullehrer% + \fi% +} +\tud@locale@german{\professorothername}{}% +\tud@locale@german{\datetext}{Eingereicht am}% +\tud@locale@german{\dateofbirthtext}{Geboren am}% +\tud@locale@german{\placeofbirthtext}{in}% +\tud@locale@german{\defensedatetext}{Verteidigt am}% +\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}% +\tud@locale@german{\matriculationnumbername}{Matrikelnummer}% +\tud@locale@german{\coverpagename}{Umschlagseite}% +\tud@locale@german{\titlepagename}{Titelblatt}% +\tud@locale@german{\abstractname}{Zusammenfassung}% +\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}% +\tud@locale@german{\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.% +} +\tud@locale@german{\blockingname}{Sperrvermerk}% +\tud@locale@german{\blockingtext}{% + 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 Technischen + Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des + Pr\"ufungsausschusses zug\"anglich zu machen.% +} +\tud@locale@german{\listingname}{Quelltext}% +\tud@locale@german{\listlistingname}{Quelltextverzeichnis}% +\tud@locale@german{\dissertationname}{Dissertation}% +\tud@locale@german{\diplomathesisname}{Diplomarbeit}% +\tud@locale@german{\masterthesisname}{Master-Arbeit}% +\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}% +\tud@locale@german{\studentresearchname}{Studienarbeit}% +\tud@locale@german{\projectpapername}{Projektarbeit}% +\tud@locale@german{\seminarpapername}{Seminararbeit}% +\tud@locale@german{\researchname}{Forschungsbericht}% +\tud@locale@german{\logname}{Protokoll}% +\tud@locale@german{\internshipname}{Praktikumsbericht}% +\tud@locale@german{\reportname}{Bericht}% +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +\tud@locale@english{\graduationtext}{to achieve the academic degree}% +\tud@locale@english{\supervisorname}{Supervisor}% +\tud@locale@english{\supervisorothername}{}% +\tud@locale@english{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + First referee% + \else% + Referee% + \fi% +} +\tud@locale@english{\refereeothername}{Second referee}% +\tud@locale@english{\advisorname}{Advisor}% +\tud@locale@english{\advisorothername}{}% +\tud@locale@english{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Supervising professors% + \else% + Supervising professor% + \fi% +} +\tud@locale@english{\professorothername}{}% +\tud@locale@english{\datetext}{Submitted on}% +\tud@locale@english{\dateofbirthtext}{Born on}% +\tud@locale@english{\placeofbirthtext}{in}% +\tud@locale@english{\defensedatetext}{Defended on}% +\tud@locale@english{\matriculationyearname}{Matriculation year}% +\tud@locale@english{\matriculationnumbername}{Matriculation number}% +\tud@locale@english{\coverpagename}{Cover page}% +\tud@locale@english{\titlepagename}{Title page}% +\tud@locale@english{\abstractname}{Abstract}% +\tud@locale@english{\confirmationname}{Statement of authorship}% +\tud@locale@english{\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.% +} +\tud@locale@english{\blockingname}{Restriction note}% +\tud@locale@english{\blockingtext}{% + 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 + Technische Universit\"at Dresden, the reviewers and also the + members of the examination board.% +} +\tud@locale@english{\listingname}{Listing}% +\tud@locale@english{\listlistingname}{List of Listings}% +\tud@locale@english{\dissertationname}{Dissertation}% +\tud@locale@english{\diplomathesisname}{Diploma Thesis}% +\tud@locale@english{\masterthesisname}{Master Thesis}% +\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}% +\tud@locale@english{\studentresearchname}{Student Research Project}% +\tud@locale@english{\projectpapername}{Project Paper}% +\tud@locale@english{\seminarpapername}{Seminar Paper}% +\tud@locale@english{\researchname}{Research Report}% +\tud@locale@english{\logname}{Log}% +\tud@locale@english{\internshipname}{Internship Report}% +\tud@locale@english{\reportname}{Report}% +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +\AfterPackage{mathswap}{% + \tud@locale@german{\@commaswap}{,}% + \tud@locale@german{\@dotswap}{\,}% + \tud@locale@english{\@commaswap}{\,}% + \tud@locale@english{\@dotswap}{.}% +} +%%% 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@line} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@headdiff} +\newlength{\tud@dim@ddcdiff} +\newlength{\tud@dim@ddcfoot} +\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\relax}% + \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% +} +\newcommand*\tud@ifsacrop{% + \ifcsdef{ifsa@crop}{% + \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% + }{% + \@secondoftwo% + }% +} +\AtEndPreamble{% + \tud@ifsacrop{% + \PreventPackageFromLoading{scrlayer-scrpage}% + \pagestyle{empty}% + \hoffset=-72.27pt% + \voffset=-72.27pt% + \topmargin=0pt% + \headheight=0pt% + \headsep=0pt% + \marginparsep=0pt% + \marginparwidth=0pt% + \footskip=0pt% + \marginparpush=0pt% + \oddsidemargin=0pt% + \evensidemargin=0pt% + \topskip=0pt% + \textheight=\dimexpr\maxdimen% + }{}% +} +\AtEndPreamble{% + \RequirePackage{scrlayer-scrpage}[2013/12/14]% + \AfterPackage*{scrlayer-scrpage}{% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + },% + ]{tudheadings.head.mainlogo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={\hfill\tud@headlogo},% + ]{tudheadings.head.logo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.topline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.bottomline}% + \DeclareNewLayer[% + background,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.topwideline}% + \DeclareNewLayer[% + background,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.bottomwideline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + contents={\tud@head@text@box},% + ]{tudheadings.head.text}% + \DeclareNewLayer[% + background,foot,% + contents={% + \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% + \hfill\tud@footlogo% + },% + ]{tudheadings.foot.ddclogo}% + \newpairofpagestyles{tudheadings}{}% + \ForEachLayerOfPageStyle{tudheadings}{% + \RemoveLayersFromPageStyle{tudheadings}{#1}% + }% + \ForEachLayerOfPageStyle{plain.tudheadings}{% + \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% + }% + \AddLayersToPageStyle{tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + scrheadings.foot.odd,% + scrheadings.foot.even,% + scrheadings.foot.oneside,% + scrheadings.foot.above.line,% + scrheadings.foot.below.line% + }% + \AddLayersToPageStyle{plain.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + plain.scrheadings.foot.odd,% + plain.scrheadings.foot.even,% + plain.scrheadings.foot.oneside,% + plain.scrheadings.foot.above.line,% + plain.scrheadings.foot.below.line% + }% + \DeclareNewPageStyleByLayers{empty.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + }% + \AddToLayerPageStyleOptions{tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{plain.tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{empty.tudheadings}{% + onselect={% + \letcs\ps@empty{ps@empty.tudheadings}% + \letcs\ps@plain{ps@plain.tudheadings}% + \letcs\ps@headings{ps@tudheadings}% + }% + }% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% + \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + }% +} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforepagestyle[1]{% + \def\@tempa{#1}% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% + }{}% + \tud@ifinpslist{\@tempa}{% + \tud@ddc@check% + \ifcase \@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + \setlength{\tud@dim@headdiff}{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + \RedeclarePageStyleByLayers{empty}{}% + }% + \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% + \ifcase \tud@geometry\relax\else% + \if@hincl% + \addtolength{\tud@dim@headdiff}{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% + \fi% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% +} +\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} +\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} +\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoublepageusingstyle}} +\newcommand*\tud@ddc@enlargepage{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\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[1]{% + \color{\tud@head@color}% + \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% +} +\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@box{% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% + \faculty{}% + \fi% + \color{\tud@head@color}% + \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\relax}% + \hfuzz=\@tempdima% + \fi% + \vbox{% + \linespread{0}\selectfont% + \tud@head@text@write{\tud@head@text@first}% + \ifx\tud@head@text@second\@empty% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% + \fi% + \else% + \newline\tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \fi% + \fi% + }% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[% + \dimexpr\tud@dim@barheight-\depth\relax% + ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}% +} +\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@mainlogo@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', inner margin is #1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (`DIV=\the\ta@div')% + }% + \global\let\tud@mainlogo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \setlength{\@tempdima}{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + }% + \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% + \def\tud@@mainlogo{TUD-black}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \global\let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% + \color{\tud@head@color}% + \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% +} +\newcommand*\headlogo[2][]{% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \def\tud@@headlogo{#2}% + \def\tud@@@headlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} +\newcommand*\tud@@headlogo{} +\newcommand*\tud@@@headlogo{} +\newcommand*\tud@headlogo{% + \tud@ddc@check% + \ifx\tud@@headlogo\@empty\else% + \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% + \fi% + \ifcase \@tempa\relax\or% + \def\tud@@headlogo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \or% + \def\tud@@headlogo{DDC-03}% + \or% + \def\tud@@headlogo{DDC-09}% + \or% + \def\tud@@headlogo{DDC-21}% + \or% + \def\tud@@headlogo{DDC-24}% + \or% + \def\tud@@headlogo{DDC-27}% + \or% + \def\tud@@headlogo{DDC-30}% + \fi% + \ifx\tud@@headlogo\@empty\else% + \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% + \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% + {}{\tud@patch@wrn{tud@@@headlogo}}% + \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% + \fi% +} +\newcommand*\tud@headlogo@wrn{% + \ClassWarning{\tudcls@name}{% + The secondary logo given with `\string\headlogo' is\MessageBreak% + overwritten with DDC logo. Maybe you should use\MessageBreak% + `ddcfoot' or better `ddc' instead of `ddchead'% + }% + \global\let\tud@headlogo@wrn\relax% +} +\newcommand*\tud@@footlogo{} +\newcommand*\tud@footlogo{% + \tud@ddc@check% + \ifcase \@tempb\relax\or% + \def\tud@@footlogo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \or% + \def\tud@@footlogo{DDC-01}% + \or% + \def\tud@@footlogo{DDC-07}% + \or% + \def\tud@@footlogo{DDC-19}% + \or% + \def\tud@@footlogo{DDC-22}% + \or% + \def\tud@@footlogo{DDC-25}% + \or% + \def\tud@@footlogo{DDC-28}% + \fi% + \ifx\tud@@footlogo\@empty\else% + \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \fi% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newcommand*\tud@geometry@restore{} +\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}% + \let\tud@geometry@restore\Gm@restore@org% + \if@atdocument% + \let\Gm@restore@org\relax% + \tud@geometry@process% + \gdef\tud@currentgeometry{}% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + \fi% + \let\Gm@restore@org\tud@geometry@restore% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\AtEndPreamble{% + \tud@ifsacrop{}{% + \recalctypearea% + \RequirePackage{geometry}[2010/09/12]% + \tud@geometry@process% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }% +} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in\relax,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top={% + \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% + },% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight={% + \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% + },% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + \setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + }% + \ifdim\tud@ta@headdiff<\z@\relax% + \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \fi% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + 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\relax,% + 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\relax,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + \if@fincl% + bottom=\dimexpr% + \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% + \else% + bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% + \fi% + footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + }% + \setlength{\tud@ta@headdiff}{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight% + +\tud@dim@headsep-\tud@dim@top\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + }% + \fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \global\tud@ta@headdiff=\tud@ta@headdiff% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + ignorehead,% + \tud@geometry@fincl% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{typearea}% +} +\newcommand*\tud@geometry@hincl{% + \if@hincl% + includehead,% + \else% + ignorehead,% + \fi% +} +\newcommand*\tud@geometry@fincl{% + \if@fincl% + includefoot,% + \else% + ignorefoot,% + \fi% +} +\newcommand*\tud@ps{tudheadings} +\newcommand*\tud@ps@select{% + \expandafter\pagestyle\expandafter{\tud@ps}% + \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% + \ifstr{\tud@ps}{empty.tudheadings}{% + \renewcommand*\chapterpagestyle{empty.tudheadings}% + }{}% +} +\newcommand*\tud@currentpagestyle{} +\newcommand*\tud@currentpagestyle@set{% + \ifdefvoid{\tud@currentpagestyle}{% + \xdef\tud@currentpagestyle{\currentpagestyle}% + }{}% +} +\newcommand*\tud@currentpagestyle@reset{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% +} +\NewEnviron{tudpage}[1][]{% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{tudheadings}% + \TUD@parameter@set[tudpage]{#1}% + \tud@ps@select% + \tud@multicols@check% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \aftergroup\tud@currentpagestyle@reset% + \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@parameter@let{colour}{color}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% + \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% + \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{pagestyle}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@wrn{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}}}}% + }% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@let{logo}{headlogo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +%%% 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\tud@raggedright\else\tud@RaggedRight\fi% +} +\newcommand*\tud@font@heading@size{\Huge} +\newkomafont{parttitle}{% + \tud@font@heading% + \color{\tud@color@partfont}% + \usesizeofkomafont{section}% +} +\newlength{\pageheadingsvskip} +\newlength{\headingsvskip} +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@cover\relax% + \stdbool@lock{@tud@cover@cdlayout}{false}% + \else% + \stdbool@lock{@tud@cover@cdlayout}{true}% + \fi% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@cmd@restore{titlepagestyle}% + \tud@font@koma@unset{titlehead}% + \tud@font@koma@unset{title}% + \tud@font@koma@unset{subtitle}% + \tud@font@koma@unset{subject}% + \tud@font@koma@unset{author}% + \tud@font@koma@unset{date}% + \tud@font@koma@unset{publishers}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@cmd@store{titlepagestyle}% + \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}% + \tud@font@koma@set{title}{% + \usekomafont{disposition}% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{% + \fontfamily{\sfdefault}% + \fontseries{\bfdefault}% + \selectfont% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{author}{\usekomafont{subject}}% + \tud@font@koma@set{date}{\usekomafont{titlepage}}% + \tud@font@koma@set{publishers}{\usekomafont{author}}% + \let\maketitle\tud@maketitle% + \renewcommand*\titlepagestyle{plain.tudheadings}% + \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@unset{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}{\usekomafont{parttitle}}% + \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \fi% + \let\partheadstartvskip\tud@partheadstartvskip% + \let\partheadendvskip\tud@partheadendvskip% + \renewcommand*\partheademptypage{}% + \renewcommand*\partpagestyle{plain.tudheadings}% + \let\@part\tud@@part% + \let\@spart\tud@@spart% + \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@sectioning@reset[addchap]{chapter}% + \tud@font@koma@unset{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@sectioning@set[addchap]{chapter}{% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@chapterfont}% + }% + \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}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \let\@@makechapterhead\tud@@@makechapterhead% + \fi% +} +\AtEndPreamble{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% +} +\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% + \begingroup% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \if@tud@parttitle% + \begingroup% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@partfont}% + \ifx\@@title\@empty% + \tud@makeuppercase{\strut}% + \else% + \tud@makeuppercase{\@@title}% + \fi% + \par\nobreak\vskip .775\baselineskip% + \endgroup% + \else% + \usekomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \fi% + \endgroup% +} +\newcommand*\tud@partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \clearpage% + }% +} +\let\tud@@part\@part +\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}}% +\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\relax% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@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@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% + \if@tud@chapterpage% + \vspace*{\pageheadingsvskip}% + \else% + \vspace*{\headingsvskip}% + \fi% +}% +\newcommand*\tud@@@makechapterhead{} +\let\tud@@@makechapterhead\@@makechapterhead +\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \endgroup% + \fi% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \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=true}% + \fi% + \fi% + \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% + \color{\tud@color@chapterfont}% + \fi% + \@afterindentfalse\@afterheading% +} +\patchcmd{\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% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% + \@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% + }% + \if@restonecol\twocolumn\fi% + \else% + \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \fi% + \if@twocolumn% + \@afterindentfalse\@afterheading% + \fi% +} +\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% +} +\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} +\providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% +} +\providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a +} +\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@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{\@@tud@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]{% + \csedef{#1}{% + \noexpand\SecDef% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@#1\endcsname% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@s#1\endcsname% + }% + \csedef{tud@#1}[##1]##2{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname% + [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}% + }% + \csedef{tud@s#1}##1{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname*% + {\noexpand\tud@sectioning@uppercase{##1}}% + }% + \ifstr{#1}{addsec}{% + \def\tud@addsec[##1]##2{% + \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}% + }% + \def\tud@saddsec##1{% + \@@tud@addsec*{\tud@sectioning@uppercase##1}% + }% + }{}% + \@tempswafalse% + \ifstr{#1}{chapter}{\@tempswatrue}{}% + \ifstr{#1}{addchap}{\@tempswatrue}{}% + \if@tempswa% + \def\@tempa{,s}% + \@for\@tempb:=\@tempa\do{% + \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@pre% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@app% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + }% + \fi% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@unset{#2}% +} +\robustify{\footnote}% +\newcommand*\tud@sectioning@uppercase[1]{% + \begingroup% + \if@tud@symbolheadings% + \let\c@footnote\c@symbolheadings% + \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}% + \fi% + \tud@makeuppercase{#1}% + \endgroup% +} +\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]{% + \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% +} +\newcommand*\tud@font@koma@unset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@check[2]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \@tempswatrue% + \ifboolexpr{bool {@tud@#1@fil} and bool {@tud@#1@multi}}{% + \setbox0\vbox{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-\baselineskip}}% + \fi% + #2% + }% + \ifdim\textheight<\dimexpr\ht0+\dp0\relax% + \ClassWarning{\tudcls@name}{% + The given content within the `#1'\MessageBreak% + environment is too large, so it wasn't possible\MessageBreak% + to center the body vertically. Setting the option\MessageBreak% + `#1=nofill' would be a solution. You\MessageBreak% + could also use multiple `#1' environments% + }% + \@tempswafalse% + \fi% + }{}% + }{}% + #2% +} +\newcommand*\tud@fm@set[3]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{}{% + \boolfalse{@tud@#1@multi}% + \boolfalse{@tud@#1@fil}% + }% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \if@titlepage% + \ifbool{@tud@#1@multi}{}{\clearpage}% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \if@tempswa\vspace*{\z@ \@plus 1fil}\fi% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 2fil}}{}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\begin{\tud@quoting}\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\end{\tud@quoting}\fi% + \fi% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \ifbool{@tud@#1@multi}{% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \or% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \@afterindentfalse% + \begingroup% + \centering% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \endgraf% + \endgroup% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip\relax% + \@afterheading% + \or% + \section*{#2}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi% + \or% + \chapter*{#2}% + \@mkdouble{\MakeMarkcase{#2}}% + \fi% + \ifbool{@tud@#1@markboth}{% + \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}% + }{}% + \ifbool{@tud@#1@toc}{% + \ifbool{@tud@#1@toc@leveldown}{% + \addsectiontocentry{}{#2}% + }{% + \addchaptertocentry{}{#2}% + } + }{}% +} +\newcommand*\tud@fm@next[2]{% + \TUD@parameter@set[#1]{#2}% + \if@twocolumn% + \ifbool{@tud@#1@multi}{\par}{\newpage} + \else% + \if@titlepage% + \ifbool{@tud@#1@fil}{% + \vspace*{\z@ \@plus 1fil}% + \ifbool{@tud@#1@multi}{}{% + \vspace*{\z@ \@plus 1fil}% + \clearpage% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \vspace*{\z@ \@plus 1fil}% + }% + }{\ifbool{@tud@#1@multi}{}{\clearpage}}% + \else% + \ifnum\@nameuse{tud@#1@level}<2 + \end{\tud@quoting} + \begin{\tud@quoting} + \fi% + \fi% + \fi% +} +\newcommand*\tud@fm@pagestyle[2]{% + \if@titlepage% + \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + }% + \else% + \ClassWarning{\tudcls@name}{% + The key `pagestyle' can only be used either with\MessageBreak% + activated option `titlepage' or with chapter\MessageBreak% + headings (`#1=chapter')% + }% + \fi% +} +\newcommand*\tud@quoting{quotation} +\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} +\NewEnviron{abstract}[1][]{% + \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \TUD@parameter@set[abstract]{#1}% + \if@tud@abstract@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \@tud@abstract@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\nextabstract[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \else% + \ifbool{@tud@abstract@multi}{% + \ifcase\@nameuse{tud@abstract@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \fi% + \tud@fm@next{abstract}{#1}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{abstract}{\abstractname}}]% + \else% + \tud@fm@head{abstract}{\abstractname}% + \fi% +} +\newif\if@tud@declarations +\NewEnviron{declarations}[1][]{% + \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \@tud@declarationstrue% + \TUD@parameter@set[declaration]{#1}% + \if@tud@declaration@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{declaration}{\BODY}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \@tud@declaration@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{company}{\def\@company{#1}}% + \TUD@parameter@define{supporter}{\def\@supporter{#1}}% + \TUD@parameter@define{place}{\def\@place{#1}}% + \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\declaration[1][]{% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \tud@fm@blocking + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \tud@fm@blocking% + \end{declarations}% + }% +} +\newcommand*\confirmation[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@confirmation{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\confirmationname}{% + \confirmationtext\vskip0pt\@confirmationclosing% + }% + }% +} +\newcommand*\blocking[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@blocking% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@blocking% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@blocking{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\blockingname}{\blockingtext}% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{titlepage}{% + \usekomafont{subject}% + \fontseries{\mddefault}% + \selectfont% + \large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titlepagenumber{}% +\let\tud@titlepagenumber\relax% +\newcommand*\tud@maketitle[1][]{% + \begingroup% + \TUD@parameter@set[title]{#1}% + \ifcase \tud@layout@title + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \if@titlepage% + \tud@maketitlepage% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \let\@maketitle\tud@@maketitle% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \if@twocolumn% + \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \else% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \fi% + \fi% + \fi% + \endgroup% +} +\TUD@parameter{title}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% +}% +\robustify{\thanks}% +\robustify{\footnotemark}% +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitlepage{% + \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% + \begin{titlepage}% + \ifx\tud@titlepagenumber\relax\else% + \setcounter{page}{\tud@titlepagenumber}% + \fi% + \if@tud@cover\else% + \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% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using option `titlepage=firstiscover' is only\MessageBreak% + possible with an extra title. Alternatively you can\MessageBreak% + create a cover with `\string\makecover'% + }% + \fi% + \else% + \if@titlepageiscoverpage% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\global\noexpand\@titlepageiscoverpagefalse% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \footskip=\baselineskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \else% + \let\titlepage@restore\relax% + \fi% + \noindent\@extratitle\next@tdpage% + \fi% + \fi% + \if@tud@bookmarks% + \if@tud@cover% + \tudbookmark[0]{\coverpagename}{cover}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \else% + \tudbookmark[0]{\titlepagename}{title}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \fi% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \ifx\@date\@empty\else% + \vskip 2ex\@plus.1fill% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \fi% + \fi% + \vskip 2ex\@plus.25fill% + \else% + \vskip 2ex\@plus.25fill% + \if@tud@subjectthesis\else% + {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \if@tud@cover\else% + \ifx\@graduation\@empty\else% + \def\@tempc{% + \@graduation% + \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi% + }% + {\usekomafont{titlepage}{\graduationtext\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \if@tud@subjectthesis% + {\usekomafont{subject}{\@tempc\par}}% + \else% + {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}% + \fi% + \vskip 3ex\@plus1ex\@minus1ex% + \fi% + \fi% + \vskip 2ex\@plus.5fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor}% + \tud@title@names{referee}% + \tud@title@names{advisor}% + \tud@title@names{professor}% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + `\string\submissiondate' or `\string\date' 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' or `\string\date' was not given.% + \MessageBreak It's substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@defensedate\@empty\else% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + {\usekomafont{date}{\@defensedate\par}}% + \fi% + \fi% + \fi% + \fi% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus.25fill% + {\usekomafont{publishers}{\@publishers\par}}% + \vskip\z@\@plus.25fill% + \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% + \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}}% + \thispagestyle{empty.tudheadings}% + \tud@ddc@enlargepage% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \tud@cleardoublespecialpage[\tud@titleback]{% + \@tempa% + \begingroup% + \let\thispagestyle\@gobble% + \next@tpage% + \endgroup% + }% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \fi% +} +\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% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1name}\par}}% + {\usekomafont{author}{\@nameuse{@#1}\par}}% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \global\@topnum=\z@% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\headingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \tud@footnote@unhyper% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \TUDoptions{subjectthesis=true}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{publishers}{\@publishers\par}}% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \fi% + \ifx\@graduation\@empty\else\tud@title@wrn{graduation}\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% + \vskip 2\bigskipamount% + \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \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% + \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@check@author{% + \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}% +} +\newcommand*\tud@split@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + {\usekomafont{author}{\ignorespaces#1}}% + \if@tud@cover\else% + \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% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\RequirePackage{afterpage}[1995/10/27] +\newcommand\maketitleonecolumn[2][]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn{#2}\twocolumn% + \else% + \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + `\string\maketitleonecolumn' can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\tud@title@twocolumn@box +\newcommand\tud@title@twocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \endgroup% + \setlength{\@tempdimc}{\textheight}% + \tud@ifinpslist{\titlepagestyle}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else% + \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% + \fi% + }{}% + }{}% + \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdimc% + \clearpage% + \setlength{\@tempdimc}{\textheight}% + }% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \ifdim\@tempdimc<\textheight\relax% + \enlargethispage{-\tud@dim@ddcdiff}% + \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \fi% +} +\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' has to be used with\MessageBreak% + activated titlepage option% + }% +} +\newif\if@tud@cover +\newcommand*\tud@coverpagetopmargin{} +\let\tud@coverpagetopmargin\coverpagetopmargin +\newcommand*\makecover[1][]{% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using both option `titlepage=firstiscover' and\MessageBreak% + `\string\makecover' together isn't supported. The\MessageBreak% + option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + want to create an individual cover, you have to use\MessageBreak% + `\string\extratitle' instead of `\string\makecover'.\MessageBreak% + See also the documentation of KOMA-Script% + }% + \@titlepageiscoverpagefalse% + \fi% + \clearpage% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \TUD@parameter@set[cover]{#1}% + \let\tud@layout@title\tud@layout@cover% + \tud@layout@process% + \if@tud@cover@cdlayout% + \ifcase \tud@layout@cover\relax% + \let\coverpagetopmargin\tud@dim@top% + \else% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + }% + \fi% + \let\coverpagebottommargin\tud@dim@bottom% + \let\coverpageleftmargin\tud@dim@left% + \let\coverpagerightmargin\tud@dim@right% + \else% + \ifcase \tud@layout@cover\relax\else% + \expandafter\def\expandafter\coverpagetopmargin\expandafter{% + \coverpagetopmargin-\tud@coverpagetopmargin% + }% + \fi% + \fi% + \ifcase \tud@layout@cover\relax% + \KOMAoptions{titlepage=firstiscover}% + \let\@extratitle\@empty% + \let\@uppertitleback\@empty% + \let\@lowertitleback\@empty% + \let\@dedication\@empty% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \@tud@covertrue% + \@titlepagetrue% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \if@tud@cover@cdlayout% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \else% + \textheight=\dimexpr\paperheight-\coverpagebottommargin% + -\tud@dim@headheight-\tud@dim@barheight% + -\tud@dim@headsep-\tud@dim@bottom\relax% + \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% + \headsep=\tud@dim@headsep% + \fi% + \footskip=\tud@dim@footskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% + \csname titlepage@restore\endcsname% + \fi% + \endgroup% +} +\newbool@lock{@tud@cover@cdlayout} +\TUD@parameter{cover}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{% + \ifxnumber{#1}{% + \TUD@parameter@set[cover]{pagenumber=#1}% + }{% + \TUD@parameter@set[cover]{cdlayout=#1}% + }% + }% +}% +%%% From File: tudscr-misc.dtx +\newcounter{symbolheadings}[chapter] +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\tud@footnote@unhyper{} +\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% + }% + \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% +} +\pretocmd{\maketitle}{% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[0]{\titlepagename}{title}% +}{}{\tud@patch@wrn{maketitle}} +\pretocmd{\tableofcontents}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[0]{\contentsname}{toc}% +}{}{\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]{% + \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% + \protect\vphantom{\"A\"O\"U}% +%% \addtokomafont{section}{\strut\ignorespaces}% +} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\providecommand*\protected@expandtwoargs[3]{% + \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% +} +%%% From File: tudscr-comp.dtx +\newlength{\chapterheadingvskip} +\let\chapterheadingvskip\headingsvskip +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\student{} +\let\student\author +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\newcommand*\location{} +\let\location\place +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +\newcommand*\logofile{} +\let\logofile\headlogo +\newcommand*\logofilename{} +\let\logofilename\headlogo +\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..d0fce7dea23 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty @@ -0,0 +1,283 @@ +%% +%% 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') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-color.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrcolor}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (corporate design colors)% +] +\DeclareOption{reduced}{\let\setcdcolors@add\relax} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} +\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{cdgrey}{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}[2007/01/21] +\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..8352946ce13 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty @@ -0,0 +1,203 @@ +%% +%% This is file `tudscrcomp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package,comp,tudscr') +%% tudscr-comp.dtx (with options: `package') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{tudcls@name}{% + \PackageError{% + tudscrcomp% + }{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +}{} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-comp.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrcomp}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (compatibility for tudbook)% +] +\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=true}% + \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=true}% + \fi% +} +\newif\if@tud@chapterpage@temp +\newcommand*\chapterpage{% + \global\@tud@chapterpage@temptrue% + \tud@chapterpage@wrn% +} +\newcommand*\tud@chapterpage@set[1][]{% + \if@tud@chapterpage@temp% + \if@tud@chapterpage% + \TUDoptions{chapterpage=false}% + \else% + \TUDoptions{chapterpage=true}% + \fi% + \fi% +} +\newcommand*\tud@chapterpage@unset[1][]{% + \tud@chapterpage@set% + \global\@tud@chapterpage@tempfalse% +} +\AtEndPreamble{% + \pretocmd{\tud@chapter}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@nchapter}}% + \apptocmd{\tud@chapter}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@nchapter}}% + \pretocmd{\tud@schapter}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@schapter}}% + \apptocmd{\tud@schapter}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@schapter}}% + \pretocmd{\tud@addchap}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@naddchap}}% + \apptocmd{\tud@addchap}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@naddchap}}% + \pretocmd{\tud@saddchap}{\tud@chapterpage@set}% + {}{\tud@patch@wrn{tud@saddchap}}% + \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}% + {}{\tud@patch@wrn{tud@saddchap}}% +} +\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..26a88083431 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls @@ -0,0 +1,186 @@ +%% +%% This is file `tudscrdoc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class,doc') +%% tudscr-doc.dtx (with options: `class,doc') +%% tudscr-misc.dtx (with options: `class,doc') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\newcommand*\cls@name{doc} +\newcommand*\scrcls@name{scrdoc} +\newcommand*\tudcls@name{tudscrdoc} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-doc.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{tudscrdoc}[% + 2014/12/17 v2.02 TUD-KOMA-Script + class + (source code documentation 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}{1.5\headsep} +\setlength{\textheight}{\dimexpr\paperheight-2\headsep-\footskip} +\RequirePackage{dox}[2010/12/16] +\title{% + \texttt{\filename}\thanks{% + Dies ist Version \fileversion\ von Datei \texttt{\filename}.% + }% +} +\author{Falk Hanisch\thanks{\tudscrmail}} +\date{\filedate} +\DoNotIndex{\",\\,,\if,\@} +\doxitem[idxtype=Option]{Option}{option}{Optionen} +\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} +\doxitem[idxtype=Seitenstil]{Pagestyle}{pagestyle}{Seitenstile} +\doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen} +\doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler} +\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{\textbf{#1}}}} +\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{\textbf{#1}}}} +\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\val}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\pgs}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}} +\newcommand*\ToDo[2][]{% + \@ifnextchar[ + {\@ToDo{#2}}{\@ToDo{#2}[]} +} +\newcommand*\@ToDo{} +\newcommand*\@@ToDo{}% +\def\@ToDo#1[#2]{% + \ifdefined\tudfinalflag\else% + \def\@@ToDo{\ifstr{#2}{}{ToDo}{ToDo: #2}}% + \endgraf% + \hfuzz0.8pt% + \leavevmode\marginpar{\raggedleft\fbox{\@@ToDo\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#1\strut}}% + \endgraf% + \fi% +}% +\DeclareOption{final}{\let\tudfinalflag\relax} +\ProcessOptions\relax +\AfterPackage{hyperref}{% + \pdfstringdefDisableCommands{\def\TUDScript{TUD-KOMA-Script}}% +} +\AfterPackage{babel}{% + \AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}% +} +\AtBeginDocument{% + \providecommand*\url[1]{\texttt{#1}}% + \providecommand*\texorpdfstring[2]{#1}% + \@ifpackageloaded{babel}{}{% + \ClassWarning{\tudcls@name}{Package `babel' not loaded}% + \let\selectlanguage\@gobble% + \let\glqq\relax% + \let\grqq\relax% + }% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\glqg#1\grqq{}}% + }% + \providecommand*\ifdin[2]{#2}% +} +\AtBeginDocument{% + \expandafter\ifx\csname if@tud@cdfonts\endcsname\iftrue\relax% + \RequirePackage{mweights}[2013/07/21]% + \def\mddefault{m}% + \def\mdseries@tt{m}% + \renewcommand*\@pnumwidth{1.7em}% + \else% + \RequirePackage{lmodern}[2009/10/30]% + \fi% +}% +%%% From File: tudscr-misc.dtx +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +\newcommand*\vTUDScript{} +\AtBeginDocument{% + \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% + \edef\@tempa{\TUDVersion}% + \expandafter\@tempb\@tempa\relax? ? \relax\relax% +} +\newcommand*\vKOMAScript{v3.12\xspace} +\RequirePackage{scrhack}[2014/07/07] +\newcommand*\CD{Corporate Design\xspace} +\newcommand*\CDs{Corporate Designs\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{% + \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em + N\kern.1em-\kern.1em concept}\xspace% +} +\AfterPackage*{babel}{% + \@expandtwoargs\in@{,english,}{,\bbl@loaded,}% + \ifin@% + \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \fi +} +\endinput +%% +%% End of file `tudscrdoc.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty new file mode 100644 index 00000000000..72f0e760f03 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty @@ -0,0 +1,657 @@ +%% +%% This is file `tudscrfonts.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-fonts.dtx (with options: `package,identify') +%% tudscr-base.dtx (with options: `load') +%% tudscr-fonts.dtx (with options: `package,option') +%% tudscr-fonts.dtx (with options: `package,body') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-fonts.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrfonts}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (corporate design fonts)% +] +\newif\if@tud@oldclass +\newif\if@tud@oldscrclass +\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}% +\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}% +\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}% +\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}% +\if@tud@oldscrclass + \let\TUDoptions\relax + \let\TUDoption\relax + \let\univln\relax + \let\univrn\relax + \let\univbn\relax + \let\univxn\relax + \let\univls\relax + \let\univrs\relax + \let\univbs\relax + \let\univxs\relax + \let\dinbn\relax +\fi +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\newif\if@tud@univers +\newif\if@tud@dinbold +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\newcommand*\tud@mathenc{OT1} +\newif\if@tud@fontspec +\TUD@key@lock{fontspec}[true]{% + \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfPackage{% + \TUD@key{fontspec}[]{% + \PackageError{tudscrfonts}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + package `tudscrfonts' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \@ifpackageloaded{fontspec}{% + \PackageError{tudscrfonts}{Package `fontspec' too early}{% + When using the option `fontspec' you must not load\MessageBreak% + the package `fontspec' before `tudscrfonts'.% + }% + }{} +} +\AtEndPreamble{% + \@expandtwoargs\in@{OT}{\encodingdefault}% + \ifin@% + \def\tud@mathenc{OT1}% + \else% + \def\tud@mathenc{T1}% + \fi% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@univers.fd}}% + }% + \def\@tempb#1{% + \PackageInfoNoLine{tudscrfonts}{% + `#1' fonts not found for math typesetting% + }% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% + }% + \def\@tempb#1{% + \PackageWarningNoLine{tudscrfonts}{% + `#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% + }% + }% + \fi% + \@tempa{\@tud@universtrue}{\@tempb{Univers}}% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@dinbold.fd}}% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% + }% + \fi% + \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% + \if@tud@fontspec% + \if@tud@univers\if@tud@dinbold% + \PassOptionsToPackage{no-math}{fontspec}% + \fi\fi% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +} +\RequirePackage{textcase}[2004/10/07] +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath% + \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% + \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% +}{}{\tud@patch@wrn{@uclcnotmath}}% +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@numkey@bool,% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% + {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% + {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% + {sansmath}{8},{sans}{8},% + {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% + {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% + {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% + {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=false}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=true}% + \or% + \TUDoptions{din=false}% + \or% + \TUDoptions{din=true}% + \or% + \or% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath=true}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek=true}% + \or% + \TUDoptions{fontspec=true}% + \or% + \TUDoptions{fontspec=false}% + \fi% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@cdfonts% + \if@atdocument\tud@font@cdfonts\fi% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \if@atdocument% + \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}% + \normalfont\selectfont% + \fi% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +\TUDoptions{cdfont=true} +\DeclareOption*{\TUDoptions{\CurrentOption}} +\TUDProcessOptions\relax +%%% From File: tudscr-fonts.dtx +\AtEndPreamble{% + \if@tud@fontspec% + \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% + \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% + \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% + \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% + \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% + \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% + \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% + \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% + \newcommand*\textuln[1]{{\univln#1}} + \newcommand*\texturn[1]{{\univrn#1}} + \newcommand*\textubn[1]{{\univbn#1}} + \newcommand*\textuxn[1]{{\univxn#1}} + \newcommand*\textuls[1]{{\univls#1}} + \newcommand*\texturs[1]{{\univrs#1}} + \newcommand*\textubs[1]{{\univbs#1}} + \newcommand*\textuxs[1]{{\univxs#1}} + \else% + \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% + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \fi% + \ifdef{\sectfont}{}{\let\sectfont\relax}% + \if@tud@fontspec% + \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% + \newcommand*\textdbn[1]{{\dinbn#1}} + \else% + \if@tud@dinbold% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% + \else% + \let\dinbn\sectfont% + \fi% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textdbn}{\dinbn} + \fi% + \DeclareMathVersion{univers} + \DeclareMathVersion{universbold} + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{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}{\tud@univers t}{l}{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} + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} + \DeclareMathVersion{dinbold} + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{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} + \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@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}% + \if@tud@fontspec% + \if@tud@heavyfont% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ] + \else% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \setsansfont{Univers Light}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + }{}% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \if@tud@heavyfont% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \renewcommand*\bfdefault{m}% + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \renewcommand*\bfdefault{b}% + }{}% + \renewcommand*\mddefault{l}% + \fi% + \fi% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \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@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% +} +\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@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% +} +\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}% + }% +} +\newrobustcmd*\ifdin{% + \@tempswafalse + \@expandtwoargs\in@{DINBold}{\f@family}% + \ifin@\@tempswatrue\fi% + \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% + \if@tempswa + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +\AtBeginDocument{% + \ifbool{@tud@oldclass}{% + \if@tud@fontspec% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {UniversLight}{m}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {UniversLightOblique}{m}{n}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {UniversBold}{m}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {UniversLight}{m}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {UniversLightOblique}{m}{n}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {UniversBold}{m}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {UniversLight}{m}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {UniversLightOblique}{m}{n}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {UniversBold}{m}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {UniversLight}{m}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {UniversLightOblique}{m}{n}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {UniversBold}{m}{n}{15}% + \else% + \if@tud@univers% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {\tud@univers}{l}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {\tud@univers}{l}{sl}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {\tud@univers}{b}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {\tud@univers}{l}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {\tud@univers}{l}{sl}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {\tud@univers}{b}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {\tud@univers}{l}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {\tud@univers}{l}{sl}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {\tud@univers}{b}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {\tud@univers}{l}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {\tud@univers}{l}{sl}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {\tud@univers}{b}{n}{15}% + \fi% + \fi% + \if@sansmath% + \DeclareSymbolFont{aunLetters}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetSymbolFont{aunLetters}{bold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \DeclareSymbolFont{aunOperators}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetSymbolFont{aunOperators}{bold}{\tud@mathenc}{\tud@univers}{b}{n}% + \DeclareSymbolFontAlphabet{\mathsf}{aunOperators}% + \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}% + \DeclareMathAlphabet\mathbf{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet\mathbf{bold}{\tud@mathenc}{\tud@univers}{b}{n}% + \DeclareMathAlphabet\mathit{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet\mathit{bold}{\tud@mathenc}{\tud@univers}{l}{sl}% + \fi% + \let\dinBold\dinbn% + \let\dinfamily\dinbn% + }{}% + \ifbool{@tud@oldscrclass}{% + \cmd@restore{rmdefault}% + \cmd@restore{sfdefault}% + \cmd@restore{bfdefault}% + \cmd@restore{mddefault}% + \cmd@restore{familydefault}% + \cmd@restore{seriesdefault}% + \cmd@restore{shapedefault}% + \cmd@restore{rmfamily}% + \cmd@restore{sffamily}% + \cmd@restore{ttfamily}% + \DeclareSymbolFontAlphabet{\mathrm}{operators} + \if@tud@fontspec% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@fntsz}% + \else% + \if@tud@univers% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {\tud@univers}{b}{n}{\tud@head@fntsz}% + \fi% + \fi% + }{}% +} +\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} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% +} +\@ifclassloaded{tudbook}{% + \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makechapterhead}}% + \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% + \patchcmd{\section}{\dinBold\Large\bfseries}% + {\if@tud@din\dinbn\fi\Large}{}{\tud@patch@wrn{section}}% + \patchcmd{\showtitle}{\dinBold\Huge\bfseries}% + {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{showtitle}}% +}{} +\endinput +%% +%% End of file `tudscrfonts.sty'. 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..c290aed875f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls @@ -0,0 +1,1284 @@ +%% +%% This is file `tudscrman.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class,inherit') +%% tudscr-manual.dtx (with options: `class,identify') +%% tudscr-base.dtx (with options: `load') +%% tudscr-manual.dtx (with options: `class,option') +%% tudscr-base.dtx (with options: `execute,inherit') +%% tudscr-manual.dtx (with options: `class,body') +%% tudscr-misc.dtx (with options: `class,manual') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\newcommand*\tudinh@name{tudscrreprt} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-manual.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{tudscrman}[% + 2014/12/17 v2.02 TUD-KOMA-Script + class (internal manual)% +] +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-manual.dtx +\newif\if@tud@todo +\@tud@todotrue +\TUD@ifkey{ToDo}{@tud@todo} +\PassOptionsToClass{% + cdfoot=true,% + chapterpage=true,% + chapterprefix=true,% + headings=optiontoheadandtoc,% + captions=tableheading,% + numbers=noenddot,% + color=true,% +}{\tudinh@name} +\PassOptionsToPackage{automark}{scrlayer-scrpage} +\DeclareOption{final}{\let\tudfinalflag\relax} +\DeclareOption{print}{\let\tudprintflag\relax} +\AtBeginDocument{% + \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}% + \ifdef{\tudprintflag}{\hypersetup{hidelinks}\TUDoptions{color=no}}{}% +} +%%% From File: tudscr-base.dtx +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\tudinh@name}} +\TUDProcessOptions\relax +\LoadClass{\tudinh@name} +%%% From File: tudscr-manual.dtx +\RequirePackage{xparse}[2013/12/31] +\RequirePackage{textcomp}[2005/09/27] +\RequirePackage{fixltx2e}[2014/06/10] +\RequirePackage{setspace}[2011/12/19] +\setstretch{1.1}\recalctypearea +\RequirePackage{babel}[2014/03/24] +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\AtBeginDocument{% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\glqg#1\grqq{}}% + }% +} +\RequirePackage[babel]{microtype}[2013/05/23] +\RequirePackage{quoting}[2014/01/28] +\RequirePackage{isodate}[2010/01/03] +\RequirePackage{hologo}[2012/04/26] +\RequirePackage{marginnote}[2012/03/29] +\RequirePackage{listings}[2014/03/04] +\lstdefinestyle{tudscr}{% + basicstyle=\ttfamily\setstretch{1},% + keywordstyle=,% + columns=fullflexible,keepspaces,% + aboveskip=.5\baselineskipglue,% + belowskip=.5\baselineskipglue,% + language=[LaTeX]TeX,% + texcl,% +} +\RequirePackage{silence}[2012/07/02] +\RequirePackage{filemod}[2011/09/19] +\RequirePackage{ifpdf}[2011/01/30] +\ifpdf + \PassOptionsToPackage{colorinlistoftodos,obeyFinal,color=HKS92!10}{todonotes} + \RequirePackage{todonotes}[2012/07/25] +\else + \TUDoptions{ToDo=false} +\fi +\WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled} +\RequirePackage{ifplatform}[2010/10/22] +\PassOptionsToPackage{hyperindex=false}{hyperref} +\AtEndPreamble{% + \RequirePackage{hyperref}[2012/11/06] + \hypersetup{colorlinks,linkcolor=blue} + \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} + \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} + \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt} + \newcommand*\autorefname[1][current]{% + \ifstr{#1}{current}{% + \expandafter\HyPsd@@autorefname\@currentHref\@nil% + }{% + \@autorefname\HyPsd@@autorefname{#1}% + }% + \unskip\xspace% + } + \newcommand*\@autorefname[2]{% + \expandafter\ifx\csname r@#2\endcsname\relax% + ??% + \else% + \expandafter\expandafter\expandafter\@@autorefname% + \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil% + \fi% + } + \newcommand*\@@autorefname{} + \def\@@autorefname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil} + \NewDocumentCommand\manualhyperdef{st'm}{% + \IfBooleanTF{#2}{% + \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\jobname}{#3}{}}% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \@afterindentfalse\@afterheading% + }{% + \Hy@raisedlink{\hyperdef{\jobname}{#3}{}}% + \ignorespaces% + }% + \IfBooleanF{#1}{\label{#3}}% + } + \newcommand*\manualhyperref[2]{\hyperref{}{\jobname}{#1}{#2}} +} +\PassOptionsToPackage{xindy,splitindex}{imakeidx} +\RequirePackage{imakeidx}[2013/07/11]% +\indexsetup{% + level=\addsec,% + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% +} +\newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} +\newcommand*\tud@write@i{} +\newwrite\tud@write@i +\openout\tud@write@i=tudscrman-temp.xdy +\write\tud@write@i{(require "texindy.xdy")} +\write\tud@write@i{% +(define-location-class^^J% +\space\space "arabic-page-numbers" ("arabic-numbers") :min-range-length 1^^J% +)% +} +\write\tud@write@i{(markup-range :sep "--")} +\write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)} +\write\tud@write@i{% + (define-attributes (("declare" "!" "important" "?" "default")))% +} +\write\tud@write@i{(merge-to "important" "default")} +\write\tud@write@i{(merge-to "?" "default")} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "declare"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "!"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "important"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "?"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\hyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "default"^^J% +)% +} +\write\tud@write@i{% + (markup-locclass-list :open "\string\,\string\dotfill\string\,")% +} +\write\tud@write@i{(define-crossref-class "seeidx")} +\write\tud@write@i{% +(markup-crossref-list^^J% +\space\space :class "seeidx" :open "\string\seeidx{" :sep "; " :close "}{}"^^J% +)% +} +\closeout\tud@write@i +\makeindex[title={Allgemeiner Index},options=\xdyopt]% +\makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]% +\makeindex[% + title={Umgebungen, Befehle und Seitenstile},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,columns=1,options=\xdyopt]% +\RequirePackage{enumitem}[2011/09/28] +\setlist{noitemsep} +\AtBeginDocument{ + \RequirePackage{ellipsis}[2004/9/28] + \let\ellipsispunctuation\relax +} +\RequirePackage{tabularx}[1999/01/07] +\RequirePackage{ragged2e}[2009/05/21] +\RequirePackage{chngcntr}[2009/09/02] +\counterwithout{footnote}{chapter} +\RequirePackage{booktabs}[2005/04/14] +\RequirePackage{varioref}[2011/10/02]% +\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} +\RequirePackage{tikz}[2013/12/13] +\RequirePackage{pdfpages}[2013/08/25] +\RequirePackage{units}[1998/08/04] +\RequirePackage{tudscrsupervisor}[\TUDVersion] +\newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} +\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} +\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PSet{\PName{Einstellung}} +\newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} +\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} +\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} +\newrobustcmd*\OLParameter[1]{% + \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% +} +\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} +\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}} +\newrobustcmd*\hypertut[2]{% + \hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}% +} +\NewDocumentCommand\Tutorial{som}{% + \ifnum\pdfshellescape=1\relax% + \filemodCmp{tutorials/#3.pdf}{tutorials/#3.tex}{}{% + \immediate\openout\tud@write@i=tutorials.sh% + \immediate\write\tud@write@i{% + cd tutorials^^J% + pdflatex -shell-escape #3^^J% + biber #3^^J% + makeglossaries #3^^J% + pdflatex #3^^J% + pdflatex #3% + }% + \immediate\closeout\tud@write@i% + \ifwindows% + \immediate\write18{rename tutorials.sh tutorials.bat}% + \immediate\write18{tutorials.bat}% + \immediate\write18{del tutorials.bat}% + \else% + \immediate\write18{bash tutorials.sh}% + \immediate\write18{rm tutorials.sh}% + \fi% + }% + \fi% + \IfFileExists{tutorials/#3.pdf}{% + \hypertut{#3}{}% + }{% + \textsbn{#3.pdf}% + \tud@shellescape@wrn% + }% + \IfBooleanF{#1}{% + \index[files]{\hypertut{#3}{~{\idxfont(Tutorial)}\IfValueT{#2}{|#2}}}% + }% +} +\newcommand*\IncludeExample[1]{% + \lstinputlisting[style=tudscr]{examples/#1}% + \ifnum\pdfshellescape=1\relax% + \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{% + \immediate\write18{% + pdflatex -shell-escape -output-directory examples examples/#1.tex + pdflatex -output-directory examples examples/#1.tex + pdflatex -output-directory examples examples/#1.tex + }% + }% + \fi% + \IfFileExists{examples/#1.pdf}{% + \includepdf[% + pages=-,noautoscale,frame,keepaspectratio,pagecommand={},% + height=\textheight,width=\textwidth, offset=5mm 0mm% + ]{examples/#1.pdf}% + }{% + \tud@shellescape@wrn% + }% +} +\newcommand*\@ToDo{} +\NewDocumentCommand\ToDo{somo}{% + \ifbool{@tud@todo}{% + \begingroup% + \define@boolkey{todonotes}{doc}[true]{% + \ifbool{KV@todonotes@doc}{\setkeys{todonotes}{color=HKS41!10}}{}% + }% + \define@boolkey{todonotes}{rls}[true]{% + \ifbool{KV@todonotes@rls}{\setkeys{todonotes}{color=HKS44!50}}{}% + }% + \define@boolkey{todonotes}{imp}[true]{% + \ifbool{KV@todonotes@imp}{\setkeys{todonotes}{color=HKS07!50}}{}% + }% + \define@boolkey{todonotes}{nxt}[true]{% + \ifbool{KV@todonotes@nxt}{\setkeys{todonotes}{color=HKS57!50}}{}% + }% + \def\@ToDo{}% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\edef\@ToDo{#2,nolist}}{\edef\@ToDo{#2}}% + }{% + \IfBooleanT{#1}{\edef\@ToDo{nolist}}% + }% + \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% + \vskip.8ex% + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \endgroup% + \par\noindent% + }{}% + \ignorespaces% +} +\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi} +\reversemarginpar +\newrobustcmd*\bsc{\@backslashchar} +\newlength\baselineskipglue +\setlength\baselineskipglue{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% +} +\newcommand*\tud@shellescape@wrn{% + \ClassWarning{\tudcls@name}{% + You have to recompile this document with\MessageBreak% + activated shell escape option% + }% + \global\let\tud@shellescape@wrn\relax% +} +\newcommand*\pdfexpandableoutline[1]{% + \AfterPackage*{hyperref}{\pdfstringdefDisableCommands{\csletcs{#1}{@#1}}} +} +\newcommand*\@TUDScript{TUD-KOMA-Script} +\pdfexpandableoutline{TUDScript} +\NewDocumentCommand\Application{smd||}{% + \ifdin{#2}{% + \mbox{\textsbs{#2}}% + \CheckIndexFormat{#1}{#3}% + \IfBooleanF{#1}{% + \index{\textsbs{#2}~{\idxfont(Anwendungssoftware)}\IfValueT{#3}{|#3}}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Application{sm}{#2} +\pdfexpandableoutline{Application} +\NewDocumentCommand\Distribution{smod||}{% + \ifdin{#2\IfValueT{#3}{~#3}}{% + \mbox{\textsbn{#2\IfValueT{#3}{~#3}}}% + \CheckIndexFormat{#1}{#4}% + \IfBooleanF{#1}{% + \index{\textsbn{#2}~{\idxfont(Distribution)}\IfValueT{#4}{|#4}}% + }% + }% +} +\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}} +\NewDocumentCommand\File{smd||}{% + \ifdin{#2}{% + \mbox{\textsbn{#2}}% + \CheckIndexFormat{#1}{#3}% + \IfBooleanF{#1}{% + \index[files]{\textsbn{#2}~{\idxfont(Datei)}\IfValueT{#3}{|#3}}% + }% + }% +} +\NewDocumentCommand\Class{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Klasse}% + \else% + \ifdin{#2}{% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\textsbn{#2}}'#3'% + {files}[\protect\sbnfont]{#2}[~{\idxfont(Klasse)}]% + }% + \fi% +} +\DeclareExpandableDocumentCommand\@Class{sm}{#2} +\pdfexpandableoutline{Class} +\newcommand*\@TempPackage{} +\NewDocumentCommand\Package{smd''d()d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Paket}% + \else% + \ifdin{#2}{% + \IfValueTF{#4}{\def\@TempPackage{#4}}{\def\@TempPackage{#2}}% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\textsbn{#2}}'#3'(\@TempPackage)% + {files}[\protect\sbnfont]{#2}[~{\idxfont(Paket)}]% + }% + \fi% +} +\DeclareExpandableDocumentCommand\@Package{sm}{#2} +\pdfexpandableoutline{Package} +\newcommand*\@TempOption{} +\NewDocumentCommand\Option{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{options}{\ttfamily}{#2}{Option}% + \else% + \IfValueTF{#3}{\gdef\@TempOption{\texttt{=#3}}}{\gdef\@TempOption{}}% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\texttt{#2}}[\@TempOption]'#4'{options}[\ttfamily]{#2}% + \fi% +} +\DeclareExpandableDocumentCommand\@Option{sm}{#2} +\pdfexpandableoutline{Option} +\newcommand*\@TempEnvironment{} +\NewDocumentCommand\Environment{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Umgebung}% + \else% + \if@declare% + \gdef\@TempEnvironment{% + \texttt{\bsc{}begin\{#2\}\IfValueT{#3}{#3}}\tabularnewline% + \texttt{\dots}\tabularnewline% + \texttt{\bsc{}end\{#2\}}% + }% + \else% + \gdef\@TempEnvironment{\texttt{#2}}% + \fi% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\@TempEnvironment}'#4'{macros}[\ttfamily]{#2}% + \fi% +} +\DeclareExpandableDocumentCommand\@Environment{sm}{#2} +\pdfexpandableoutline{Environment}% +\NewDocumentCommand\Macro{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{Befehl}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}'#3'{macros}[\ttfamily\bsc]{#2}% + \fi% +} +\DeclareExpandableDocumentCommand\@Macro{sm}{#2} +\NewDocumentCommand\Length{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{L\"ange}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(L\"ange)}\fi]'#3'% + {macros}[\ttfamily\bsc]{#2}[~{\idxfont(L\"ange)}]% + \fi% +} +\newcommand*\@TempKey{} +\NewDocumentCommand\Key{smmod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}(#2){\ttfamily}{#3}{Parameter}% + \else% + \begingroup% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \IfValueTF{#4}{% + \gdef\@TempKey{\texttt{=#4}\if@declare~{\idxfont(Parameter)}\fi}% + }{% + \gdef\@TempKey{\if@declare~{\idxfont(Parameter)}\fi}% + }% + \SetIndexFormat{#1}{#6}% + \@ProcessOutput{\texttt{#3}}[\@TempKey]'#5'{macros}(#2)[\ttfamily]{#3}% + \endgroup% + \fi% +} +\NewDocumentCommand\PageStyle{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Seitenstil}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Seitenstil)}\fi}'#3'% + {macros}[\ttfamily]{#2}[~{\idxfont(Seitenstil)}]% + \fi% +} +\NewDocumentCommand\Counter{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Z\"ahler}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}}[\if@declare~{\idxfont(Z\"ahler)}\fi]% + {macros}[\ttfamily]{#2}[~{\idxfont(Z\"ahler)}]% + \fi% +} +\NewDocumentCommand\Term{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{terms}{\ttfamily\bsc}{#2}{Bezeichner}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(Bezeichner)}\fi]'#3'% + {terms}[\ttfamily\bsc]{#2}% + \fi% +} +\newcommand\@termlist{} +\let\@termlist\relax +\NewDocumentCommand\TermTable{smg}{% + \forcsvlist{\listadd\@termlist}{#2}% + \ifvmode\else\par\fi% + \vskip\baselineskipglue% + \@afterindentfalse\@afterheading% + \IfBooleanTF{#1}{% + \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% + \setlength{\@tempdimc}{-.7\baselineskip}% + \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}% + }{% + \setlength{\@tempdimc}{\z@}% + \begin{tabular}{lll}\@TermTable\end{tabular}% + }% + \let\@termlist\relax% +} +\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*{\@tempdimc}% + \ifstr{\@nameuse{#1}}{}{\PName{empty}}{\@nameuse{#1}}\tabularnewline% +} +\NewDocumentCommand\Font{smd''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{fonts}{\ttfamily}{#2}{Schriftelement}% + \else% + \SetIndexFormat{#1}{#4}% + \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Schriftelement)}\fi}% + {fonts}[\ttfamily]{#2}% + \fi% +} +\NewDocumentCommand\Color{smod''d||}{% + \if@changelog% + \@ProcessChangedAt{#1}{colors}{\ttfamily}{#2}{Farbe}% + \else% + \SetIndexFormat{#1}{#5}% + \@ProcessOutput{\texttt{#2}}[% + \IfValueT{#3}{~\texttt{(#3)}}\if@declare~{\idxfont(Farbe)}\fi% + ]'#4'{colors}[\ttfamily]{#2}% + \fi% +} +\newcommand*\@IndexFormat{} +\let\@IndexFormat\relax +\newcommand*\CheckIndexFormat[2]{% + \IfBooleanT{#1}{% + \IfValueT{#2}{% + \ClassWarning{\tudcls@name}{% + You've used the starred version so no entry for\MessageBreak% + the index is created and the optional argument\MessageBreak% + |#2| will be ignored% + }% + }% + }% +} +\newcommand*\SetIndexFormat[2]{% + \CheckIndexFormat{#1}{#2}% + \IfBooleanTF{#1}{% + \def\@IndexFormat{#1}% + }{% + \IfValueTF{#2}{\def\@IndexFormat{#2}}{\def\@IndexFormat{}}% + }% +} +\newif\if@declare +\newif\if@stareddeclare +\newif\if@openindex +\newif\if@noindex +\NewDocumentCommand\@ProcessOutput{mod''d()md()omo}{% + \if@declare% + \if@openindex% + \IfValueT{#3}{% + \ClassWarning{\tudcls@name}{% + It is not possible to use any cross-reference\MessageBreak% + shorthand like '#3' within the arguments of\MessageBreak% + the environment `Declaration'% + }% + }% + \ifx\@IndexFormat\@empty\else% + \ClassWarning{\tudcls@name}{% + It is not possible to use any indexing format\MessageBreak% + like |\@IndexFormat| within the arguments of the\MessageBreak% + environment `Declaration'% + }% + \fi% + \if@noindex\else% + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% + \if@stareddeclare% + \manualhyperdef'{\@tempa}% + \else% + \manualhyperdef{\@tempa}% + \fi% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{(declare}% + \fi% + \if@stareddeclare\else% + #1\IfValueT{#2}{#2}% + \fi% + \else% + \if@noindex\else% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}% + \fi% + \fi% + \else% + \ifx\@IndexFormat\relax% + \ClassError{\tudcls@name}{\string\SetIndexFormat\space unused}{% + It seems you have forgotten to use \string\SetIndexFormat% + }% + \else% + \expandafter\IfBooleanF\expandafter{\@IndexFormat}{% + \@HyperIndex{#5}{#6}{#7}{#8}{#9}{\@IndexFormat}% + }% + \fi% + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% + \ifcsdef{r@\@tempa}{% + \let\@tempb\relax% + \def\@tempc{\mbox{\hyperref{}{\jobname}{\@tempa}{#1}\IfValueT{#2}{#2}}}% + \IfValueT{#3}{% + \def\@tempb{% + \ClassWarning{\tudcls@name}{% + You've used the unknown cross-reference\MessageBreak% + shorthand '#3'. Only 'auto', 'page'\MessageBreak% + and 'full' as well as 'none' are valid% + }% + }% + \ifstr{#3}{auto}{\def\@tempb{ in \autoref{\@tempa}}}{}% + \ifstr{#3}{page}{\def\@tempb{ \vpageref{\@tempa}}}{}% + \ifstr{#3}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}% + \ifstr{#3}{none}{% + \let\@tempb\relax% + \def\@tempc{\mbox{#1\IfValueT{#2}{#2}}}% + }{}% + }% + \@tempc\@tempb% + }{% + \IfValueT{#3}{% + \ClassWarning{\tudcls@name}{% + No cross-reference created, label \@tempa\space is missing% + }% + }% + \IfValueTF{#4}{% + \href{http://www.ctan.org/pkg/#4}{\mbox{#1\IfValueT{#2}{#2}}}% + }{% + \mbox{#1\IfValueT{#2}{#2}}% + }% + }% + \fi% + \let\@IndexFormat\relax% +} +\newrobustcmd*\hyperidx[2][]{\manualhyperref{#1}{#2}} +\NewDocumentCommand\@HyperIndex{mmmmmm}{% + \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}% + \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}% + \IfValueTF{#6}{\edef\@tempc{|#6}}{\def\@tempc{}}% + \IfValueTF{#2}{% + \ifcsdef{r@#1:#2:#4}{% + \edef\@tempb{#1:#2:#4}% + \index[#1]{% + #2!\hyperidx[\@tempb]{\begingroup\expandonce\@tempa#4\endgroup}% + ~{\idxfont(Parameter)}\expandonce\@tempc% + }% + \begingroup% + \let\Environment\@firstofone% + \def\Macro##1{\bsc##1}% + \index[keys]{% + \hyperidx[\@tempb]{% + \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}% + }% + \expandonce\@tempc% + }% + \endgroup% + }{% + \index[#1]{% + #2!\begingroup\expandonce\@tempa#4\endgroup% + ~{\idxfont(Parameter)}\expandonce\@tempc% + }% + \index[keys]{% + \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}% + \expandonce\@tempc% + }% + }% + }{% + \ifcsdef{r@#1:#4}{% + \index[#1]{% + \hyperidx[#1:#4]{% + \begingroup\expandonce\@tempa#4\endgroup\expandonce\@tempb% + }% + \expandonce\@tempc% + }% + }{% + \index[#1]{% + \begingroup\expandonce\@tempa#4\endgroup% + \expandonce\@tempb\expandonce\@tempc% + }% + }% + }% +} +\newcommand*\@declarationlist{} +\let\@declarationlist\relax +\newcommand*\@presetlist{} +\let\@presetlist\relax +\newif\if@presetlist +\newcommand*\@additionallist{} +\let\@additionallist\relax +\newif\if@additionallist +\newcommand*\@gobbleparameters{% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PBName\@gobble% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% +} +\NewDocumentEnvironment{Declaration}{omoog}{% + \listadd\@declarationlist{#2}% + \@changedatdeclare{#1}{#2}% + \IfValueTF{#3}{% + \@presetlisttrue% + \IfValueTF{#4}{% + \def\@tempa[##1:##2]{##1:\,##2}% + \listeadd\@presetlist{preset:\,#3\,|\,\expandonce{\@tempa[#4]}}% + }{% + \listadd\@presetlist{preset:\,#3}% + }% + }{% + \listadd\@presetlist{\relax}% + }% + \IfValueTF{#5}{% + \@additionallisttrue% + \listadd\@additionallist{\hspace*{\tabcolsep}\small(#5)}% + \in@{\Environment}{#2}% + \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + }{% + \listadd\@additionallist{\relax}% + }% +}{% + \ifx\@declarationlist\relax\else% + \ClassError{\tudcls@name}{\string\printdeclarationlist\space is missing}{% + \string\@declarationlist\space is not empty. Did you forget\MessageBreak% + to print this list with \string\printdeclarationlist?% + }% + \fi% + \@gobbleparameters% + \vskip-\lastskip% + \@declaretrue\@openindexfalse#2\@declarefalse% + \pagebreak[0]% +} +\NewDocumentCommand\printdeclarationlist{sod()}{% + \ifx\@declarationlist\relax\else% + \ifvmode\else\par\fi% + \addpenalty{\@beginparpenalty}% + \addvspace{1.5\baselineskipglue}% + \IfBooleanTF{#1}{% + \global\@noindextrue% + \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}}% + }{% + \global\@noindexfalse% + }% + \IfValueT{#2}{\renewcommand*\@changedatdeclaredefault{\emph{#2}}}% + \@declaretrue\@openindextrue% + \@afterindentfalse\@afterheading% + \def\@tempa##1{\ignorespaces##1\tabularnewline}% + \edef\HyperRaiseLinkDefault{\the\baselineskip}% + \setbox0\hbox{% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@declarationlist}% + \hline% + \end{tabular}% + }\usebox0% + \@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% + }{}% + \global\let\@declarationlist\relax% + \global\let\@presetlist\relax% + \global\@presetlistfalse% + \global\let\@additionallist\relax% + \global\@additionallistfalse% + \printchangedatlist*[% + \dimexpr.5\ht\strutbox+.5\dp\strutbox-.5\ht0-.5\dp0\relax% + ]% + \IfValueT{#3}{#3}% + \par\nobreak% + \vskip 1.5\baselineskipglue% + \@afterindentfalse\@afterheading% + \fi% +} +\NewDocumentEnvironment{Declaration*}{om}{% + \@changedatdeclare{#1}{#2}% + \@stareddeclaretrue% + \global\@noindexfalse% + \@declaretrue\@openindextrue#2\@declarefalse% + \@stareddeclarefalse% +}{% + \ifx\@changedatdeclarelist\relax\else% + \ClassError{\tudcls@name}{\string\printchangedatlist\space is missing}{% + \string\@changedatdeclarelist\space is not empty. Did you\MessageBreak% + forget to print this list with \string\printchangedatlist?% + }% + \fi% + \@gobbleparameters% + \@declaretrue\@openindexfalse#2\@declarefalse% +} +\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}% + \def\tabularm@num{#1}% + \let\allcolumnpar\@allcolumnpar% + \begin{tabular}{*{#1}l}\BODY\end{tabular}% +} +\newcommand*\@allcolumnpar[1]{% + \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}% +} +\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% +} +\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\"aumniswert)}% + \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% + {\normalfont\space\footnotesize\tud@item@add}% + \fi% + ]% +} +\newenvironment{Example}{\@nameuse{Example*}}{% + \@nameuse{endExample*}% + \addvspace{-\topsep}% +} +\newenvironment{Example*}{% + \labeling{{\usekomafont{disposition}Beispiel:\ }}% + \item[{\usekomafont{disposition}Beispiel:\ }]% +}{% + \endlabeling% +} +\lstnewenvironment{Code}[1][]{\lstset{style=tudscr,#1}}{} +\newcommand*\tud@currentHref{} +\BeforeBeginEnvironment{Code}{\global\let\tud@currentHref\@currentHref} +\AfterEndEnvironment{Code}{\global\let\@currentHref\tud@currentHref} +\newlist{packages}{description}{2} +\setlist[packages]{% + topsep=\medskipamount,labelwidth=\linewidth,labelsep=0pt,font=\normalfont,% + parsep=\parskip,listparindent=\parindent,before=\before@packages% +} +\newcommand*\itempackages{} +\newcommand*\before@packages{% + \ifdefvoid{\itempackages}{% + \let\itempackages\item% + \let\item\tud@item@pkg% + }{}% +} +\NewDocumentCommand\tud@item@pkg{od()}{% + \itempackages[{% + \IfValueT{#1}{% + \manualhyperdef{files:#1}% + \IfValueTF{#2}{% + \def\@tempa{http://www.ctan.org/pkg/#2}% + }{% + \def\@tempa{http://www.ctan.org/pkg/#1}% + }% + \href{\@tempa}{\Package{#1}'none'|!|}% + }% + }]% +} +\newcommand*\@changedatdeclarelist{} +\let\@changedatdeclarelist\relax +\newcommand*\@changedatdeclaredefault{\emph{neu}} +\newcommand*\@changedatdeclare[2]{% + \IfValueT{#1}{% + \@for\@tempa:=#1\do{% + \protected@expandtwoargs\in@{!}{\@tempa}% + \ifin@% + \expandafter\listadd\expandafter\@changedatdeclarelist% + \expandafter{\@tempa!#2}% + \else% + \expandafter\listadd\expandafter\@changedatdeclarelist% + \expandafter{\@tempa!\@changedatdeclaredefault!#2}% + \fi% + }% + }% +} +\NewDocumentCommand\printchangedatlist{sO{\z@}}{% + \ifx\@changedatdeclarelist\relax\else% + \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \global\let\@changedatdeclarelist\relax% + \IfBooleanF{#1}{% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \@afterindentfalse\@afterheading% + }% + \fi% +} +\NewDocumentCommand\ChangedAt{sO{\z@}m}{\ChangedAt@Process[#1]{#2}{#3}} +\newcommand*\@changedatlist{} +\newcommand*\ChangedAt@Default{} +\newcommand*\@changedatversionlist{} +\let\@changedatversionlist\relax +\newcommand*\ChangedAt@Process[3][]{% + \let\@changedatlist\relax% + \let\@changedatversionlist\relax% + \@for\@tempa:=#3\do{\listeadd{\@changedatlist}{\expandonce\@tempa}}% + \forlistloop\ChangedAt@Split{\@changedatlist}% + \IfBooleanF{#1}{% + \sortlist{\@changedatversionlist}% + \strut% + \marginnote{% + \def\@tempa####1{% + \ignorespaces\manualhyperref{####1}{####1}\tabularnewline% + }% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@changedatversionlist}% + \hline% + \end{tabular}% + }[#2]% + \ignorespaces% + }% +} +\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% + \ChangedAt@@Process#1% +} +\newcommand*\ChangedAt@@Process[3]{% + \IfValueTF{#3}{% + \begingroup% + \@gobbleparameters% + \xdef\ChangedAt@Default{#3}% + \endgroup% + \ChangedAt@@@Process{#1}{Implementierung}{\ChangedAt@Default: #2}% + }{% + \IfValueT{#2}{\ChangedAt@@@Process{#1}{Allgemein}{#2}}% + }% + \xifinlist{#1}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#1}}% +} +\newcommand*\ChangedAt@@@Process[3]{% + \begingroup% + \def\@tempa{#3}% + \in@{\ChangedAt@Default}{#3}% + \ifin@% + \expandafter\def\expandafter\@tempa\expandafter{\ChangedAt@Default}% + \fi% + \expandafter\in@\expandafter\Key\expandafter{\@tempa}% + \ifin@% + \begingroup% + \RenewDocumentCommand\Key{sommo}{\xdef\@TempKey{##3:}}% + \setbox0\hbox{#3}% + \endgroup% + \index[changelog]{% + #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!\@TempKey\ #3% + }% + \else% + \index[changelog]{% + #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!#3% + }% + \fi% + \endgroup% +} +\newcommand*\Rename[4][]{% + \ChangedAt@@@Process{#2}{Umbenennungen}{% + #3: \emph{umbenannt}~\textrightarrow~siehe #4% + }% + \ChangedAt@@@Process{#2}{Implementierung}{% + #4: \emph{neu}~\textrightarrow~ersetzt #3% + }% + \listeadd\@changedatdeclarelist{#2}% + \index[#1]{#3|see{#4}}% +} +\NewDocumentCommand\@ProcessChangedAt{mmd()mmm}{% + \begingroup% + \let\texttt\@firstofone% + \let\textsbn\@firstofone% + \let\textsbs\@firstofone% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \IfValueTF{#3}{\xdef\@tempa{#2:#3:#5}}{\xdef\@tempa{#2:#5}}% + \endgroup% + \IfBooleanTF{#1}{% + \def\@tempb{\begingroup#4#5\endgroup}% + }{% + \def\@tempb{\begingroup#4#5\endgroup~{\idxfont(#6)}}% + }% + \ifcsdef{r@\@tempa}{\hyperidx[\@tempa]{\@tempb}}{\@tempb}% +} +\newif\if@listsorted +\newcommand*\@sortedlist{} +\newcommand*\sortlist[1]{% + \let\@sortedlist\relax% + \forlistloop\@sortlist{#1}% + \let#1\relax% + \@for\@tempa:=\@sortedlist\do{\listeadd{#1}{\@tempa}}% +} +\newcommand*\@sortlist[1]{% + \ifx\@sortedlist\relax% + \def\@sortedlist{#1}% + \else% + \@listsortedfalse% + \let\@tempb\@empty% + \@for\@tempa:=\@sortedlist\do{% + \if@listsorted% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \else% + \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<0\relax% + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{% + #1,\@tempa% + }% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{% + \@tempb,#1,\@tempa% + }% + \fi% + \@listsortedtrue% + \else% + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \fi% + \fi% + \fi% + }% + \if@listsorted\else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}% + \fi% + \let\@sortedlist\@tempb% + \fi% +} +\newcommand*\idxfont{} +\let\idxfont\footnotesize +\robustify{\idxfont} +\newcommand*\PrintIndex{% + \begingroup% + \@printindex% + \@printindex[options]% + \@printindex[macros]% + \@printindex[keys]% + \@printindex[terms]% + \begingroup% + \let\lettergroup\@gobble% + \let\indexspace\par% + \@printindex[fonts]% + \@printindex[colors]% + \endgroup% + \@printindex[files]% + \endgroup% +} +\newcommand*\PrintIndexPrologue[1]{\long\gdef\@printindexprologue{#1}} +\newcommand*\@printindexprologue{} +\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi} +\newcommand*\@printindex[1][]{% + \pagebreak[3]% + \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% + \ifblank{#1}{% + \ifx\@printindexprologue\@empty% + \indexprologue[\@printindexskip]{\manualhyperdef'{idx:main}}% + \else% + \indexprologue{% + \manualhyperdef'{idx:main}% + \@printindexprologue% + }% + \fi% + \printindex\@printindexskip% + \let\@printindexprologue\@empty% + }{% + \indexprologue[\@printindexskip]{\manualhyperdef'{idx:#1}}% + \printindex[#1]\@printindexskip% + }% +} +\newcommand*\seeidx[2]{\pageref{idx:#1}} +\NewDocumentCommand\Index{mom}{% + \index{% + #1!\textrightarrow{}\space% + \manualhyperref{idx:#3}{Index der \IfValueTF{#2}{#2}{#1}}|seeidx{#3}% + }% +} +\newif\if@changelog +\newcommand*\PrintChangelog{% + \begingroup% + \let\lettergroup\@gobble% + \@changelogtrue% + \@printindex[changelog]% + \endgroup% +} +\NewDocumentCommand\Changelog{m}{% + \index{% + #1!\textrightarrow{}\space% + \manualhyperref{idx:changelog}{\"Anderungsliste}|seeidx{changelog}% + }% +} +%%% From File: tudscr-misc.dtx +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +\newcommand*\vTUDScript{} +\AtBeginDocument{% + \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% + \edef\@tempa{\TUDVersion}% + \expandafter\@tempb\@tempa\relax? ? \relax\relax% +} +\newcommand*\vKOMAScript{v3.12\xspace} +\RequirePackage{scrhack}[2014/07/07] +\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} +\NewDocumentCommand\Forum{s}{% + \IfBooleanTF{#1}{% + \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}% + }{% + \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}% + }% + \xspace% +} +\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}} +\NewDocumentCommand\scrguide{s}{% + \def\@tempc{% + http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf% + }% + \IfBooleanTF{#1}{% + \href{\@tempc}{\File{scrguide.pdf}}% + }{% + \hrfn{\@tempc}{\File{scrguide.pdf}}% + }% + \xspace% +} +\NewDocumentCommand\GitHubRepo{s}{% + \def\@tempc{% + https://github.com/tud-cd/tudscr/releases% + }% + \IfBooleanTF{#1}{% + \href{\@tempc}{GitHub-Repository~\File*{tudscr}}% + }{% + \hrfn{\@tempc}{GitHub-Repository~\File*{tudscr}}% + }% + \xspace% +} +\newcommand*\notudscrartcl{% + F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar. +} +\newlength{\tempdim} +\newcommand*\CD{Corporate Design\xspace} +\newcommand*\CDs{Corporate Designs\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{% + \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em + N\kern.1em-\kern.1em concept}\xspace% +} +\AfterPackage*{babel}{% + \@expandtwoargs\in@{,english,}{,\bbl@loaded,}% + \ifin@% + \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \fi +} +\newcommand*\Univers{\textubn{Univers}\xspace} +\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} +\newcommand*\sbnfont{\sffamily\bfseries\upshape} +\newcommand*\sbsfont{\sffamily\bfseries\slshape} +\newcommand*\textsbn{} +\newcommand*\textsbs{} +\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape} +\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape} +\endinput +%% +%% End of file `tudscrman.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty new file mode 100644 index 00000000000..48ab546e16e --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty @@ -0,0 +1,742 @@ +%% +%% This is file `tudscrman.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package,manual,tudscr') +%% tudscr-manual.dtx (with options: `package,identify') +%% tudscr-base.dtx (with options: `load') +%% tudscr-manual.dtx (with options: `package,option') +%% tudscr-base.dtx +%% tudscr-manual.dtx (with options: `package,body') +%% tudscr-misc.dtx (with options: `package,manual') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{tudcls@name}{% + \PackageError{% + tudscrmanual% + }{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +}{} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-manual.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrman}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package (internal tutorials)% +] +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-manual.dtx +\newif\if@tud@todo +\@tud@todotrue +\TUD@ifkey{ToDo}{@tud@todo} +\KOMAoptions{headings=small} +\TUDoptions{cd=true,cdfoot=true} +\AfterPackage*{pstricks}{% + \ifnum\pdfshellescape=1\relax + \RequirePackage{auto-pst-pdf}[2009/04/26] + \else + \RequirePackage[off]{auto-pst-pdf}[2009/04/26] + \fi +} +%%% From File: tudscr-base.dtx +%%% From File: tudscr-manual.dtx +\RequirePackage{xparse}[2013/12/31] +\RequirePackage{textcomp}[2005/09/27] +\RequirePackage{fixltx2e}[2014/06/10] +\RequirePackage{setspace}[2011/12/19] +\setstretch{1.1}\recalctypearea +\RequirePackage{babel}[2014/03/24] +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\AtBeginDocument{% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\glqg#1\grqq{}}% + }% +} +\RequirePackage[babel]{microtype}[2013/05/23] +\RequirePackage{quoting}[2014/01/28] +\RequirePackage{isodate}[2010/01/03] +\RequirePackage{hologo}[2012/04/26] +\RequirePackage{marginnote}[2012/03/29] +\RequirePackage{listings}[2014/03/04] +\lstdefinestyle{tudscr}{% + basicstyle=\ttfamily\setstretch{1},% + keywordstyle=,% + columns=fullflexible,keepspaces,% + aboveskip=.5\baselineskipglue,% + belowskip=.5\baselineskipglue,% + language=[LaTeX]TeX,% + texcl,% +} +\RequirePackage{silence}[2012/07/02] +\RequirePackage{filemod}[2011/09/19] +\RequirePackage{ifpdf}[2011/01/30] +\ifpdf + \PassOptionsToPackage{colorinlistoftodos,obeyFinal,color=HKS92!10}{todonotes} + \RequirePackage{todonotes}[2012/07/25] +\else + \TUDoptions{ToDo=false} +\fi +\WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled} +\RequirePackage{ifplatform}[2010/10/22] +\PassOptionsToPackage{hyperindex=false}{hyperref} +\AtEndPreamble{% + \RequirePackage{hyperref}[2012/11/06] + \hypersetup{colorlinks,linkcolor=blue} + \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} + \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} + \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt} + \newcommand*\autorefname[1][current]{% + \ifstr{#1}{current}{% + \expandafter\HyPsd@@autorefname\@currentHref\@nil% + }{% + \@autorefname\HyPsd@@autorefname{#1}% + }% + \unskip\xspace% + } + \newcommand*\@autorefname[2]{% + \expandafter\ifx\csname r@#2\endcsname\relax% + ??% + \else% + \expandafter\expandafter\expandafter\@@autorefname% + \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil% + \fi% + } + \newcommand*\@@autorefname{} + \def\@@autorefname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil} + \newcommand*\manualhyperref[2]{\hyperref{../tudscr}{tudscr}{#1}{#2}} +} +\PassOptionsToPackage{xindy,splitindex}{imakeidx} +\RequirePackage{imakeidx}[2013/07/11]% +\indexsetup{% + level=\subsection*,% + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% +} +\newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} +\newcommand*\tud@write@i{} +\newwrite\tud@write@i +\newcommand*\tud@write@ii{} +\newwrite\tud@write@ii +\newcommand*\tud@read{} +\newread\tud@read +\openout\tud@write@i=tudscrman-temp.xdy +\write\tud@write@i{(require "texindy.xdy")} +\write\tud@write@i{% +(define-location-class^^J% +\space\space "arabic-page-numbers" ("arabic-numbers") :min-range-length 1^^J% +)% +} +\write\tud@write@i{(markup-range :sep "--")} +\write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)} +\write\tud@write@i{% + (define-attributes (("declare" "!" "important" "?" "default")))% +} +\write\tud@write@i{(merge-to "important" "default")} +\write\tud@write@i{(merge-to "?" "default")} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "declare"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textbf{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "!"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "important"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\textsl{\string\hyperpage{"^^J% +\space\space :close "}}"^^J% +\space\space :attr "?"^^J% +)% +} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\hyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "default"^^J% +)% +} +\write\tud@write@i{% + (markup-locclass-list :open "\string\,\string\dotfill\string\,")% +} +\write\tud@write@i{(define-crossref-class "seeidx")} +\write\tud@write@i{% +(markup-crossref-list^^J% +\space\space :class "seeidx" :open "\string\seeidx{" :sep "; " :close "}{}"^^J% +)% +} +\closeout\tud@write@i +\makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]% +\makeindex[% + title={Umgebungen, Befehle und Seitenstile},name=macros,options=\xdyopt% +]% +\makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]% +\RequirePackage{scrwfile}[2013/08/05] +\RequirePackage{filecontents}[2011/10/08] +\WarningFilter[Tutorial]{latex}{Overwriting file}% +\newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} +\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} +\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PSet{\PName{Einstellung}} +\newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} +\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} +\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} +\newrobustcmd*\OLParameter[1]{% + \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% +} +\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} +\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}} +\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}} +\newcommand*\@ToDo{} +\NewDocumentCommand\ToDo{somo}{% + \ifbool{@tud@todo}{% + \begingroup% + \define@boolkey{todonotes}{doc}[true]{% + \ifbool{KV@todonotes@doc}{\setkeys{todonotes}{color=HKS41!10}}{}% + }% + \define@boolkey{todonotes}{rls}[true]{% + \ifbool{KV@todonotes@rls}{\setkeys{todonotes}{color=HKS44!50}}{}% + }% + \define@boolkey{todonotes}{imp}[true]{% + \ifbool{KV@todonotes@imp}{\setkeys{todonotes}{color=HKS07!50}}{}% + }% + \define@boolkey{todonotes}{nxt}[true]{% + \ifbool{KV@todonotes@nxt}{\setkeys{todonotes}{color=HKS57!50}}{}% + }% + \def\@ToDo{}% + \IfValueTF{#2}{% + \IfBooleanTF{#1}{\edef\@ToDo{#2,nolist}}{\edef\@ToDo{#2}}% + }{% + \IfBooleanT{#1}{\edef\@ToDo{nolist}}% + }% + \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% + \vskip.8ex% + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \endgroup% + \par\noindent% + }{}% + \ignorespaces% +} +\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi} +\reversemarginpar +\newrobustcmd*\bsc{\@backslashchar} +\newlength\baselineskipglue +\setlength\baselineskipglue{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% +} +\newcommand*\tud@shellescape@wrn{% + \ClassWarning{\tudcls@name}{% + You have to recompile this document with\MessageBreak% + activated shell escape option% + }% + \global\let\tud@shellescape@wrn\relax% +} +\newcommand*\pdfexpandableoutline[1]{% + \AfterPackage*{hyperref}{\pdfstringdefDisableCommands{\csletcs{#1}{@#1}}} +} +\newcommand*\@TUDScript{TUD-KOMA-Script} +\pdfexpandableoutline{TUDScript} +\newcommand*\Application[1]{\ifdin{#1}{\mbox{\textsbs{#1}}}} +\newcommand*\Distribution[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}} +\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}} +\newcommand*\File[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}} +\NewDocumentCommand\Class{sm}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{files:#2}{\textsbn{#2}}% + }{% + \textsbn{#2}% + }% + \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Klasse)}}% + }% +} +\DeclareExpandableDocumentCommand\@Class{sm}{#2} +\pdfexpandableoutline{Class} +\NewDocumentCommand\Package{smd()}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{files:#2}{\textsbn{#2}}% + }{% + \IfValueTF{#3}{% + \href{http://www.ctan.org/pkg/#3}{\textsbn{#2}}% + }{% + \href{http://www.ctan.org/pkg/#2}{\textsbn{#2}}% + }% + }% + \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Paket)}}% + }% +} +\DeclareExpandableDocumentCommand\@Package{sm}{#2} +\pdfexpandableoutline{Package} +\NewDocumentCommand\Option{smo}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{options:#2}{\texttt{#2}}\IfValueT{#3}{\texttt{=#3}}% + }{% + \texttt{#2}\IfValueT{#3}{\texttt{=#3}}% + }% + \index[options]{\begingroup\ttfamily#2\endgroup}% + }% +} +\DeclareExpandableDocumentCommand\@Option{sm}{#2} +\pdfexpandableoutline{Option} +\NewDocumentCommand\Environment{sm}{% + \ifdin{#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{#2}}% + }{% + \texttt{#2}% + }% + \index[macros]{\begingroup\ttfamily#2\endgroup}% + }% +} +\DeclareExpandableDocumentCommand\@Environment{sm}{#2} +\pdfexpandableoutline{Environment}% +\NewDocumentCommand\Macro{sm}{% + \ifdin{\bsc#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{\bsc#2}}% + }{% + \texttt{\bsc#2}% + }% + \index[macros]{\begingroup\ttfamily\bsc#2\endgroup}% + }% +} +\DeclareExpandableDocumentCommand\@Macro{sm}{#2} +\NewDocumentCommand\Length{sm}{% + \ifdin{\bsc#2}{% + \IfBooleanTF{#1}{% + \manualhyperref{macros:#2}{\texttt{\bsc#2}}% + }{% + \texttt{\bsc#2}% + }% + \index[macros]{\begingroup\ttfamily\bsc#2\endgroup~{\idxfont(L\"ange)}}% + }% +} +\newenvironment{Preamble}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Preamble*}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Preamble+}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@i}% + \gdef\@tempa{% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk*}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk+}{\tud@tut@pre}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Trunk!}[1]{% + \gdef\@StandaloneFile{#1}% + \tud@tut@pre% +}{% + \tud@tut@post% + \tud@tut@append{\tud@write@ii}% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@pdf% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint*}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@input% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint?}{\tud@tut@pre}{% + \tud@tut@post% + \gdef\@tempa{% + \InputCode% + \tud@tut@lst% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newenvironment{Hint!}[1]{% + \gdef\@StandaloneFile{#1}% + \tud@tut@pre% +}{% + \tud@tut@post% + \gdef\@tempa{% + \tud@tut@lst% + \tud@tut@pdf% + \global\let\@CodePreamble\relax% + }% + \aftergroup\@tempa% +} +\newcommand*\@StandaloneFile{} +\let\@StandaloneFile\relax +\newcommand*\tud@tut@pre{% + \ActivateWarningFilters[Tutorial]% + \@nameuse{filecontents*}{\jobname-temp.tex}% +} +\newcommand*\tud@tut@post{% + \@nameuse{endfilecontents*}% + \DeactivateWarningFilters[Tutorial]% +} +\newcommand*\tud@tut@lst{% + \begin{quoting}[rightmargin=0pt]% + \lstinputlisting[style=tudscr]{\jobname-temp.tex}% + \end{quoting}% +} +\newcommand\@CodePreamble{} +\let\@CodePreamble\relax +\newcommand\CodePreamble[1]{\long\gdef\@CodePreamble{#1}} +\newcommand*\@CodeHook{} +\let\@CodeHook\relax +\newcommand*\CodeHook[1]{\gdef\@CodeHook{#1}}% +\newcommand*\tud@tut@input{% + \def\@tempa##1##2{% + ##1% + \begingroup% + ##2% + \setbox\@tempboxa\hbox{\vbox{##1}}% + \@tempdima=\ht\@tempboxa% + \setbox\@tempboxa\box\voidb@x% + \ifdim\@tempdima>\z@\relax% + \endgraf% + \vspace{\baselineskipglue}% + \noindent\ignorespaces% + \fi% + \endgroup% + }% + \@tempa{\@CodePreamble}{}% + \setlength{\@tempdimc}{\leftskip}% + \setlength{\leftskip}{\leftmargin}% + \ActivateWarningFilters[Tutorial]% + \@tempa{\input{\jobname-temp.tex}}{\@CodeHook}% + \DeactivateWarningFilters[Tutorial]% + \global\let\@CodeHook\relax% + \setlength{\leftskip}{\@tempdimc}% + \noindent\ignorespaces% +} +\newcommand*\InputCode{\input{\jobname-temp.tex}} +\ifnum\pdfshellescape=1\relax% +\ActivateWarningFilters[Tutorial]% +\begin{filecontents*}{tutorial-temp.tex} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrsupervisor} +\usepackage{isodate} +\usepackage{enumitem} +\setlist{noitemsep} +\begin{document} +\input{\jobname.tex} +\end{document} +\end{filecontents*} +\DeactivateWarningFilters[Tutorial]% +\fi +\newcommand*\tud@tut@pdf{% + \ifnum\pdfshellescape=1\relax% + \immediate\write18{% + pdflatex -jobname=\jobname-temp tutorial-temp.tex + pdflatex -jobname=\jobname-temp tutorial-temp.tex + pdflatex -jobname=\jobname-temp tutorial-temp.tex + }% + \ifwindows% + \immediate\write18{rename \jobname-temp.pdf \@StandaloneFile-temp.pdf}% + \else% + \immediate\write18{mv \jobname-temp.pdf \@StandaloneFile-temp.pdf}% + \fi% + \fi% + \global\let\@StandaloneFile\relax% +} +\NewDocumentCommand\IncludeStandalone{omO{1}}{% + \IfFileExists{#2-temp.pdf}{% + \@tempcnta\z@% + \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}% + \ifnum\@tempcnta>\z@% + \setlength{\@tempdima}{\textwidth}% + \divide\@tempdima\@tempcnta% + \advance\@tempcnta\m@ne% + \multiply\@tempcnta 2% + \addtolength{\@tempdima}{-\@tempcnta\tabcolsep}% + \@for\@tempa:=#3\do{% + \advance\@tempcnta\m@ne% + \edef\@tempb{% + keepaspectratio,page=\@tempa,width=\the\@tempdima,% + \IfValueT{#1}{#1}% + } + \fbox{\expandafter\includegraphics\expandafter[\@tempb]{#2-temp.pdf}}% + \ifnum\@tempcnta>\z@\hfill\fi% + }% + \fi% + }{% + \tud@shellescape@wrn% + }% +} +\newcommand\StartTutorial[1][% + Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse + als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach + sinnvollen Pakete geladen. +]{% + \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% + \faculty{}% + \setlength\headingsvskip{-15mm}% + \maketitle\noindent#1% + \immediate\openout\tud@write@i=\jobname-preamble-temp.tex\relax + \immediate\openout\tud@write@ii=\jobname-trunk-temp.tex\relax + \immediate\write\tud@write@ii{^^J\string\begin{document}^^J} +} +\newcommand\FinishTutorial[1][]{% + \immediate\write\tud@write@ii{^^J\string\end{document}^^J} + \immediate\closeout\tud@write@ii% + \immediate\closeout\tud@write@i% + \tud@tut@collect% + \clearpage% + \addsec{Copy~\&~Paste}% + \pagestyle{empty}% + Zum Ende des Dokumentes wird das vorgestellte Tutorial als \"ubersetzbarer + Quelltext ausgegeben, um dieses via Copy~\&~Paste verwenden und alle Punkte + nachvollziehen zu k\"onnen. Bitte beachten Sie, dass~-- abh\"angig vom + genutzten PDF-Betrachter~-- beim Kopieren die dargestellten Einz\"uge und + Abs\"atze m\"oglicherweise verloren gehen k\"onnen. Dies kann insbesondere + aufgrund fehlender Leerzeilen zu einem unvorteilhaften Ausgabeergebnis + f\"uhren. Alternativ finden Sie den folgenden \hologo{LaTeX}-Quelltext auch + im Pfad \Path{texmf/source/latex/tudscr/doc/examples/} als Datei + \File{\jobname-example.tex}. \par #1 + \begin{quoting}[rightmargin=0pt]% + \lstinputlisting[style=tudscr]{\jobname-example-temp.tex}% + \end{quoting}% +} +\newcommand*\tud@tut@line{} +\newcommand*\tud@tut@readtostream[2]{% + \begingroup% + \endlinechar=-1\relax% + \openin\tud@read=#1% + \@tempswafalse% + \loop\unless\ifeof\tud@read% + \readline\tud@read to\tud@tut@line% + \ifx\tud@tut@line\@empty% + \ifeof\tud@read\@tempswafalse\fi% + \else% + \@tempswatrue% + \fi% + \if@tempswa% + \immediate\write#2{\unexpanded\expandafter{\tud@tut@line}}% + \fi% + \ifx\tud@tut@line\@empty\@tempswafalse\fi% + \repeat% + \closein\tud@read% + \endgroup% +} +\newcommand*\tud@tut@append[1]{\tud@tut@readtostream{\jobname-temp.tex}{#1}} +\newcommand*\tud@tut@collect{% + \immediate\openout\tud@write@ii\jobname-example-temp.tex\relax% + \tud@tut@readtostream{\jobname-preamble-temp.tex}{\tud@write@ii}% + \tud@tut@readtostream{\jobname-trunk-temp.tex}{\tud@write@ii}% + \immediate\closeout\tud@write@ii +} +\newcommand*\idxfont{} +\let\idxfont\footnotesize +\robustify{\idxfont} +\newcommand*\PrintIndex{% + \begingroup% + \@printindex[options]% + \@printindex[macros]% + \@printindex[files]% + \endgroup% +} +\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi} +\newcommand*\@printindex[1][]{% + \pagebreak[3]% + \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% + \indexprologue[\@printindexskip]{}% + \printindex[#1]\@printindexskip% +} +%%% From File: tudscr-misc.dtx +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +\newcommand*\vTUDScript{} +\AtBeginDocument{% + \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% + \edef\@tempa{\TUDVersion}% + \expandafter\@tempb\@tempa\relax? ? \relax\relax% +} +\newcommand*\vKOMAScript{v3.12\xspace} +\RequirePackage{scrhack}[2014/07/07] +\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} +\NewDocumentCommand\Forum{s}{% + \IfBooleanTF{#1}{% + \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}% + }{% + \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}% + }% + \xspace% +} +\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}} +\NewDocumentCommand\scrguide{s}{% + \def\@tempc{% + http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf% + }% + \IfBooleanTF{#1}{% + \href{\@tempc}{\File{scrguide.pdf}}% + }{% + \hrfn{\@tempc}{\File{scrguide.pdf}}% + }% + \xspace% +} +\newcommand*\CD{Corporate Design\xspace} +\newcommand*\CDs{Corporate Designs\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{% + \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em + N\kern.1em-\kern.1em concept}\xspace% +} +\AfterPackage*{babel}{% + \@expandtwoargs\in@{,english,}{,\bbl@loaded,}% + \ifin@% + \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \fi +} +\newcommand*\Univers{\textubn{Univers}\xspace} +\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} +\newcommand*\sbnfont{\sffamily\bfseries\upshape} +\newcommand*\sbsfont{\sffamily\bfseries\slshape} +\newcommand*\textsbn{} +\newcommand*\textsbs{} +\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape} +\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape} +\endinput +%% +%% End of file `tudscrman.sty'. 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..487da786271 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls @@ -0,0 +1,3802 @@ +%% +%% 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: `load') +%% 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-comp.dtx (with options: `class,report,option') +%% tudscr-base.dtx (with options: `execute') +%% tudscr-fonts.dtx (with options: `class,body') +%% tudscr-color.dtx (with options: `class,body') +%% tudscr-fields.dtx (with options: `class,body') +%% tudscr-locale.dtx (with options: `class,report,body') +%% tudscr-pagestyle.dtx (with options: `class,report,body') +%% tudscr-layout.dtx (with options: `class,report,body') +%% tudscr-frontmatter.dtx (with options: `class,report,body') +%% tudscr-title.dtx (with options: `class,report,body') +%% tudscr-misc.dtx (with options: `class,report,body') +%% tudscr-comp.dtx (with options: `class,report,body') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\newcommand*\cls@name{report} +\newcommand*\scrcls@name{scrreprt} +\newcommand*\tudcls@name{tudscrreprt} +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{\tudcls@name}[% + 2014/12/17 v2.02 TUD-KOMA-Script + document class (\cls@name)% +] +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\tudscrmail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}{% + The package `tudscrfonts' must not be used with\MessageBreak% + a TUD-KOMA-Script class% + } +]{tudscrfonts} +\newif\if@tud@univers +\newif\if@tud@dinbold +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\newcommand*\tud@mathenc{OT1} +\newif\if@tud@fontspec +\TUD@key@lock{fontspec}[true]{% + \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass{% + \TUD@key{fontspec}[]{% + \ClassError{\tudcls@name}{Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +} +\AtEndPreamble{% + \@expandtwoargs\in@{OT}{\encodingdefault}% + \ifin@% + \def\tud@mathenc{OT1}% + \else% + \def\tud@mathenc{T1}% + \fi% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@univers.fd}}% + }% + \def\@tempb#1{% + \ClassInfoNoLine{\tudcls@name}{% + `#1' fonts not found for math typesetting% + }% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% + }% + \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% + }% + }% + \fi% + \@tempa{\@tud@universtrue}{\@tempb{Univers}}% + \if@tud@fontspec% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\tud@mathenc\tud@dinbold.fd}}% + }% + \else% + \edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% + }% + \fi% + \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% + \if@tud@fontspec% + \if@tud@univers\if@tud@dinbold% + \PassOptionsToPackage{no-math}{fontspec}% + \fi\fi% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +} +\RequirePackage{textcase}[2004/10/07] +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath% + \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% + \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% +}{}{\tud@patch@wrn{@uclcnotmath}}% +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@numkey@bool,% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% + {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% + {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% + {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% + {noheavybarfont}{5},{barfontnoheavy}{5},% + {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% + {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% + {sansmath}{8},{sans}{8},% + {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% + {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% + {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% + {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \TUD@std@numkey@lock{barfont}{false}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=false}% + \TUD@std@numkey@lock{barfont}{true}% + \or% + \TUDoptions{cdfonts=true}% + \TUDoptions{heavyfont=true}% + \TUD@std@numkey@lock{barfont}{heavy}% + \or% + \TUDoptions{din=false}% + \or% + \TUDoptions{din=true}% + \or% + \TUDoptions{barfont=true}% + \or% + \TUDoptions{barfont=heavy}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath=true}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek=true}% + \or% + \TUDoptions{fontspec=true}% + \or% + \TUDoptions{fontspec=false}% + \fi% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@cdfonts% + \if@atdocument\tud@font@cdfonts\fi% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \if@atdocument% + \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}% + \normalfont\selectfont% + \fi% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newcommand*\tud@barfont{0} +\TUD@key@lock{barfont}[true]{% + \TUD@set@numkey@lock{barfont}{tud@barfont}{% + \TUD@numkey@bool,% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@mathfonts\fi% + \fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {color}{2},{colour}{2},% + {colorblack}{3},{colourblack}{3},% + {gray}{4},{grey}{4},{cdgray}{4},% + {black}{5},% + {blue}{6},{cddarkblue}{6},% + {white}{7}% +} +\newcommand*\tud@ddc@save{} +\newif\if@tud@ddc@save +\@tud@ddc@savetrue +\newcommand*\tud@ddc{0} +\newif\if@tud@ddc@autoset +\TUD@key{ddc}[true]{% + \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \ifcase \tud@ddc\relax% + \@tud@ddc@autosetfalse% + \else% + \@tud@ddc@autosettrue% + \fi% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \fi% +} +\newcommand*\tud@ddc@head{0} +\TUD@key{ddchead}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi% + \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@head\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@head\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@foot{0} +\TUD@key{ddcfoot}[true]{% + \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@save% + \begingroup% + \let\tud@ddc@foot\tud@ddc@save% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \endgroup% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \@tud@ddc@savefalse% + \TUDoptions{ddc=false}% + \TUDoptions{ddchead=false}% + \@tud@ddc@savetrue% + \fi% + \fi% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head% + \let\@tempb\tud@ddc@foot% + \if@tud@ddc@autoset% + \ifx\tud@@headlogo\@empty% + \let\@tempa\tud@ddc% + \let\@tempb\z@% + \else% + \let\@tempa\z@% + \let\@tempb\tud@ddc% + \fi% + \fi% +} +\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} +\newcommand*\tud@pslist{} +\forcsvlist{\listadd\tud@pslist}{% + tudheadings,plain.tudheadings,empty.tudheadings% +} +\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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument% + \if@tud@cdfoot% + \tud@ps@store{headings}% + \tud@ps@store{plain}% + \tud@font@koma@set{pageheadfoot}{\upshape}% + \clearpairofpagestyles% + \ofoot[\pagemark]{% + \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% + {\footnotesize\headmark}% + \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% + }% + \else% + \tud@ps@restore{headings}% + \tud@ps@restore{plain}% + \tud@font@koma@unset{pageheadfoot}% + \fi% + \fi% + \fi% +} +\newcommand*\tud@ps@store[1]{% + \tud@@ps@store{#1}{odd}{left}{head}{}% + \tud@@ps@store{#1}{odd}{right}{head}{}% + \tud@@ps@store{#1}{odd}{middle}{head}{}% + \tud@@ps@store{#1}{even}{left}{head}{}% + \tud@@ps@store{#1}{even}{right}{head}{}% + \tud@@ps@store{#1}{even}{middle}{head}{}% + \tud@@ps@store{#1}{odd}{left}{foot}{}% + \tud@@ps@store{#1}{odd}{right}{foot}{}% + \tud@@ps@store{#1}{odd}{middle}{foot}{}% + \tud@@ps@store{#1}{even}{left}{foot}{}% + \tud@@ps@store{#1}{even}{right}{foot}{}% + \tud@@ps@store{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@store[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + }% +} +\newcommand*\tud@ps@restore[1]{% + \tud@@ps@restore{#1}{odd}{left}{head}{}% + \tud@@ps@restore{#1}{odd}{right}{head}{}% + \tud@@ps@restore{#1}{odd}{middle}{head}{}% + \tud@@ps@restore{#1}{even}{left}{head}{}% + \tud@@ps@restore{#1}{even}{right}{head}{}% + \tud@@ps@restore{#1}{even}{middle}{head}{}% + \tud@@ps@restore{#1}{odd}{left}{foot}{}% + \tud@@ps@restore{#1}{odd}{right}{foot}{}% + \tud@@ps@restore{#1}{odd}{middle}{foot}{}% + \tud@@ps@restore{#1}{even}{left}{foot}{}% + \tud@@ps@restore{#1}{even}{right}{foot}{}% + \tud@@ps@restore{#1}{even}{middle}{foot}{}% +} +\newcommand*\tud@@ps@restore[4]{% + \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% + \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csundef{@@tud@ps@#1@#2@#3@#4}% + }% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + \TUD@numkey@bool,% + {typearea}{0},% + {tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{centred}{2},{centered}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\recalctypearea\fi% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@cover}{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\csdef@lock{tud@layout@chapter}{0} +\newcommand*\tud@layout@switch{} +\edef\tud@layout@switch{% + \TUD@numkey@bool,% + {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{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@cover}{0}% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \csstd@lock{tud@layout@chapter}{0}% + \or% + \csstd@lock{tud@layout@cover}{1}% + \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@cover}{1}% + \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@cover}{1}% + \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% + \fi% +} +\TUD@key{cdcover}[true]{% + \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@cover}{0}% + \or% + \csset@lock{tud@layout@cover}{1}% + \or% + \csset@lock{tud@layout@cover}{2}% + \or% + \csset@lock{tud@layout@cover}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \fi% +} +\TUD@key{cdchapter}[true]{% + \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \AtEndOfFamilyOptions{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% + \ifcase \tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \fi% + \ifcase \tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% + }% +} +\newif\if@tud@parttitle +\TUD@key@lock{parttitle}[true]{% + \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@layout@process\fi% + \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@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + \else% + \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{% + \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{% + \ifstr{#1}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + \FamilyKeyStateProcessed% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \ifx\@currname\tudcls@name% + \ifx\@currext\@clsextension% + \ifstr{#1}{headings}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \tud@ifinpslist{#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{}% + }% + \fi% + \fi% + }% + }}}% + \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@fm@switch{% + {section}{2},{sect}{2},{sec}{2},{addsec}{2},% + {chapter}{3},{chap}{3},{addchap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% + {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% + {nottotoc}{6},{notoc}{6},% + {markboth}{7},{mark}{7},% + {nomarkboth}{8},{nomark}{8},% + {one}{9},{simple}{9},{single}{9},% + {multi}{10},{multiple}{10},{all}{10},{two}{10},{both}{10},{double}{10},% + {nofil}{11},{nofill}{11},{novfil}{11},{novfill}{11},% + {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% +} +\newcommand*\tud@abstract@level{0} +\newbool@lock{@tud@abstract@toc} +\newif\if@tud@abstract@toc@leveldown +\newif\if@tud@abstract@markboth +\newif\if@tud@abstract@multi +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\TUD@key{abstract}[true]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}% + \@tud@abstract@toc@leveldownfalse% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \@tud@abstract@toc@leveldowntrue% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@markbothtrue% + \or% + \@tud@abstract@markbothfalse% + \or% + \@tud@abstract@multifalse% + \or% + \@tud@abstract@multitrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% + \fi% +} +\newcommand*\tud@declaration@level{1} +\newbool@lock{@tud@declaration@toc} +\newif\if@tud@declaration@toc@leveldown +\newif\if@tud@declaration@markboth +\newif\if@tud@declaration@multi +\@tud@declaration@multitrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\TUD@key{declaration}[true]{% + \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% + \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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}{true}% + \@tud@declaration@toc@leveldownfalse% + \or% + \stdbool@lock{@tud@declaration@toc}{true}% + \@tud@declaration@toc@leveldowntrue% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@markbothtrue% + \or% + \@tud@declaration@markbothfalse% + \or% + \@tud@declaration@multifalse% + \or% + \@tud@declaration@multitrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% + \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@symbolheadings +\TUD@key{footnotes}{% + \TUD@set@numkey{footnotes}{@tempa}{% + {nosymbolheadings}{0},{numberheadings}{0},% + {symbolheadings}{1}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \@tud@symbolheadingsfalse% + \or% + \@tud@symbolheadingstrue% + \fi% + \fi% +} +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +%%% From File: tudscr-comp.dtx +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=lite}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdfoot=true}% + \else% + \TUDoptions{cdfoot=false}% + \fi% + \fi% +} +\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{tudscrver}[last]{% + \scr@ifundefinedorrelax{tudscr@v@#1}{% + \def\tudscr@v@comp{0}% + \ClassWarningNoLine{\tudcls@name}{% + You have set option `tudscrver' to `#1', but\MessageBreak% + this value of version is not supported.\MessageBreak% + Because of this, version was set to `first'% + }% + \FamilyKeyStateProcessed% + }{% + \ClassInfoNoLine{\tudcls@name}{% + Switching compatibility level to `#1'% + }% + \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \FamilyKeyStateProcessed% + }% +} +\AtEndOfClass{% + \TUD@key{tudscrver}[]{% + \ClassError{\tudcls@name}{Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\tudcls@name' but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@3.12}{% + \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% + \ClassError{\tudcls@name}{% + KOMA-Script compatibility level too low% + }{% + \TUDVersion\space has to be used at least with\MessageBreak% + KOMA-Script `version=v3.12'% + }% + \fi% + }{% + \ClassError{\tudcls@name}{% + outdated version of KOMA-Script% + }{% + \TUDVersion\space has to be used with KOMA-Script v3.12 or newer% + }% + }% +} +\@namedef{tudscr@v@first}{0} +\@namedef{tudscr@v@2.02}{0} +\@namedef{tudscr@v@last}{0} +%%% From File: tudscr-base.dtx +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions\relax +\LoadClass{\scrcls@name}[2013/12/19] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\tudcls@name}{% + The package `graphics' was superseded by `graphicx'% + }% + }{}% + }% + \RequirePackage{graphicx}[1999/02/16]% + \RequirePackage{tudscrcolor}[\TUDVersion]% +} +%%% From File: tudscr-fonts.dtx +\AtEndPreamble{% + \if@tud@fontspec% + \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% + \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% + \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% + \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% + \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% + \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% + \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% + \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% + \newcommand*\textuln[1]{{\univln#1}} + \newcommand*\texturn[1]{{\univrn#1}} + \newcommand*\textubn[1]{{\univbn#1}} + \newcommand*\textuxn[1]{{\univxn#1}} + \newcommand*\textuls[1]{{\univls#1}} + \newcommand*\texturs[1]{{\univrs#1}} + \newcommand*\textubs[1]{{\univbs#1}} + \newcommand*\textuxs[1]{{\univxs#1}} + \else% + \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% + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \fi% + \if@tud@fontspec% + \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% + \newcommand*\textdbn[1]{{\dinbn#1}} + \else% + \if@tud@dinbold% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% + \else% + \let\dinbn\sectfont% + \fi% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textdbn}{\dinbn} + \fi% + \DeclareMathVersion{univers} + \DeclareMathVersion{universbold} + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{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}{\tud@univers t}{l}{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} + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} + \DeclareMathVersion{dinbold} + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{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} + \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@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}% + \if@tud@fontspec% + \if@tud@heavyfont% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ] + \else% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \if@tud@heavyfont% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \fi% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \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@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% +} +\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@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% +} +\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@head@font@bold{} +\newcommand*\tud@head@font@light{} +\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}{\mddefault}{n}{\tud@head@font@size}% + \ifcase \tud@barfont\relax% + \if@tud@cdfonts% + \ClassWarning{\tudcls@name}{% + It isn't possible to use `barfont=false'\MessageBreak% + together with `cdfont=true'% + }% + \fi% + \or% + \@tud@cdfontstrue% + \def\mddefault{l}% + \or% + \@tud@cdfontstrue% + \def\mddefault{m}% + \fi% + \if@tud@cdfonts% + \if@tud@fontspec% + \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@font@size}% + \ifstr{\mddefault}{m}{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + }{% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@font@size}% + }% + \else% + \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}{\mddefault}{n}{\tud@head@font@size}% + \fi% + \fi% + \fi% +} +\newrobustcmd*\ifdin{% + \@tempswafalse + \@expandtwoargs\in@{DINBold}{\f@family}% + \ifin@\@tempswatrue\fi% + \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% + \if@tempswa + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \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-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \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-fields.dtx +\RequirePackage{trimspaces}[2009/09/17] +\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*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \protected@xdef\@@title{\trim@spaces{#1}}% + \endgroup% +} +\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% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% + \endgroup% + \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]{% + \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}% + }% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@graduation{} +\newcommand*\@graduationabbr{} +\newcommand*\graduation[2][]{% + \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}% + \gdef\@graduation{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{\gdef\@supervisor{#1}} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{\gdef\@supporter{#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}% +} +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\providecommand*\publisher[1]{\publishers{#1}} +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@date% + \\[20mm 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*\printdate[1]{#1} +\BeforePackage{isodate}{\undef\printdate} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% +} +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +%%% 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' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single 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 \tudscrmail% + }% + }% +} +\tud@locale@define{\graduationtext} +\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{\professorothername} +\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{\blockingname} +\tud@locale@define{\blockingtext} +\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{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}% +\tud@locale@german{\supervisorname}{Betreuer}% +\tud@locale@german{\supervisorothername}{}% +\tud@locale@german{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + Erstgutachter% + \else% + Gutachter% + \fi% +} +\tud@locale@german{\refereeothername}{Zweitgutachter}% +\tud@locale@german{\advisorname}{Fachreferent}% +\tud@locale@german{\advisorothername}{}% +\tud@locale@german{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Betreuende Hochschullehrer% + \else% + Betreuender Hochschullehrer% + \fi% +} +\tud@locale@german{\professorothername}{}% +\tud@locale@german{\datetext}{Eingereicht am}% +\tud@locale@german{\dateofbirthtext}{Geboren am}% +\tud@locale@german{\placeofbirthtext}{in}% +\tud@locale@german{\defensedatetext}{Verteidigt am}% +\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}% +\tud@locale@german{\matriculationnumbername}{Matrikelnummer}% +\tud@locale@german{\coverpagename}{Umschlagseite}% +\tud@locale@german{\titlepagename}{Titelblatt}% +\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}% +\tud@locale@german{\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.% +} +\tud@locale@german{\blockingname}{Sperrvermerk}% +\tud@locale@german{\blockingtext}{% + 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 Technischen + Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des + Pr\"ufungsausschusses zug\"anglich zu machen.% +} +\tud@locale@german{\listingname}{Quelltext}% +\tud@locale@german{\listlistingname}{Quelltextverzeichnis}% +\tud@locale@german{\dissertationname}{Dissertation}% +\tud@locale@german{\diplomathesisname}{Diplomarbeit}% +\tud@locale@german{\masterthesisname}{Master-Arbeit}% +\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}% +\tud@locale@german{\studentresearchname}{Studienarbeit}% +\tud@locale@german{\projectpapername}{Projektarbeit}% +\tud@locale@german{\seminarpapername}{Seminararbeit}% +\tud@locale@german{\researchname}{Forschungsbericht}% +\tud@locale@german{\logname}{Protokoll}% +\tud@locale@german{\internshipname}{Praktikumsbericht}% +\tud@locale@german{\reportname}{Bericht}% +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +\tud@locale@english{\graduationtext}{to achieve the academic degree}% +\tud@locale@english{\supervisorname}{Supervisor}% +\tud@locale@english{\supervisorothername}{}% +\tud@locale@english{\refereename}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@referee}% + }% + \endgroup% + \if@tempswa% + First referee% + \else% + Referee% + \fi% +} +\tud@locale@english{\refereeothername}{Second referee}% +\tud@locale@english{\advisorname}{Advisor}% +\tud@locale@english{\advisorothername}{}% +\tud@locale@english{\professorname}{% + \begingroup% + \protecting{% + \global\@tempswafalse% + \def\and{\global\@tempswatrue}% + \savebox0{\@professor}% + }% + \endgroup% + \if@tempswa% + Supervising professors% + \else% + Supervising professor% + \fi% +} +\tud@locale@english{\professorothername}{}% +\tud@locale@english{\datetext}{Submitted on}% +\tud@locale@english{\dateofbirthtext}{Born on}% +\tud@locale@english{\placeofbirthtext}{in}% +\tud@locale@english{\defensedatetext}{Defended on}% +\tud@locale@english{\matriculationyearname}{Matriculation year}% +\tud@locale@english{\matriculationnumbername}{Matriculation number}% +\tud@locale@english{\coverpagename}{Cover page}% +\tud@locale@english{\titlepagename}{Title page}% +\tud@locale@english{\confirmationname}{Statement of authorship}% +\tud@locale@english{\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.% +} +\tud@locale@english{\blockingname}{Restriction note}% +\tud@locale@english{\blockingtext}{% + 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 + Technische Universit\"at Dresden, the reviewers and also the + members of the examination board.% +} +\tud@locale@english{\listingname}{Listing}% +\tud@locale@english{\listlistingname}{List of Listings}% +\tud@locale@english{\dissertationname}{Dissertation}% +\tud@locale@english{\diplomathesisname}{Diploma Thesis}% +\tud@locale@english{\masterthesisname}{Master Thesis}% +\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}% +\tud@locale@english{\studentresearchname}{Student Research Project}% +\tud@locale@english{\projectpapername}{Project Paper}% +\tud@locale@english{\seminarpapername}{Seminar Paper}% +\tud@locale@english{\researchname}{Research Report}% +\tud@locale@english{\logname}{Log}% +\tud@locale@english{\internshipname}{Internship Report}% +\tud@locale@english{\reportname}{Report}% +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +\AfterPackage{mathswap}{% + \tud@locale@german{\@commaswap}{,}% + \tud@locale@german{\@dotswap}{\,}% + \tud@locale@english{\@commaswap}{\,}% + \tud@locale@english{\@dotswap}{.}% +} +%%% 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@line} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@headdiff} +\newlength{\tud@dim@ddcdiff} +\newlength{\tud@dim@ddcfoot} +\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\relax}% + \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% +} +\newcommand*\tud@ifsacrop{% + \ifcsdef{ifsa@crop}{% + \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% + }{% + \@secondoftwo% + }% +} +\AtEndPreamble{% + \tud@ifsacrop{% + \PreventPackageFromLoading{scrlayer-scrpage}% + \pagestyle{empty}% + \hoffset=-72.27pt% + \voffset=-72.27pt% + \topmargin=0pt% + \headheight=0pt% + \headsep=0pt% + \marginparsep=0pt% + \marginparwidth=0pt% + \footskip=0pt% + \marginparpush=0pt% + \oddsidemargin=0pt% + \evensidemargin=0pt% + \topskip=0pt% + \textheight=\dimexpr\maxdimen% + }{}% +} +\AtEndPreamble{% + \RequirePackage{scrlayer-scrpage}[2013/12/14]% + \AfterPackage*{scrlayer-scrpage}{% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + },% + ]{tudheadings.head.mainlogo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\tud@dim@logoy,% + contents={\hfill\tud@headlogo},% + ]{tudheadings.head.logo}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.topline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% + ]{tudheadings.head.bottomline}% + \DeclareNewLayer[% + background,align=tl,% + voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.topwideline}% + \DeclareNewLayer[% + background,align=tl,% + voffset={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + },% + contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% + ]{tudheadings.head.bottomwideline}% + \DeclareNewLayer[% + background,head,align=tl,% + voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + contents={\tud@head@text@box},% + ]{tudheadings.head.text}% + \DeclareNewLayer[% + background,foot,% + contents={% + \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% + \hfill\tud@footlogo% + },% + ]{tudheadings.foot.ddclogo}% + \newpairofpagestyles{tudheadings}{}% + \ForEachLayerOfPageStyle{tudheadings}{% + \RemoveLayersFromPageStyle{tudheadings}{#1}% + }% + \ForEachLayerOfPageStyle{plain.tudheadings}{% + \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% + }% + \AddLayersToPageStyle{tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + scrheadings.foot.odd,% + scrheadings.foot.even,% + scrheadings.foot.oneside,% + scrheadings.foot.above.line,% + scrheadings.foot.below.line% + }% + \AddLayersToPageStyle{plain.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + plain.scrheadings.foot.odd,% + plain.scrheadings.foot.even,% + plain.scrheadings.foot.oneside,% + plain.scrheadings.foot.above.line,% + plain.scrheadings.foot.below.line% + }% + \DeclareNewPageStyleByLayers{empty.tudheadings}{% + tudheadings.head.mainlogo,% + tudheadings.head.logo,% + tudheadings.head.topline,% + tudheadings.head.bottomline,% + tudheadings.head.topwideline,% + tudheadings.head.bottomwideline,% + tudheadings.head.text,% + tudheadings.foot.ddclogo,% + }% + \AddToLayerPageStyleOptions{tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{plain.tudheadings}{% + onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + }% + \AddToLayerPageStyleOptions{empty.tudheadings}{% + onselect={% + \letcs\ps@empty{ps@empty.tudheadings}% + \letcs\ps@plain{ps@plain.tudheadings}% + \letcs\ps@headings{ps@tudheadings}% + }% + }% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% + \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + }% +} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforepagestyle[1]{% + \def\@tempa{#1}% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% + }{}% + \tud@ifinpslist{\@tempa}{% + \tud@ddc@check% + \ifcase \@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + \setlength{\tud@dim@headdiff}{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + \RedeclarePageStyleByLayers{empty}{}% + }% + \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% + \ifcase \tud@geometry\relax\else% + \if@hincl% + \addtolength{\tud@dim@headdiff}{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% + \fi% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% +} +\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} +\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} +\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% + \let\tud@beforepagestyle\@gobble\pagestyle% +}{}{\tud@patch@wrn{cleardoublepageusingstyle}} +\newcommand*\tud@ddc@enlargepage{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\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[1]{% + \color{\tud@head@color}% + \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% +} +\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@box{% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% + \faculty{}% + \fi% + \color{\tud@head@color}% + \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\relax}% + \hfuzz=\@tempdima% + \fi% + \vbox{% + \linespread{0}\selectfont% + \tud@head@text@write{\tud@head@text@first}% + \ifx\tud@head@text@second\@empty% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% + \fi% + \else% + \newline\tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \fi% + \fi% + }% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[% + \dimexpr\tud@dim@barheight-\depth\relax% + ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}% +} +\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@mainlogo@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', inner margin is #1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (`DIV=\the\ta@div')% + }% + \global\let\tud@mainlogo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \setlength{\@tempdima}{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + }% + \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% + \def\tud@@mainlogo{TUD-black}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \global\let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% + \color{\tud@head@color}% + \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% +} +\newcommand*\headlogo[2][]{% + \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \def\tud@@headlogo{#2}% + \def\tud@@@headlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} +\newcommand*\tud@@headlogo{} +\newcommand*\tud@@@headlogo{} +\newcommand*\tud@headlogo{% + \tud@ddc@check% + \ifx\tud@@headlogo\@empty\else% + \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% + \fi% + \ifcase \@tempa\relax\or% + \def\tud@@headlogo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \or% + \def\tud@@headlogo{DDC-03}% + \or% + \def\tud@@headlogo{DDC-09}% + \or% + \def\tud@@headlogo{DDC-21}% + \or% + \def\tud@@headlogo{DDC-24}% + \or% + \def\tud@@headlogo{DDC-27}% + \or% + \def\tud@@headlogo{DDC-30}% + \fi% + \ifx\tud@@headlogo\@empty\else% + \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% + \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% + {}{\tud@patch@wrn{tud@@@headlogo}}% + \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% + \fi% +} +\newcommand*\tud@headlogo@wrn{% + \ClassWarning{\tudcls@name}{% + The secondary logo given with `\string\headlogo' is\MessageBreak% + overwritten with DDC logo. Maybe you should use\MessageBreak% + `ddcfoot' or better `ddc' instead of `ddchead'% + }% + \global\let\tud@headlogo@wrn\relax% +} +\newcommand*\tud@@footlogo{} +\newcommand*\tud@footlogo{% + \tud@ddc@check% + \ifcase \@tempb\relax\or% + \def\tud@@footlogo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \or% + \def\tud@@footlogo{DDC-01}% + \or% + \def\tud@@footlogo{DDC-07}% + \or% + \def\tud@@footlogo{DDC-19}% + \or% + \def\tud@@footlogo{DDC-22}% + \or% + \def\tud@@footlogo{DDC-25}% + \or% + \def\tud@@footlogo{DDC-28}% + \fi% + \ifx\tud@@footlogo\@empty\else% + \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \fi% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newcommand*\tud@geometry@restore{} +\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}% + \let\tud@geometry@restore\Gm@restore@org% + \if@atdocument% + \let\Gm@restore@org\relax% + \tud@geometry@process% + \gdef\tud@currentgeometry{}% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + \fi% + \let\Gm@restore@org\tud@geometry@restore% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\AtEndPreamble{% + \tud@ifsacrop{}{% + \recalctypearea% + \RequirePackage{geometry}[2010/09/12]% + \tud@geometry@process% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }% +} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in\relax,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top={% + \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% + },% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% + footskip=\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight={% + \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% + },% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + \setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + }% + \ifdim\tud@ta@headdiff<\z@\relax% + \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \fi% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + 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\relax,% + 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\relax,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + \def\tud@geometry@pmargin{% + top={% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + },% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + \if@fincl% + bottom=\dimexpr% + \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% + \else% + bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% + \fi% + footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + }% + \setlength{\tud@ta@headdiff}{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight% + +\tud@dim@headsep-\tud@dim@top\relax% + }% + \setlength{\tud@dim@ddcdiff}{\dimexpr% + \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + }% + \fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \global\tud@ta@headdiff=\tud@ta@headdiff% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + ignorehead,% + \tud@geometry@fincl% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{typearea}% +} +\newcommand*\tud@geometry@hincl{% + \if@hincl% + includehead,% + \else% + ignorehead,% + \fi% +} +\newcommand*\tud@geometry@fincl{% + \if@fincl% + includefoot,% + \else% + ignorefoot,% + \fi% +} +\newcommand*\tud@ps{tudheadings} +\newcommand*\tud@ps@select{% + \expandafter\pagestyle\expandafter{\tud@ps}% + \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% + \ifstr{\tud@ps}{empty.tudheadings}{% + \renewcommand*\chapterpagestyle{empty.tudheadings}% + }{}% +} +\newcommand*\tud@currentpagestyle{} +\newcommand*\tud@currentpagestyle@set{% + \ifdefvoid{\tud@currentpagestyle}{% + \xdef\tud@currentpagestyle{\currentpagestyle}% + }{}% +} +\newcommand*\tud@currentpagestyle@reset{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% +} +\NewEnviron{tudpage}[1][]{% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{tudheadings}% + \TUD@parameter@set[tudpage]{#1}% + \tud@ps@select% + \tud@multicols@check% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \aftergroup\tud@currentpagestyle@reset% + \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@parameter@let{colour}{color}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% + \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% + \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{pagestyle}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@wrn{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}}}}% + }% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@let{logo}{headlogo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +%%% 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\tud@raggedright\else\tud@RaggedRight\fi% +} +\newcommand*\tud@font@heading@size{\Huge} +\newkomafont{parttitle}{% + \tud@font@heading% + \color{\tud@color@partfont}% + \usesizeofkomafont{section}% +} +\newlength{\pageheadingsvskip} +\newlength{\headingsvskip} +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@cover\relax% + \stdbool@lock{@tud@cover@cdlayout}{false}% + \else% + \stdbool@lock{@tud@cover@cdlayout}{true}% + \fi% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@cmd@restore{titlepagestyle}% + \tud@font@koma@unset{titlehead}% + \tud@font@koma@unset{title}% + \tud@font@koma@unset{subtitle}% + \tud@font@koma@unset{subject}% + \tud@font@koma@unset{author}% + \tud@font@koma@unset{date}% + \tud@font@koma@unset{publishers}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@cmd@store{titlepagestyle}% + \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}% + \tud@font@koma@set{title}{% + \usekomafont{disposition}% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{% + \fontfamily{\sfdefault}% + \fontseries{\bfdefault}% + \selectfont% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{author}{\usekomafont{subject}}% + \tud@font@koma@set{date}{\usekomafont{titlepage}}% + \tud@font@koma@set{publishers}{\usekomafont{author}}% + \let\maketitle\tud@maketitle% + \renewcommand*\titlepagestyle{plain.tudheadings}% + \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@unset{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}{\usekomafont{parttitle}}% + \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \fi% + \let\partheadstartvskip\tud@partheadstartvskip% + \let\partheadendvskip\tud@partheadendvskip% + \renewcommand*\partheademptypage{}% + \renewcommand*\partpagestyle{plain.tudheadings}% + \let\@part\tud@@part% + \let\@spart\tud@@spart% + \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@sectioning@reset[addchap]{chapter}% + \tud@font@koma@unset{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@sectioning@set[addchap]{chapter}{% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@chapterfont}% + }% + \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}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \let\@@makechapterhead\tud@@@makechapterhead% + \fi% +} +\AtEndPreamble{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% +} +\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% + \begingroup% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \if@tud@parttitle% + \begingroup% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@partfont}% + \ifx\@@title\@empty% + \tud@makeuppercase{\strut}% + \else% + \tud@makeuppercase{\@@title}% + \fi% + \par\nobreak\vskip .775\baselineskip% + \endgroup% + \else% + \usekomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \fi% + \endgroup% +} +\newcommand*\tud@partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \clearpage% + }% +} +\let\tud@@part\@part +\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}}% +\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\relax% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@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@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% + \if@tud@chapterpage% + \vspace*{\pageheadingsvskip}% + \else% + \vspace*{\headingsvskip}% + \fi% +}% +\newcommand*\tud@@@makechapterhead{} +\let\tud@@@makechapterhead\@@makechapterhead +\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \endgroup% + \fi% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \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=true}% + \fi% + \fi% + \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% + \color{\tud@color@chapterfont}% + \fi% + \@afterindentfalse\@afterheading% +} +\patchcmd{\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% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% + \@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% + }% + \if@restonecol\twocolumn\fi% + \else% + \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \fi% + \if@twocolumn% + \@afterindentfalse\@afterheading% + \fi% +} +\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% +} +\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} +\providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% +} +\providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a +} +\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@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{\@@tud@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]{% + \csedef{#1}{% + \noexpand\SecDef% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@#1\endcsname% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname tud@s#1\endcsname% + }% + \csedef{tud@#1}[##1]##2{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname% + [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}% + }% + \csedef{tud@s#1}##1{% + \expandafter\expandafter\expandafter\noexpand% + \expandafter\csname @@tud@#1\endcsname*% + {\noexpand\tud@sectioning@uppercase{##1}}% + }% + \ifstr{#1}{addsec}{% + \def\tud@addsec[##1]##2{% + \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}% + }% + \def\tud@saddsec##1{% + \@@tud@addsec*{\tud@sectioning@uppercase##1}% + }% + }{}% + \@tempswafalse% + \ifstr{#1}{chapter}{\@tempswatrue}{}% + \ifstr{#1}{addchap}{\@tempswatrue}{}% + \if@tempswa% + \def\@tempa{,s}% + \@for\@tempb:=\@tempa\do{% + \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@pre% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% + \tud@chapter@app% + }{}{\tud@patch@wrn{tud@sectioning@case}}% + }% + \fi% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@unset{#2}% +} +\robustify{\footnote}% +\newcommand*\tud@sectioning@uppercase[1]{% + \begingroup% + \if@tud@symbolheadings% + \let\c@footnote\c@symbolheadings% + \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}% + \fi% + \tud@makeuppercase{#1}% + \endgroup% +} +\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]{% + \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% +} +\newcommand*\tud@font@koma@unset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@check[2]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \@tempswatrue% + \ifboolexpr{bool {@tud@#1@fil} and bool {@tud@#1@multi}}{% + \setbox0\vbox{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-\baselineskip}}% + \fi% + #2% + }% + \ifdim\textheight<\dimexpr\ht0+\dp0\relax% + \ClassWarning{\tudcls@name}{% + The given content within the `#1'\MessageBreak% + environment is too large, so it wasn't possible\MessageBreak% + to center the body vertically. Setting the option\MessageBreak% + `#1=nofill' would be a solution. You\MessageBreak% + could also use multiple `#1' environments% + }% + \@tempswafalse% + \fi% + }{}% + }{}% + #2% +} +\newcommand*\tud@fm@set[3]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{}{% + \boolfalse{@tud@#1@multi}% + \boolfalse{@tud@#1@fil}% + }% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \if@titlepage% + \ifbool{@tud@#1@multi}{}{\clearpage}% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \if@tempswa\vspace*{\z@ \@plus 1fil}\fi% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 2fil}}{}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\begin{\tud@quoting}\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\end{\tud@quoting}\fi% + \fi% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \ifbool{@tud@#1@multi}{% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \or% + \if@titlepage\endgraf\fi% + \csname phantomsection\endcsname% + \@afterindentfalse% + \begingroup% + \centering% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \endgraf% + \endgroup% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip\relax% + \@afterheading% + \or% + \section*{#2}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi% + \or% + \chapter*{#2}% + \@mkdouble{\MakeMarkcase{#2}}% + \fi% + \ifbool{@tud@#1@markboth}{% + \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}% + }{}% + \ifbool{@tud@#1@toc}{% + \ifbool{@tud@#1@toc@leveldown}{% + \addsectiontocentry{}{#2}% + }{% + \addchaptertocentry{}{#2}% + } + }{}% +} +\newcommand*\tud@fm@next[2]{% + \TUD@parameter@set[#1]{#2}% + \if@twocolumn% + \ifbool{@tud@#1@multi}{\par}{\newpage} + \else% + \if@titlepage% + \ifbool{@tud@#1@fil}{% + \vspace*{\z@ \@plus 1fil}% + \ifbool{@tud@#1@multi}{}{% + \vspace*{\z@ \@plus 1fil}% + \clearpage% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \vspace*{\z@ \@plus 1fil}% + }% + }{\ifbool{@tud@#1@multi}{}{\clearpage}}% + \else% + \ifnum\@nameuse{tud@#1@level}<2 + \end{\tud@quoting} + \begin{\tud@quoting} + \fi% + \fi% + \fi% +} +\newcommand*\tud@fm@pagestyle[2]{% + \if@titlepage% + \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + }% + \else% + \ClassWarning{\tudcls@name}{% + The key `pagestyle' can only be used either with\MessageBreak% + activated option `titlepage' or with chapter\MessageBreak% + headings (`#1=chapter')% + }% + \fi% +} +\newcommand*\tud@quoting{quotation} +\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} +\csundef{abstract} +\csundef{endabstract} +\NewEnviron{abstract}[1][]{% + \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \TUD@parameter@set[abstract]{#1}% + \if@tud@abstract@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% + \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% + \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \@tud@abstract@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\nextabstract[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \else% + \ifbool{@tud@abstract@multi}{% + \ifcase\@nameuse{tud@abstract@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip\relax}% + \fi% + }{}% + \fi% + \tud@fm@next{abstract}{#1}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{abstract}{\abstractname}}]% + \else% + \tud@fm@head{abstract}{\abstractname}% + \fi% +} +\newif\if@tud@declarations +\NewEnviron{declarations}[1][]{% + \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \if@titlepage% + \tud@currentpagestyle@set% + \clearpage\def\tud@ps{empty}% + \fi% + \@tud@declarationstrue% + \TUD@parameter@set[declaration]{#1}% + \if@tud@declaration@markboth\def\tud@ps{headings}\fi% + \tud@multicols@check% + \if@titlepage\tud@ps@select\fi% + \tud@fm@check{declaration}{\BODY}% +}[% + \if@titlepage% + \aftergroup\tud@currentpagestyle@reset% + \clearpage% + \fi% +] +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% + \TUD@parameter@define{markboth}[true]{% + \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% + \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% + \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \@tud@declaration@markbothfalse% + \manualmark\markboth{#1}{#1}% + }}}}}}% + }% + \TUD@parameter@define{company}{\def\@company{#1}}% + \TUD@parameter@define{supporter}{\def\@supporter{#1}}% + \TUD@parameter@define{place}{\def\@place{#1}}% + \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% +} +\newcommand*\declaration[1][]{% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \tud@fm@blocking + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \tud@fm@blocking% + \end{declarations}% + }% +} +\newcommand*\confirmation[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@confirmation% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@confirmation% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@confirmation{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\confirmationname}{% + \confirmationtext\vskip0pt\@confirmationclosing% + }% + }% +} +\newcommand*\blocking[1][]{% + \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifbool{@tud@declarations}{% + \begingroup% + \TUD@parameter@set[declaration]{#1}% + \tud@fm@blocking% + \endgroup% + }{% + \begin{declarations}[#1]% + \tud@fm@blocking% + \end{declarations}% + }% + \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% +} +\newcommand*\tud@fm@blocking{% + \tud@fm@check{declaration}{% + \tud@fm@set{declaration}{\blockingname}{\blockingtext}% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{titlepage}{% + \usekomafont{subject}% + \fontseries{\mddefault}% + \selectfont% + \large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titlepagenumber{}% +\let\tud@titlepagenumber\relax% +\newcommand*\tud@maketitle[1][]{% + \begingroup% + \TUD@parameter@set[title]{#1}% + \ifcase \tud@layout@title + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \if@titlepage% + \tud@maketitlepage% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \let\@maketitle\tud@@maketitle% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \if@twocolumn% + \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \else% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \fi% + \fi% + \fi% + \endgroup% +} +\TUD@parameter{title}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% +}% +\robustify{\thanks}% +\robustify{\footnotemark}% +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitlepage{% + \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% + \begin{titlepage}% + \ifx\tud@titlepagenumber\relax\else% + \setcounter{page}{\tud@titlepagenumber}% + \fi% + \if@tud@cover\else% + \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% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using option `titlepage=firstiscover' is only\MessageBreak% + possible with an extra title. Alternatively you can\MessageBreak% + create a cover with `\string\makecover'% + }% + \fi% + \else% + \if@titlepageiscoverpage% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\global\noexpand\@titlepageiscoverpagefalse% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \footskip=\baselineskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \else% + \let\titlepage@restore\relax% + \fi% + \noindent\@extratitle\next@tdpage% + \fi% + \fi% + \if@tud@bookmarks% + \if@tud@cover% + \tudbookmark[0]{\coverpagename}{cover}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \else% + \tudbookmark[0]{\titlepagename}{title}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \fi% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\pageheadingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \ifx\@date\@empty\else% + \vskip 2ex\@plus.1fill% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \fi% + \fi% + \vskip 2ex\@plus.25fill% + \else% + \vskip 2ex\@plus.25fill% + \if@tud@subjectthesis\else% + {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \if@tud@cover\else% + \ifx\@graduation\@empty\else% + \def\@tempc{% + \@graduation% + \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi% + }% + {\usekomafont{titlepage}{\graduationtext\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \if@tud@subjectthesis% + {\usekomafont{subject}{\@tempc\par}}% + \else% + {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}% + \fi% + \vskip 3ex\@plus1ex\@minus1ex% + \fi% + \fi% + \vskip 2ex\@plus.5fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor}% + \tud@title@names{referee}% + \tud@title@names{advisor}% + \tud@title@names{professor}% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + `\string\submissiondate' or `\string\date' 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' or `\string\date' was not given.% + \MessageBreak It's substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@defensedate\@empty\else% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + {\usekomafont{date}{\@defensedate\par}}% + \fi% + \fi% + \fi% + \fi% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus.25fill% + {\usekomafont{publishers}{\@publishers\par}}% + \vskip\z@\@plus.25fill% + \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% + \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}}% + \thispagestyle{empty.tudheadings}% + \tud@ddc@enlargepage% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \tud@cleardoublespecialpage[\tud@titleback]{% + \@tempa% + \begingroup% + \let\thispagestyle\@gobble% + \next@tpage% + \endgroup% + }% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \fi% +} +\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% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\@nameuse{#1name}\par}}% + {\usekomafont{author}{\@nameuse{@#1}\par}}% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \global\@topnum=\z@% + \vspace*{\dimexpr% + \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + }% + \vspace*{\headingsvskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \begingroup% + \usekomafont{titlepage}% + \tud@footnote@unhyper% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + {\usekomafont{titlehead}{\@titlehead\par\null}}% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \fi% + \TUDoptions{subjectthesis=true}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \ifx\@subtitle\@empty\else% + {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}% + \vskip 2ex\@plus1ex\@minus1ex% + \fi% + \vskip 2\bigskipamount% + \tud@check@author% + \tud@multiple@split{@author}\par% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}% + \ifx\@publishers\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\usekomafont{publishers}{\@publishers\par}}% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex\@plus1ex\@minus1ex% + {\centering\usekomafont{dedication}{\@dedication\par}}% + \fi% + \ifx\@graduation\@empty\else\tud@title@wrn{graduation}\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% + \vskip 2\bigskipamount% + \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \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% + \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@check@author{% + \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}% +} +\newcommand*\tud@split@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + {\usekomafont{author}{\ignorespaces#1}}% + \if@tud@cover\else% + \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% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\RequirePackage{afterpage}[1995/10/27] +\newcommand\maketitleonecolumn[2][]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn{#2}\twocolumn% + \else% + \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + `\string\maketitleonecolumn' can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\tud@title@twocolumn@box +\newcommand\tud@title@twocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \endgroup% + \setlength{\@tempdimc}{\textheight}% + \tud@ifinpslist{\titlepagestyle}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase \@tempb\relax\else% + \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% + \fi% + }{}% + }{}% + \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdimc% + \clearpage% + \setlength{\@tempdimc}{\textheight}% + }% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \ifdim\@tempdimc<\textheight\relax% + \enlargethispage{-\tud@dim@ddcdiff}% + \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \fi% +} +\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' has to be used with\MessageBreak% + activated titlepage option% + }% +} +\newif\if@tud@cover +\newcommand*\tud@coverpagetopmargin{} +\let\tud@coverpagetopmargin\coverpagetopmargin +\newcommand*\makecover[1][]{% + \if@titlepageiscoverpage% + \ClassWarning{\tudcls@name}{% + Using both option `titlepage=firstiscover' and\MessageBreak% + `\string\makecover' together isn't supported. The\MessageBreak% + option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + want to create an individual cover, you have to use\MessageBreak% + `\string\extratitle' instead of `\string\makecover'.\MessageBreak% + See also the documentation of KOMA-Script% + }% + \@titlepageiscoverpagefalse% + \fi% + \clearpage% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \TUD@parameter@set[cover]{#1}% + \let\tud@layout@title\tud@layout@cover% + \tud@layout@process% + \if@tud@cover@cdlayout% + \ifcase \tud@layout@cover\relax% + \let\coverpagetopmargin\tud@dim@top% + \else% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% + }% + \fi% + \let\coverpagebottommargin\tud@dim@bottom% + \let\coverpageleftmargin\tud@dim@left% + \let\coverpagerightmargin\tud@dim@right% + \else% + \ifcase \tud@layout@cover\relax\else% + \expandafter\def\expandafter\coverpagetopmargin\expandafter{% + \coverpagetopmargin-\tud@coverpagetopmargin% + }% + \fi% + \fi% + \ifcase \tud@layout@cover\relax% + \KOMAoptions{titlepage=firstiscover}% + \let\@extratitle\@empty% + \let\@uppertitleback\@empty% + \let\@lowertitleback\@empty% + \let\@dedication\@empty% + \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% + \tud@cmd@use{maketitle}[\tud@titlepagenumber]% + \else% + \@tud@covertrue% + \@titlepagetrue% + \edef\titlepage@restore{% + \noexpand\endgroup% + \noexpand\global\noexpand\@colht\the\@colht% + \noexpand\global\noexpand\@colroom\the\@colroom% + \noexpand\global\vsize\the\vsize% + \noexpand\let\noexpand\titlepage@restore\noexpand\relax% + }% + \begingroup% + \topmargin=\dimexpr \coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% + \textwidth=\dimexpr% + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% + \if@tud@cover@cdlayout% + \textheight=\dimexpr% + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \headheight=0pt% + \headsep=0pt% + \else% + \textheight=\dimexpr\paperheight-\coverpagebottommargin% + -\tud@dim@headheight-\tud@dim@barheight% + -\tud@dim@headsep-\tud@dim@bottom\relax% + \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% + \headsep=\tud@dim@headsep% + \fi% + \footskip=\tud@dim@footskip% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% + \csname titlepage@restore\endcsname% + \fi% + \endgroup% +} +\newbool@lock{@tud@cover@cdlayout} +\TUD@parameter{cover}{% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% + \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{% + \ifxnumber{#1}{% + \TUD@parameter@set[cover]{pagenumber=#1}% + }{% + \TUD@parameter@set[cover]{cdlayout=#1}% + }% + }% +}% +%%% From File: tudscr-misc.dtx +\newcounter{symbolheadings}[chapter] +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\tud@footnote@unhyper{} +\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% + }% + \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% +} +\pretocmd{\maketitle}{% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[0]{\titlepagename}{title}% +}{}{\tud@patch@wrn{maketitle}} +\pretocmd{\tableofcontents}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \if@tud@bookmarks% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + \fi% + \tudbookmark[0]{\contentsname}{toc}% +}{}{\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]{% + \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% + \protect\vphantom{\"A\"O\"U}% +%% \addtokomafont{section}{\strut\ignorespaces}% +} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\providecommand*\protected@expandtwoargs[3]{% + \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% +} +%%% From File: tudscr-comp.dtx +\newlength{\chapterheadingvskip} +\let\chapterheadingvskip\headingsvskip +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\student{} +\let\student\author +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\newcommand*\location{} +\let\location\place +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +\newcommand*\logofile{} +\let\logofile\headlogo +\newcommand*\logofilename{} +\let\logofilename\headlogo +\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..619cf3685bf --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty @@ -0,0 +1,442 @@ +%% +%% This is file `tudscrsupervisor.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package,supervisor,tudscr') +%% tudscr-supervisor.dtx (with options: `package') +%% tudscr-fields.dtx (with options: `package,supervisor') +%% tudscr-locale.dtx (with options: `package,supervisor') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-version.dtx +\begingroup% + \catcode`\@11\relax% + \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/12/17 v2.02 TUD-KOMA-Script}% +\endgroup% +\providecommand*\tudscrmail{tudscr@gmail.com} +\@ifundefined{tudcls@name}{% + \PackageError{% + tudscrsupervisor% + }{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +}{} +\@ifundefined{TUDScript}{% + \DeclareRobustCommand{\TUDScript}{% + \ifdin{TUD-KOMA-SCRIPT}{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }\csname xspace\endcsname% + }% +}{} +%%% From File: tudscr-supervisor.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{tudscrsupervisor}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (commands for supervisors)% +] +\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{pagestyle=empty}% + }% + \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}{}{\minisec{\objectivesname}#2}% + \ifxblank{#3}{}{% + \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{pagestyle=empty}% + }% + \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}{}{\minisec{\taskname}#2}% + \ifxblank{#3}{}{\minisec{\contentname}#3}% + \ifxblank{#4}{}{\minisec{\assessmentname}#4}% + \ifxblank{#5}{}{\def\@grade{#5}}% + \end{evaluation}% +} +\newlength{\tud@dim@table}% +\newcommand*\tud@author@table{% + \tud@check@author% + \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\@discipline\@empty\else\@discipline\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}} + }% + \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\@discipline\@empty\else\disciplinename\fi,% + }% + \@for\@tempb:=\@tempa\do{% + \settowidth{\@tempdima}{\@tempb\@titledelim}% + \ifdim\@tempdima>\tud@dim@table\relax% + \setlength{\tud@dim@table}{\@tempdima}% + \fi% + }% + \global\tud@dim@table=\tud@dim@table% + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@dim@table}}% + \ifx\@course\@empty\else% + \coursename\@titledelim\tabularnewline% + \fi% + \ifx\@discipline\@empty\else% + \disciplinename\@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,\course,\discipline}{}{\tud@patch@wrn{tud@split@author@list}} +\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{pagestyle=empty}% + }% + \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\@contactperson\@empty\let\@contactperson\@supervisor\fi% + \ifx\@contactperson\@empty\else% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \subsection*{\contactpersonname}% + \noindent\tud@multiple@split{@contactperson}\hfill\null% + \fi% + \endtudpage% + \cleardoublepage% +} +\newcommand\noticeform[3][]{% + \begin{notice}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \ifx\@@title\@empty\else% + \minisec{\expandonce{\@@title}}% + \fi% + #2% + }% + \ifxblank{#3}{}{% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{notice}% +} +\newcommand*\tud@split@contactperson[2]{% + \tud@multiple@setfields{\null}{#1}% + \begin{tabular}{@{}l@{}}% + \ignorespaces#1\tabularnewline% + \ifx\@office\@empty\else\@office\tabularnewline\fi% + \ifx\@telephone\@empty\else\@telephone\tabularnewline\fi% + \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi% + \end{tabular}% + \tud@multiple@@@split{#2}{\hfill}% +} +\newcommand*\tud@split@contactperson@list{\office,\telephone,\emailaddress} +%%% From File: tudscr-fields.dtx +\newcommand*\@course{} +\newrobustcmd*\course[1]{\gdef\@course{#1}} +\newcommand*\@discipline{} +\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}} +\newcommand*\@chairman{} +\newcommand*\chairman[1]{\gdef\@chairman{#1}} +\newcommand*\@contactperson{} +\newcommand*\contactperson[1]{\gdef\@contactperson{#1}} +\newcommand*\@office{} +\newrobustcmd*\office[1]{\gdef\@office{#1}} +\newcommand*\@telephone{} +\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}} +\newcommand*\@emailaddress{} +\newrobustcmd*\emailaddress[1]{\gdef\@emailaddress{#1}} +\AfterPackage*{hyperref}{% + \renewrobustcmd*\emailaddress[1]{% + \gdef\@emailaddress{\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{\disciplinename} +\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{\contactpersonname} +\tud@locale@german{\taskname}{Aufgabenstellung}% +\tud@locale@german{\tasktext}{f\"ur die Anfertigung einer}% +\tud@locale@german{\authorname}{Name}% +\tud@locale@german{\titlename}{Titel}% +\tud@locale@german{\coursename}{Studiengang}% +\tud@locale@german{\disciplinename}{Studienrichtung}% +\tud@locale@german{\issuedatetext}{Ausgeh\"andigt am}% +\tud@locale@german{\duedatetext}{Einzureichen am}% +\tud@locale@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}% +\tud@locale@german{\focusname}{Schwerpunkte der Arbeit}% +\tud@locale@german{\objectivesname}{Ziele der Arbeit}% +\tud@locale@german{\evaluationname}{Gutachten}% +\tud@locale@german{\evaluationtext}{f\"ur die}% +\tud@locale@german{\contentname}{Inhalt}% +\tud@locale@german{\assessmentname}{Bewertung}% +\tud@locale@german{\gradetext}{% + Die Arbeit wird mit der Note \textbf{\@grade} bewertet.% +} +\tud@locale@german{\noticename}{Aushang}% +\tud@locale@german{\contactpersonname}{Ansprechpartner}% +\tud@locale@english{\taskname}{Task}% +\tud@locale@english{\tasktext}{for the preparation of a}% +\tud@locale@english{\authorname}{Name}% +\tud@locale@english{\titlename}{Title}% +\tud@locale@english{\coursename}{Course}% +\tud@locale@english{\disciplinename}{Discipline}% +\tud@locale@english{\issuedatetext}{Issued on}% +\tud@locale@english{\duedatetext}{Due date for submission}% +\tud@locale@english{\chairmanname}{Chairman of the Audit Committee}% +\tud@locale@english{\focusname}{Focus of work}% +\tud@locale@english{\objectivesname}{Objectives of work}% +\tud@locale@english{\evaluationname}{Evaluation}% +\tud@locale@english{\evaluationtext}{for the}% +\tud@locale@english{\contentname}{Content}% +\tud@locale@english{\assessmentname}{Assessment}% +\tud@locale@english{\gradetext}{% + The thesis is evaluated with a grade of \textbf{\@grade}.% +} +\tud@locale@english{\noticename}{Notice}% +\tud@locale@english{\contactpersonname}{Contact}% +\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..52596e1204f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty @@ -0,0 +1,98 @@ +%% +%% This is file `twocolfix.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-twocolfix.dtx (with options: `package') +%% +%% ============================================================================ +%% +%% TUD-KOMA-Script +%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% +%% ============================================================================ +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, version 1.3c of the license. The latest +%% version of this license is in http://www.latex-project.org/lppl.txt and +%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +%% or later and of this work. This work has the LPPL maintenance status +%% "author-maintained". The current maintainer and author of this work +%% is Falk Hanisch. +%% +%% ---------------------------------------------------------------------------- +%% +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +%% 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 2005/12/01 oder spaeter und dieses +%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", +%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und +%% Autor dieses Werkes ist Falk Hanisch. +%% +%% ============================================================================ +%% +%%% From File: tudscr-twocolfix.dtx +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{twocolfix}[% + 2014/12/17 v2.02 TUD-KOMA-Script + package + (twocolumn layout bugfix)% +] +\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/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index fec0a86ad86..505268716e3 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -519,7 +519,7 @@ my @TLP_working = qw( translations tree-dvips treetex trfsigns trimspaces trivfloat trsym truncate tsemlines - tucv tufte-latex tugboat tugboat-plain + tucv tudscr tufte-latex tugboat tugboat-plain tui turabian-formatting turkmen turnstile turnthepage twoinone twoup txfonts txfontsb txgreeks diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 0e9f827cac1..6badde3909a 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1031,7 +1031,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'", - 'tudscr', "die 'skipping, states need for nonfree fonts'", 'turabian', "die 'skipping, no license stated in source'", 'turkish', "die 'skipping, await request, 1989'", 'turkishintro',"die 'skipping, nosource'", @@ -1666,7 +1665,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, + 'tudscr', 'DDC.*|TUD.*|' . $standardtex, 'tugboat-plain','\.cmn|' . $standardtex, 'uestcthesis', '\.png|' . $standardtex, 'udesoftec', 'udesoftec-cover|\.cls|\.def', @@ -2273,6 +2272,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'thumb' => 'latex -translate-file=empty.tcx', # no 8-bit 'todonotes' => 'latex', # requires interaction 'toptesi' => 'latex', # requires interaction + 'tudscr' => 'tex', 'uadocs' => 'latex', # requires interaction 'undolabl' => 'tex', 'xecjk' => 'xecjk-xelatex', diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 9ddf98b84ec..ced9b8a2d55 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -106,6 +106,7 @@ depend thesis-ekf 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 |