diff options
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.tex | 612 |
1 files changed, 312 insertions, 300 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 index c9e67b0de3c..87ea1b60562 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex @@ -1,7 +1,7 @@ \setchapterpreamble{\tudhyperdef'{sec:tips}} \chapter{Praktische Tipps \& Tricks} \newcommand*\TaT{\hyperref[sec:tips]{Tipps \& Tricks}:\xspace} -\section{\NoCaseChange{\hologo{LaTeX}}-Editoren} +\section{\hologo{LaTeX}-Editoren} \tudhyperdef*{sec:tips:editor}% % Hier werden die gängigsten Editoren zum Erzeugen von \hologo{LaTeX}"=Dateien @@ -38,14 +38,17 @@ Archiv 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.1\textbackslash{}Resources\textbackslash{}layouts} +\Path{% + \%PROGRAMFILES(X86)\%\textbackslash{}LyX~2.1\textbackslash{}% + Resources\textbackslash{}layouts% +} beziehungsweise bei unixoiden Betriebssystemen \Path{/usr/share/lyx/layouts}. Anschließend muss LyX über den Menüpunkt \emph{Werkzeuge} neu konfiguriert werden. -\section{Literaturverwaltung in \NoCaseChange{\hologo{LaTeX}}} +\section{Literaturverwaltung in \hologo{LaTeX}} \ChangedAt{v2.02:\TaT Literaturverwaltung} % Die simpelste Variante, eine \hologo{LaTeX}"=Literaturdatenbank zu verwalten, @@ -84,18 +87,23 @@ 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: +In jedem Fall wird ein Sprachpaket wie beispielsweise \Package{babel} oder +\Package{polyglossia} benötigt, wobei letzteres für den Einsatz mit +\Engine{LuaLaTeX} oder \Engine{XeLaTeX} konzipiert ist. Bei der Verwendung +einer dieser beiden Unicode"=Textsatzsysteme~-- in Verbindung mit einem der zwei +genannten Sprachpakete werden~-- die Trennmuster automatisch aktiviert. + +Für \Engine{pdfLaTeX} lassen sich diese mit dem Paket \Package{hyphsubst} +aktivieren. Damit auch Wörter mit Umlauten richtig getrennt werden, ist +zusätzlich die Verwendung des Paketes \Package{fontenc} mit beispielsweise 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[T1]{fontenc} -\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} \usepackage{babel} §\dots§ \end{Code} @@ -162,14 +170,14 @@ 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. +In diesem Text wird genau ein \emph{Wort} hervorgehoben. \begingroup \renewcommand*{\emph}[1]{\textbf{#1}}% - In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. + In diesem Text wird genau ein \emph{Wort} hervorgehoben. \endgroup -In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. +In diesem Text wird genau ein \emph{Wort} hervorgehoben. \end{Code} \end{Example} Eine Gruppierung kann entweder mit \Macro*{begingroup} und \Macro*{endgroup} @@ -187,7 +195,7 @@ Das Paket \Package{hyperref} stellt für Querverweise unter anderem den Befehl \Macro{autoref}[\Parameter{label}](\Package{hyperref})'none' 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 +Element wie Kapitel oder Abbildung vorangestellt. Zur 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 @@ -198,7 +206,6 @@ 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} @@ -209,18 +216,18 @@ Bezeichnungen von Gliederungsebenen können folgendermaßen verändert werden. \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}(\Package{biblatex})'none', +kommen, das eine URL nicht vernünftig umbrochen wird. Ist dies der Fall, +können die Zähler \Counter{biburlnumpenalty}(\Package{biblatex})'none', \Counter{biburlucpenalty}(\Package{biblatex})'none' und \Counter{biburllcpenalty}(\Package{biblatex})'none' erhöht werden. Das Manipulieren eines Zähler kann mit \Macro*{setcounter}[\Parameter{Zähler}] oder lokal mit \Macro*{defcounter}[\Parameter{Zähler}] aus dem Paket -\Package{etoolbox} erfolgen. Die möglichen Werte liegen zwischen 0~und~10000, +\Package{etoolbox} erfolgen. Die möglichen Werte liegen zwischen 0~und~10\,000, wobei es bei höheren Zählerwerten zu mehr URL"~Umbrüchen an Ziffern~(\Counter{biburlnumpenalty}(\Package{biblatex})'none'), Groß-~(\Counter{biburlucpenalty}(\Package{biblatex})'none') und Kleinbuchstaben~(\Counter{biburllcpenalty}(\Package{biblatex})'none') kommt. -Genaueres hierzu in der Dokumentation zu \Package{biblatex}. +Genaueres in der Dokumentation zu \Package{biblatex}. @@ -286,7 +293,7 @@ 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. +Allerdings lässt sich dieses Problem manuell 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 @@ -329,42 +336,15 @@ Paket \Package{noindentafter} zu empfehlen. \tudhyperdef*{sec:tips:counter}% \index{Fußnoten}% % -Oft taucht die Frage auf, wie sich über Kapitel fortlaufende Fußnoten -realisieren lassen. Dies ist sehr einfach mit dem Paket \Package{chngcntr} -möglich. Nach dem Laden des Paketes, kann das Zurücksetzen des Zählers nach -einem Kapitel mit \Macro{counterwithout*}[% +Mit \Macro{counterwithin} und \Macro{counterwithout} können +\hologo{LaTeX}"=Zähler so umdefiniert werden, dass sie bei der Änderung eines +anderen Zählers zurückgesetzt werden oder nicht. Mit der Angabe von +\Macro*{counterwithout*}[% \PParameter{footnote}\PParameter{chapter}% -](\Package{chngcntr})'none' deaktiviert werden. Auch andere -\hologo{LaTeXe}"=Zähler~-- wie beispielsweise der bereits vorgestellte -\Counter{symbolheadings}~-- lassen sich mit diesem Paket manipulieren. - - - -\section{Lokalisierung für das Setzen von Einheiten mit \Package{siunitx}} -\tudhyperdef*{sec:tips:siunitx}% -\index{Einheiten}% -% -Wenn \Package{siunitx} in einem deutschsprachigen Dokument genutzt soll -werden, muss zumindest die richtige Lokalisierung mit -\Macro{sisetup}[\PParameter{locale = DE}](\Package{siunitx})'none' 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. +]'none' wird das Zurücksetzen des Fußnotenzählers durch neue Kapitel +deaktiviert, womit sich über Kapitel fortlaufende Fußnoten +realisieren lassen. +%Mehr ist der Dokumentation von \Package*{chngcntr} zu finden. @@ -400,7 +380,7 @@ werden: -\section{Leer- und Satzzeichen nach \NoCaseChange{\hologo{LaTeX}}-Befehlen}% +\section{Leer- und Satzzeichen nach \hologo{LaTeX}-Befehlen}% \tudhyperdef*{sec:tips:xspace}% \index{Typografie}% % @@ -433,6 +413,20 @@ ignoriert wird: +\section{Finden von unbekannten \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. Alternativ kann +\hrfn{http://detexify.kirelabs.org/classify.html}{Detexify} verwendet werden. +Auf dieser Webseite wird das gesuchte Symbol einfach gezeichnet, die dazu +ähnlichsten werden zurückgegeben. + + + \section{Das Setzen von Auslassungspunkten} \tudhyperdef*{sec:tips:dots}% \index{Typografie}% @@ -482,16 +476,190 @@ wörtlichen Zitaten häufig verwendet werden. -\section{Finden von unbekannten \NoCaseChange{\hologo{LaTeX}}-Symbolen} -\index{Symbole}% +\section{Lokalisierung für das Setzen von Einheiten mit \Package{siunitx}} +\tudhyperdef*{sec:tips:siunitx}% +\index{Einheiten}% % -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. Alternativ kann -\hrfn{http://detexify.kirelabs.org/classify.html}{Detexify} verwendet werden. -Auf dieser Webseite wird das gesuchte Symbol einfach gezeichnet, die dazu -ähnlichsten werden zurückgegeben. +Wenn \Package{siunitx} in einem deutschsprachigen Dokument genutzt soll +werden, muss zumindest die richtige Lokalisierung mit +\Macro{sisetup}[\PParameter{locale = DE}](\Package{siunitx})'none' 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{Fehlermeldung beim Laden eines Paketes mit Optionen} +\ChangedAt{v2.05:\TaT Fehler beim Laden eines Paketes mit Optionen} +% +Es kann unter Umständen passieren, dass beim Laden eines Paketes mit bestimmten +Optionen via \Macro*{usepackage}[\OParameter{Paketoptionen}\Parameter{Paket}] +folgender Fehler ausgegeben wird: +% +\begin{quoting} +\begin{Code}[escapechar=§] +! LaTeX Error: Option clash for package <§\dots§>. +\end{Code} +\end{quoting} +% +Mit großer Sicherheit wird das angeforderte Paket bereits durch die verwendete +Dokumentklasse oder ein anderes Paket geladen. Normalerweise genügt es, die +gewünschten Optionen durch +\Macro{PassOptionsToPackage}[\Parameter{Paketoptionen}\Parameter{Paket}] +bereits vor dem Laden der Dokumentklasse mit \Macro*{documentclass} an das +betreffende Paket weiterzureichen. + + + +\section{Probleme bei der Verwendung von \Package{auto-pst-pdf}} +\tudhyperdef*{sec:tips:auto-pst-pdf} +\ChangedAt{v2.02:\TaT Hinweise zum Paket \Package{auto-pst-pdf}} +% +Bei der Verwendung von \Engine{pdfLaTeX} liest das Paket \Package{auto-pst-pdf} +die Präambel ein und erstellt anschließend über den PostScript"=Pfad +\Path{latex\,>\,dvips\,>\,ps2pdf} eine PDF"~Datei, welche lediglich alle in den +vorhandenen \Environment{pspicture}(\Package{pstricks})'none'"=Umgebungen +erstellten Grafiken enthält. Das Paket \Package{ifpdf} stellt das Makro +\Macro{ifpdf}(\Package{ifpdf})'none' bereit, mit welchem unterschieden werden +kann, ob \Engine{pdfLaTeX} als Textsatzsystem 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 und diese anschließend +auszugeben. 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. Mit folgendem Quelltextauszug lassen sich die +\Package{floatrow}"=Befehle zusammen mit der +\Environment{pspicture}(\Package{pstricks})'none'"=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}~-- und auch allen anderen Paketen die +selbiges nutzen wie beispielsweise \Package{todonotes}~-- gibt es in Verbindung +mit \Package{auto-pst-pdf} ebenfalls Probleme. Lösen lässt sich dieses Dilemma, +indem die fraglichen Pakete lediglich geladen werden, wenn \Engine{pdfLaTeX} +aktiv ist. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code} +\ifpdf + \usepackage{tikz}%\dots gegebenenfalls weitere auf tikz basierende Pakete +\fi +\end{Code} +\end{quoting} + + + +\section{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } +\tudhyperdef*{sec:tips:svg}% +\ChangedAt{v2.05:\TaT \Macro*{includesvg} aus Paket \Package{svg} verwenden} +\index{Grafiken}% +% +Das Einbinden von \Application{Inkscape}"=Grafiken in \hologo{LaTeX}"=Dokumente +wird auf \CTAN[pkg/svg-inkscape]{\Package*{svg-inkscape}'none'} erläutert. Ein +daraus abgeleiteter und verbesserter Ansatz wird durch das Paket \Package{svg} +bereitgestellt. Mit diesem Paket ist ein \textbf{automatisierter} Export der +\Application{Inkscape}"=Grafiken direkt bei der Kompilierung mit \Engine{LaTeX} +und dem anschließenden Einbinden in das Dokument möglich. Hierfür wird der +Befehl \Macro*{includesvg}[\OParameter{Parameter}\Parameter{SVG-Datei}] durch +das Paket definiert. + +Dabei erfolgt der externe Aufruf von \Application{Inkscape} über Kommandozeile +beziehungsweise Terminal mit \File{inkscape.exe}. Damit dieser auch tatsächlich +durchgeführt wird, ist die Ausführung einer \Engine*{LaTeX}"~Engine mit der +Option \Path{-{}-shell-escape} beziehungsweise \Path{-{}-enable-write18} +zwingend notwendig. Außerdem muss der Pfad zur Datei \File{inkscape.exe} dem +System bekannt sein.% +\footnote{% + Der Pfad zu \File{inkscape.exe} in der Umgebungsvariable \Path{PATH} des + Betriebssystems enthalten sein.% +} +Für weiterführende Informationen sei auf die Dokumentation des Pakets +\Package{svg} verwiesen. + + + +\section{Änderung des Papierformates} +\index{Papierformat}% +% +Es kann vorkommen, dass innerhalb eines Dokumentes kurzzeitig das Papierformat +geändert werden soll, um beispielsweise eine Konstruktionsskizze in der +digitalen PDF"~Datei einzubinden. Dabei ist es mit der \KOMAScript-Option +\Option{paper=\PSet}(\Package{typearea})'none' sowohl möglich, lediglich die +Ausrichtung 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 dies mit \KOMAScript-Mitteln +über die Optionen \Option*{paper=landscape}(\Package{typearea})'none' und +\Option*{paper=A3}(\Package{typearea})'none' geändert werden kann. +\begin{Code} +\documentclass[paper=a4,pagesize]{tudscrreprt} +\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} + @@ -521,7 +689,6 @@ Papierbogens angegeben. fontsize=36pt ]{tudscrposter} \usepackage[T1]{fontenc} -\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} §\dots§ \usepackage{graphicx} \usepackage[b1,center,cam]{crop} @@ -538,7 +705,8 @@ Befehl \Macro{geometry}(\Package{geometry})'none' bereit, in dessen Argument mit das Papierformat festgelegt werden kann. Wird zusätzlich noch der Parameter \Key{\Macro{geometry}(\Package{geometry})}{layout=\PName{Zielformat}}|default| angegeben, so wird damit das gewünschte Zielformat definiert. Dabei sollte mit -\Key{\Macro{geometry}(\Package{geometry})}{layoutoffset=\PName{Längenwert}}|default| +\Key{\Macro{geometry}(\Package{geometry})}% +{layoutoffset=\PName{Längenwert}}|default| dieser Bereich gegebenenfalls etwas eingerückt werden. Die Angabe von \Key{\Macro{geometry}(\Package{geometry})}{showcrop=\PBoolean}|default| generiert außerdem noch visuelle Schnittmarken. @@ -551,7 +719,6 @@ generiert außerdem noch visuelle Schnittmarken. fontsize=36pt ]{tudscrposter} \usepackage[T1]{fontenc} -\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} §\dots§ \geometry{paper=b1,layout=a1,layoutoffset=1in,showcrop} \begin{document} @@ -568,86 +735,16 @@ erweitert werden, um ein \enquote{Zuschneiden in die Farbe} zu ermöglichen. -\section{Änderung des Papierformates} -\index{Papierformat}% -% -Es kann vorkommen, dass innerhalb eines Dokumentes kurzzeitig das Papierformat -geändert werden soll, um beispielsweise eine Konstruktionsskizze in der -digitalen PDF"~Datei einzubinden. Dabei ist es mit der \KOMAScript-Option -\Option{paper=\PSet}(\Package{typearea})'none' sowohl möglich, lediglich die -Ausrichtung 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 dies mit \KOMAScript-Mitteln -über die Optionen \Option*{paper=landscape}(\Package{typearea})'none' und -\Option*{paper=A3}(\Package{typearea})'none' geändert werden kann. -\begin{Code} -\documentclass[paper=a4,pagesize]{tudscrreprt} -\usepackage[T1]{fontenc} -\usepackage{selinput} -\SelectInputMappings{adieresis={ä},germandbls={ß}} -\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{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } -\tudhyperdef*{sec:tips:svg}% -\ChangedAt{v2.05:\TaT \Macro*{includesvg} aus Paket \Package{svg} verwenden} -\index{Grafiken}% -% -Das Einbinden von \Application{Inkscape}"=Grafiken in \hologo{LaTeX}"=Dokumente -wird auf \CTAN[pkg/svg-inkscape]{\Package*{svg-inkscape}'none'} erläutert. Ein -daraus abgeleiteter und verbesserter Ansatz wird durch das Paket \Package{svg} -bereitgestellt. Mit diesem Paket ist ein \textbf{automatisierter} Export der -\Application{Inkscape}"=Grafiken direkt bei der Kompilierung mit \Engine{LaTeX} -und dem anschließenden Einbinden in das Dokument möglich. Hierfür wird der -Befehl \Macro*{includesvg}[\OParameter{Parameter}\Parameter{SVG-Datei}] durch -das Paket definiert. - -Dabei erfolgt der externe Aufruf von \Application{Inkscape} über Kommandozeile -beziehungsweise Terminal mit \File{inkscape.exe}. Damit dieser auch tatsächlich -durchgeführt wird, ist die Ausführung von \Engine{pdfLaTeX} mit der Option -\Path{-{}-shell-escape} beziehungsweise \Path{-{}-enable-write18} zwingend -notwendig. Außerdem muss der Pfad zur Datei \File{inkscape.exe} dem System -bekannt sein.% -\footnote{% - Der Pfad zu \File{inkscape.exe} in der Umgebungsvariable \Path{PATH} des - Betriebssystems enthalten sein.% -} -Für weiterführende Informationen sei auf die Dokumentation des Pakets -\Package{svg} verwiesen. - \section{Vermeiden des Skalierens einer PDF-Datei beim Druck} \ChangedAt{v2.04:\TaT Vermeiden des Skalierens einer PDF"~Datei beim Druck} % -Beim Erzeugen eines Druckauftrages einer PDF"~Datei kann es unter Umständen dazu -führen, dass diese durch den verwendeten PDF"~Betrachter unnötigerweise vorher -skaliert wird und dabei die Seitenränder vergrößert werden. Um dieses Verhalten -für Dokumente, die mit \Engine{pdfTeX} erzeugt werden, zu unterdrücken, gibt es -zwei Möglichkeiten: +Beim Erzeugen eines Druckauftrages einer PDF"~Datei kann es unter Umständen +dazu führen, dass diese durch den verwendeten PDF"~Betrachter unnötigerweise +vorher skaliert wird und dabei die Seitenränder vergrößert werden. Um dieses +Verhalten für Dokumente, die mit \Engine{pdfLaTeX} erzeugt werden, zu +unterdrücken, gibt es zwei Möglichkeiten: % \begin{enumerate} \item Wenn im Dokument ohnehin das Paket \Package{hyperref} verwendet wird, @@ -658,107 +755,15 @@ zwei Möglichkeiten: ausreichend. \item Der Low"~Level"~Befehl \Macro*{pdfcatalog}[\PParameter{/ViewerPreferences<{}</PrintScaling/None>{}>}] - hat das gleiche Verhalten und kann auch ohne das Paket \Package{hyperref} - genutzt werden. + besitzt das gleiche Verhalten und lässt sich auch ohne \Package{hyperref} + nutzen. \end{enumerate} % -Weitere Informationen dazu sind unter \url{http://www.komascript.de/node/1897} +Weitere Informationen sind unter \url{http://www.komascript.de/node/1897} zu finden. -\section{Warnung bei der Schriftgrößenwahl} -\tudhyperdef*{sec:tips:fontsize}% -\ChangedAt{v2.04:\TaT Warnung bei der Schriftgrößenwahl} -% -Die im Dokument verwendete Schriftgröße kann bei den \KOMAScript-Klassen sehr -einfach über die Option~\Option{fontsize}(\Package{koma-script})'none' -eingestellt werden, wobei diese immer als Klassenoption angegeben werden -sollte. Bei relativ großen und kleinen Schriftgrößen kann dabei eine Warnung in -der Gestalt -% -\begin{quoting} -\begin{Code}[escapechar=§] -LaTeX Font Warning: Font shape `§\dots§' in size <xx> not available -\end{Code} -\end{quoting} -% -auftreten. Dies daran, dass zum Zeitpunkt des Ladens einer Klasse immer nach -den Computer-Modern"=Standardschriften gesucht wird, unabhängig davon, ob im -Nachhinein ein anderes Schriftpaket geladen wird. Diese sind de"~facto nicht -in alle Größen skalierbar. Um die Warnungen zu beseitigen, sollte das Paket -\Package{fix-cm} mit \Macro*{RequirePackage} \emph{vor} der Dokumentklasse -geladen werden: -% -\begin{quoting}[rightmargin=0pt] -\begin{Code}[escapechar=§] -\RequirePackage{fix-cm} -\documentclass§\OParameter{Klassenoptionen}\Parameter{Klasse}§ -\usepackage[T1]{fontenc} -\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} -§\dots§ -\begin{document} -§\dots§ -\end{document} -\end{Code} -\end{quoting} -% -Damit werden die Warnungen behoben. - - - -\section{Fehlermeldung beim Laden eines Paketes mit Optionen} -\ChangedAt{v2.05:\TaT Fehler beim Laden eines Paketes mit Optionen} -% -Es kann unter Umständen passieren, dass beim Laden eines Paketes mit bestimmten -Optionen via \Macro*{usepackage}[\OParameter{Paketoptionen}\Parameter{Paket}] -folgender Fehler ausgegeben wird: -% -\begin{quoting} -\begin{Code}[escapechar=§] -! LaTeX Error: Option clash for package <§\dots§>. -\end{Code} -\end{quoting} -% -Mit großer Sicherheit wird das angeforderte Paket bereits durch die verwendete -Dokumentklasse oder ein anderes Paket geladen. Normalerweise genügt es, bereits -vor dem Laden der Dokumentklasse mit \Macro*{documentclass} durch -\Macro{PassOptionsToPackage}[\Parameter{Paketoptionen}\Parameter{Paket}] die -gewünschten Optionen an das Paket weiterzureichen, welches den Konflikt meldet. - - - -\section{Fehlermeldung: ! No room for a new \textbackslash write} -\tudhyperdef*{sec:tips: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}"=Kernel 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 im \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{Platzierung von Gleitobjekten} \tudhyperdef*{sec:tips:floats}% \index{Gleitobjekte!Platzierung|?}% @@ -767,19 +772,20 @@ 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}] +lassen sich mit \Macro*{renewcommand*}[\Parameter{Makro}\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\PValue{0.8} liegen. +Der Wert gibt die relative Größe eines Gleitobjektes bezogen auf die +eingestellte 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\PValue{0.8} liegen. \end{Declaration} \end{Declaration} @@ -816,9 +822,9 @@ werden. Er sollte in einem Bereich von~\PValue{0.1}\dots\PValue{0.3} liegen. \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 zweispaltigen Satz -beide Spalten überspannend (\Counter*{dbltopnumber}) festlegen. Die Werte +Seite insgesamt (\Counter*{totalnumber}) sowie am oberen (\Counter*{topnumber}) +und am unteren Seitenrand (\Counter*{bottomnumber}) sowie im zweispaltigen +Satz beide Spalten überspannend (\Counter*{dbltopnumber}) festlegen. Die Werte können mit \Macro*{setcounter}[\Parameter{Zähler}\Parameter{Wert}] geändert werden. \end{Declaration} @@ -862,67 +868,73 @@ Unterfangen Folgendes nutzen: -\section{Probleme bei der Verwendung von \Package{auto-pst-pdf}} -\tudhyperdef*{sec:tips:auto-pst-pdf} -\ChangedAt{v2.02:\TaT Hinweise zum Paket \Package{auto-pst-pdf}} +\section{Warnung bei der Schriftgrößenwahl} +\tudhyperdef*{sec:tips:fontsize}% +\ChangedAt{v2.04:\TaT Warnung bei der Schriftgrößenwahl} % -Bei der Verwendung von \Engine{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}(\Package{pstricks})'none'"=Umgebungen erstellten -Grafiken enthält. Das Paket \Package{ifpdf} stellt das Makro -\Macro{ifpdf}(\Package{ifpdf})'none' bereit, mit welchem unterschieden werden -kann, ob \Engine{pdfLaTeX} als Textsatzsystem verwendet wird. Abhängig davon -können unterschiedliche Quelltexte ausgeführt werden, was genutzt wird, um die -nachfolgend beschriebenen Probleme zu beheben. +Die im Dokument verwendete Schriftgröße kann bei den \KOMAScript-Klassen sehr +einfach über die Option~\Option{fontsize}(\Package{koma-script})'none' +eingestellt werden, wobei diese immer als Klassenoption angegeben werden +sollte. Bei relativ großen und kleinen Schriftgrößen kann dabei eine Warnung in +der Gestalt % -\begin{quoting} -\begin{Code} -\usepackage{ifpdf} +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +LaTeX Font Warning: Font shape `§\dots§' in size <xx> not available \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 und diese anschließend -auszugeben. 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. Mit folgendem Quelltextauszug lassen sich die -\Package{floatrow}"=Befehle zusammen mit der -\Environment{pspicture}(\Package{pstricks})'none'"=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 +auftreten. Dies daran, dass zum Zeitpunkt des Ladens einer Klasse immer nach +den Computer-Modern"=Standardschriften gesucht wird, unabhängig davon, ob im +Nachhinein ein anderes Schriftpaket geladen wird. Diese sind de"~facto nicht +in alle Größen skalierbar. Um die Warnungen zu beseitigen, sollte das Paket +\Package{fix-cm} mit \Macro*{RequirePackage} \emph{vor} der Dokumentklasse +geladen werden: +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage{fix-cm} +\documentclass§\OParameter{Klassenoptionen}\Parameter{Klasse}§ +\usepackage[T1]{fontenc} +§\dots§ +\begin{document} +§\dots§ +\end{document} \end{Code} \end{quoting} +% +Damit werden die Warnungen behoben. -\minisec{Die parallele Nutzung von \Package{tikz} und \Package{todonotes}} -Mit dem Paket \Package{tikz}~-- und auch allen anderen Paketen die -selbiges nutzen wie beispielsweise \Package{todonotes}~-- gibt es in Verbindung -mit \Package{auto-pst-pdf} ebenfalls Probleme. Lösen lässt sich dieses Dilemma, -indem die fraglichen Pakete lediglich geladen werden, wenn \Engine{pdfLaTeX} -aktiv ist. + + +\section{Fehlermeldung: ! No room for a new \textbackslash write} +\tudhyperdef*{sec:tips:write} +\ChangedAt{v2.02:\TaT Fehler beim Schreiben von Hilfsdateien} % -\begin{quoting}[rightmargin=0pt] +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} -\ifpdf - \usepackage{tikz}%\dots gegebenenfalls weitere auf tikz basierende Pakete -\fi +! 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}"=Kernel 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 im \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. + + + |