summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex816
1 files changed, 816 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex
new file mode 100644
index 00000000000..1a8d3cac5a9
--- /dev/null
+++ b/Master/texmf-dist/source/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}