\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} 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} 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} 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*}