\setchapterpreamble{%
  \begin{abstract}
    Zusätzlich zu den bisher im Anwenderhandbuch vorgestellten Klassen und 
    Paketen werden im \TUDScript-Bundle weitere Paket bereitgestellt. Diese 
    sind nicht zwingend an die Verwendung einer der \TUDScript-Klassen 
    angewiesen sondern können prinzipiell mit jeder \hologo{LaTeXe}"=Klasse 
    genutzt werden.%
  \end{abstract}
}
\chapter{Zusätzliche Pakete im \TUDScript-Bundle}
\tudhyperdef*{sec:bundle}%
%
\section{Das Paket \Package{tudscrcolor} -- Farben im \CD}%
\index{Farben|(}%
\index{Layout!Farben|?(}%
%
\begin{Bundle*}{\Package{tudscrcolor}}
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 mit \Color*{HKS\PName{Zahl}}() als auch über ein 
Pseudonym \Color*{cd\PName{Farbe}}() genutzt werden.
%
\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 \PValue{HKS44!20} angegeben werden. 
Dies wird hier exemplarisch mit der folgenden \colorbox{HKS44!20}{%
  Box \Macro{colorbox}[%
    \PParameter{HKS44!20}\PParameter{Box}%
  ](\Package{xcolor})'none'%
}
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}[!30] gehalten. Der Hintergrund von Kapitelseiten 
erscheint in \Color{HKS41}[!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{Paketoptionen}\PParameter{xcolor}] vor
  \Macro*{documentclass}[\OParameter{Klassenoptionen}\PParameter{tudscr\dots}]%
}
oder es wird \Package{tudscrcolor} mit der entsprechenden Option geladen.%
\footnote{%
  \Macro*{usepackage}[\OParameter{Paketoptionen}\PParameter{tudscrcolor}];
  \Package{tudscrcolor} reicht \PName{Paketoptionen} 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=7em%
    }%
  ]%
  \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{Generelle Farbdefinitionen}
\minisec{Primäre Hausfarbe}
\begin{Declaration}{\Color{HKS41}[cddarkblue]}
\printdeclarationlist%
\cdcolor[6]{41}
\end{Declaration}

\minisec{Sekundäre Hausfarbe (Geschäftsausstattung)}
\begin{Declaration}{\Color{HKS92}[cdgray]}
\printdeclarationlist%
\cdcolor[4]{92}
\end{Declaration}

\minisec{Auszeichnungsfarbe 1.Kategorie}
\begin{Declaration}{\Color{HKS44}[cdblue]}
\printdeclarationlist%
\cdcolor[4]{44}
\end{Declaration}

\minisec{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\medskipamount
\cdcolor[4]{33}\vskip\medskipamount
\cdcolor[2]{57}\vskip\medskipamount
\cdcolor{65}
\end{Declaration}
\end{Declaration}
\end{Declaration}
\end{Declaration}

\minisec{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{oldcolors}}
\printdeclarationlist%
%
In den letzten Jahren sind viele verschiedene Klassen und Pakete für das \TUDCD 
entstanden. Innerhalb dieser existieren abweichende Farbdefinitionen. Um eine 
Migration von den benannten Klassen und Paketen auf \TUDScript zu ermöglichen, 
existiert die Paketoption \Option{oldcolors}. Wird diese genutzt, so werden 
zusätzliche Farben nach dem Schema \Color*{HKS41K\PName{Zahl}}() und 
\Color*{HKS41-\PName{Zahl}}() definiert, 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 HKS-Farbregister und selbst 
  ermittelten Werten sind technisch nicht zu vermeiden.
}%
\index{Farben|)}%
\index{Layout!Farben|?)}%
\end{Bundle*}



\section{Das Paket \Package{tudscrfonts} -- Schriften im \CD}
\begin{Bundle*}[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 für die \TUDScript-Klassen bereitgestellten Optionen und Befehle 
für die Schriftauswahl. Um Dopplungen in der Dokumentation zu vermeiden, wird 
auf eine abermalige Erläuterung der im Paket \Package{tudscrfonts} verfügbaren 
Optionen und Befehle verzichtet. Diese werden im Folgenden lediglich noch 
einmal genannt, die dazugehörigen Erläuterungen sind in \fullref{sec:fonts} zu 
finden.

Die nutzbaren Paketoptionen sind für den Fließtext \Option{cdfont}~-- ohne die 
Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{cdhead})~-- und 
für die mathematischen Schriften \Option{cdmath} sowie \Option{slantedgreek}. 
Weiterhin wird die Option \Option{relspacing} bereitgestellt. Alle genannten 
Optionen können dabei entweder als Paketoptionen im optionalen Argument von 
\Macro*{usepackage}[\OParameter{Paketoptionen}\PParameter{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.

Die in \autoref{sec:fonts} beschriebenen Textschalter und "~kommandos zur 
expliziten Auswahl einzelnen Schnitte der Hausschriften sowie die Befehle für 
griechische Buchstaben werden ebenso wie der Befehl \Macro{ifdin} zur Prüfung 
auf die Verwendung von \DIN bereitgestellt. Dabei muss der Anwender das Setzen 
der Gliederungsüberschriften in Majuskeln der \DIN~-- wie es im \CD vorgesehen 
ist~-- selbst umsetzen. Hierfür sollten die Textauswahlbefehle \Macro{textdbn} 
und \Macro{dinbn} sowie \Macro{MakeTextUppercase}(\Package{textcase})'none' zur 
automatisierten Großschreibung genutzt werden. Der letztgenannte Befehl wird 
zusammen mit \Macro{NoCaseChange}(\Package{textcase}) von \Package{textcase} 
zur Verfügung stellt, welches durch \Package{tudscrfonts} geladen wird.

\ChangedAt{%
  v2.04:Unterstützung der Klassen \Class{tudposter} und \Class{tudmathposter};%
  v2.05:Neues Schriftpaket \Package{fix-tudscrfonts} für Dokumentklassen 
  im \CD der \TnUD, welche nicht zu \TUDScript gehören%
}
Ursprünglich war das Paket \Package{tudscrfonts} für die Verwendung zusammen 
mit einer der Klassen \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, 
\Class{tudfax}, \Class{tudhaus}, \Class{tudform} und seit der Version~v2.04 
auch \Class{tudmathposter} sowie \Class{tudposter} vorgesehen. Allerdings 
traten bei der Verwendung des Paketes mit einer dieser Klassen einige kleinere 
Unzulänglichkeiten auf. Deshalb wird seit der Version~v2.05 empfohlen, für 
diese Klassen das Paket \Package{fix-tudscrfonts} zu verwenden.
\end{Bundle*}



\section{Das Paket \Package{fix-tudscrfonts} -- Schriftkompatibilität}
\begin{Bundle*}[v2.05]{\Package{fix-tudscrfonts}}
\printchangedatlist%
%
Dieses Paket ist für die alleinige Verwendung mit einer der folgenden Klassen 
vorgesehen:
\begin{itemize}
\item \Class{tudbook}
\item \Class{tudbeamer}
\item \Class{tudletter}
\item \Class{tudfax}
\item \Class{tudhaus}
\item \Class{tudform}
\item \Class{tudmathposter}
\item \Class{tudposter}
\end{itemize}
%
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 letzterer von 
entscheidender Bedeutung 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 zuvor genannten, älteren Klassen erstellt wurden, 
  weiterhin genauso ausgegeben werden wie bisher, mussten die Schriftfamilien 
  einen neuen Namen erhalten.
\end{enumerate}
%
Wird nun das Paket \Package{fix-tudscrfonts} zusammen mit einer der zuvor 
genannten Klassen verwendet, hat dies den Vorteil, dass auch bei diesen sowohl 
das angepasste Kerning der Schriften als auch der stark verbesserte 
Mathematiksatz zum Tragen kommen. Außerdem kann bei der Verwendung von 
\Package{fix-tudscrfonts} auf eine Installation der Schriften des \CDs in der 
alten Variante verzichtet werden.
\ToDo{alte Schriften aus tudscrold raus \& unter tag 'oldfonts'}[v2.06]
\Attention{%
  In diesem Fall kann sich das Ausgabeergebnis im Vergleich zu der Varianten 
  mit den alten Schriften ändern. Alternativ zur Verwendung des Paketes 
  \Package{fix-tudscrfonts} können die alten Schriftfamilien auch parallel zu 
  den neuen installiert werden. Hierfür werden die Skripte
  \hrfn{https://github.com/tud-cd/tudscr/releases/download/oldfonts/tud_fonts_install.bat}{\File{tud\_fonts\_install.bat}}
  beziehungsweise
  \hrfn{https://github.com/tud-cd/tudscr/releases/download/oldfonts/tud_fonts_install.sh}{\File{tud\_fonts\_install.sh}}
  bereitgestellt.
}%
%
Um alle notwendigen Einstellung korrekt und ohne unnötige Warnungen vornehmen 
zu können, muss das Paket \Package{fix-tudscrfonts} bereits \emph{vor} der 
Dokumentklasse geladen werden, wobei die gleichen Paketoptionen wie für das 
Paket \Package{tudscrfonts} verwendet werden können:
%
\begin{Code}[escapechar=§]
\RequirePackage§\OParameter{Paketoptionen}§{fix-tudscrfonts}
\documentclass§\OParameter{Klassenoptionen}\Parameter{Dokumentklasse}§
§\dots§
\begin{document}
§\dots§
\end{document}
\end{Code}
%
Dabei wird spätestens zum Ende der Präambel das Paket \Package{tudscrfonts} 
geladen. Alternativ kann dies auch durch den Benutzer in der Dokumentpräambel 
erfolgen.
\end{Bundle*}


\section{Das Paket \Package{mathswap}}
\index{Mathematiksatz|(}%
\index{Zifferngruppierung|(}%
%
\begin{Bundle*}{\Package{mathswap}}
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}

\ChangedAt*{v2.02:Funktionalität im Dokument umschaltbar}%
\begin{Declaration}[v2.02]{\Macro{mathswapon}}
\begin{Declaration}[v2.02]{\Macro{mathswapoff}}
\printdeclarationlist%
%
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}
\index{Mathematiksatz|)}%
\index{Zifferngruppierung|)}%
\end{Bundle*}



\section{Das Paket \Package{twocolfix}}
\begin{Bundle*}{\Package{twocolfix}}
\index{Satzspiegel!zweispaltig|?}%
%
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 bisher noch nicht in den 
\hologo{LaTeXe}"=Kernel ü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{Bundle*}


\addsec*{Zukünftige Arbeiten}
Diese Dinge sollen langfristig in das \TUDScript-Bundle eingearbeitet werden:

%\chapter{Das Paket \Package{tudscrletter} -- Briefe im \CD}
%\begin{Bundle*}{\Package{tudscrletter}}
\ToDo[imp]{Paket \Package*{tudscrletter} für Briefe im \CD}[v2.07]
Es soll das Paket \Package*{tudscrletter}<tudscr> für Briefe im \TUDCD 
entstehen. Auch Klassen für Fax und Hausmitteilungen sollen dabei abfallen.
%\end{Bundle*}

%\chapter{Das Paket \Package{tudscrbeamer} -- Präsentationen im \CD}
%\begin{Bundle*}{\Package{tudscrbeamer}}
\ToDo[imp]{Paket \Package*{tudscrbeamer} für Präsentationen im \CD}[v2.08]
Mit \Package*{tudscrbeamer}<tudscr> soll ein Paket entstehen, mit dem 
\hologo{LaTeX}"=Beamer-Präsentationen im Stil des \TUDCDs erstellt werden 
können.
%\end{Bundle*}

%\chapter{Das Paket \Package{tudscrlayout} -- Seitenstil und Satzspiegel im \CD}
%\begin{Bundle*}{\Package{tudscrlayout}}
\ToDo[imp]{%
  Paket \Package*{tudscrlayout} \url{https://github.com/tud-cd/tud-cd/issues/6}
  für Satzspiegel, evtl. auch für die Klasse über \Option*{cdgeometry=forced}
}[v2.09]
Außerdem ist ein Paket \Package*{tudscrlayout}<tudscr> vorstellbar, welches
den durch das \CD vorgegebene Satzspiegel aktiviert ohne den Seitenstil selbst 
zu verwenden, um beispielsweise bereits mit dem Kopf der \TnUD bedrucktes 
Papier nutzen zu können. Ebenfalls wäre es denkbar, für andere Klassen die 
\PageStyle{tudheadings}"=Seitenstile verfügbar zu machen ohne dabei den 
Satzspiegel des \CDs umzusetzen.
%\end{Bundle*}
