diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex | 1179 |
1 files changed, 1121 insertions, 58 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex index ba6a32bbeb9..a71fe1e3483 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/tocbasic.tex @@ -1,6 +1,6 @@ % ====================================================================== % tocbasic.tex -% Copyright (c) Markus Kohm, 2002-2015 +% Copyright (c) Markus Kohm, 2002-2016 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % tocbasic.tex -% Copyright (c) Markus Kohm, 2002-2015 +% Copyright (c) Markus Kohm, 2002-2016 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{tocbasic.tex} - [$Date: 2015-03-31 11:10:59 +0200 (Tue, 31 Mar 2015) $ + [$Date: 2016-05-10 14:02:52 +0200 (Tue, 10 May 2016) $ KOMA-Script guide (package tocbasic)] \chapter{Verzeichnisse verwalten mit Hilfe von \Package{tocbasic}} @@ -695,28 +695,6 @@ getrennte Aneinanderreihung von \PName{Eigenschaften}. Das Paket \OptionValue{listof}{leveldown}\important{\OptionValue{listof}{leveldown}}% \IndexOption{listof~=\PValue{leveldown}} für alle Dateierweiterungen des Besitzers \PValue{float}. -\item[\PValue{numberline}] \ChangedAt{v3.12}{\Package{tocbasic}}% - bedeutet, dass auch all diejenigen Einträge, die mit Hilfe der Anweisung - \Macro{addxcontentsline} oder der Anweisung - \Macro{addxcontentslinetoceachtocfile} in das Verzeichnis geschrieben werden - und bei denen das optionale Argument für die Nummer fehlt oder leer ist, mit - einer (leeren) \Macro{numberline}-Anweisung versehen werden. Das führt in - der Regel dazu, dass diese Einträge nicht linksbündig mit der Nummer, - sondern mit dem Text der nummerierten Einträge gleicher Ebene gesetzt - werden. Die \KOMAScript-Klassen setzen diese Eigenschaft bei Verwendung der - Option \OptionValue{listof}{numberline}% - \important{\OptionValue{listof}{numberline}}% - \IndexOption{listof~=\PValue{numberline}} für die Dateierweiterungen des - Besitzers \PValue{float} und bei Verwendung der Option - \OptionValue{toc}{numberline}\important{\OptionValue{toc}{numberline}}% - \IndexOption{toc~=\PValue{numberline}} für die Dateierweiterung - \PValue{toc}. Entsprechend wird die Eigenschaft bei Verwendung von Option - \OptionValue{listof}{nonumberline}% - \important{\OptionValue{listof}{nonumberline}}% - \IndexOption{listof~=\PValue{nonumberline}} oder - \OptionValue{toc}{nonumberline}% - \important{\OptionValue{toc}{nonumberline}}% - \IndexOption{toc~=\PValue{nonumberline}} wieder zurückgesetzt. \item[\PValue{nobabel}] bedeutet, dass die normalerweise automatisch verwendete Erweiterung für die Sprachumschaltung mit \Package{babel}\IndexPackage{babel} für diese Dateierweiterung nicht @@ -731,9 +709,9 @@ getrennte Aneinanderreihung von \PName{Eigenschaften}. Das Paket dass vor dem Abschalten des Absatzabstandes für die Verzeichnisse ein letztes Mal ein expliziter Absatzabstand eingefügt wird. Dies führt in der Regel dazu, dass bei Dokumenten mit Absatzabstand der Abstand zwischen - Überschrift und ersten Verzeichniseintrag kleiner wird als zwischen - Überschriften und normalem Text. Normalerweise erhält man daher ohne diese - Eigenschaft eine einheitlichere Formatierung. + Überschrift und ersten Verzeichniseintrag\index{Verzeichnis>Eintrag} kleiner + wird als zwischen Überschriften und normalem Text. Normalerweise erhält man + daher ohne diese Eigenschaft eine einheitlichere Formatierung. \item[\PValue{noprotrusion}] verhindert\ChangedAt{v3.10}{\Package{tocbasic}} das Abschalten des optischen Randausgleichs in den Verzeichnissen. Optischer Randausgleich wird standardmäßig abgeschaltet, wenn das Paket @@ -754,7 +732,35 @@ getrennte Aneinanderreihung von \PName{Eigenschaften}. Das Paket \OptionValue{listof}{numbered}\important{\OptionValue{listof}{numbered}}% \IndexOption{listof~=\PValue{numbered}} für alle Dateierweiterungen des Besitzers \Package{float}. -%% NEW FEATURE 3.01 +\item[\PValue{numberline}] \ChangedAt{v3.12}{\Package{tocbasic}}% + bedeutet, dass auch all diejenigen Einträge, die mit Hilfe der Anweisung + \Macro{addxcontentsline} oder der Anweisung + \Macro{addxcontentslinetoceachtocfile} in das Verzeichnis geschrieben werden + und bei denen das optionale Argument für die Nummer fehlt oder leer ist, mit + einer (leeren) \Macro{numberline}-Anweisung versehen werden. Das führt in + der Regel dazu, dass diese Einträge nicht linksbündig mit der Nummer, + sondern mit dem Text der nummerierten Einträge gleicher Ebene gesetzt + werden. Bei\ChangedAt{v3.20}{\Package{tocbasic}} Verwendung des + Verzeichniseintragsstils \PValue{tocline} kann die Eigenschaft weitere + Auswirkungen haben. Siehe dazu die Stil-Eigenschaften + \Option{breakafternumber} und \Option{entrynumberformat} in + \autoref{tab:tocbasic.tocstyle.attributes} ab + \autopageref{tab:tocbasic.tocstyle.attributes}. + + Die \KOMAScript-Klassen setzen diese Eigenschaft bei Verwendung der + Option \OptionValue{listof}{numberline}% + \important{\OptionValue{listof}{numberline}}% + \IndexOption{listof~=\PValue{numberline}} für die Dateierweiterungen des + Besitzers \PValue{float} und bei Verwendung der Option + \OptionValue{toc}{numberline}\important{\OptionValue{toc}{numberline}}% + \IndexOption{toc~=\PValue{numberline}} für die Dateierweiterung + \PValue{toc}. Entsprechend wird die Eigenschaft bei Verwendung von Option + \OptionValue{listof}{nonumberline}% + \important{\OptionValue{listof}{nonumberline}}% + \IndexOption{listof~=\PValue{nonumberline}} oder + \OptionValue{toc}{nonumberline}% + \important{\OptionValue{toc}{nonumberline}}% + \IndexOption{toc~=\PValue{nonumberline}} wieder zurückgesetzt. \item[\PValue{onecolumn}] \leavevmode\ChangedAt{v3.01}{\Package{tocbasic}}% bedeutet, dass für dieses Verzeichnis automatisch der \LaTeX-interne Einspaltenmodus mit \Macro{onecolumn}\IndexCmd{onecolumn} verwendet @@ -770,7 +776,6 @@ getrennte Aneinanderreihung von \PName{Eigenschaften}. Das Paket gesetzt. Der Mehrspaltenmodus des \Package{multicol}-Pakets\IndexPackage{multicol} ist von der Eigenschaft ausdrücklich nicht betroffen. -%% END NEW FEATURE 3.01 \item[\PValue{totoc}] bedeutet, dass der Titel des Verzeichnisses in das Inhaltsverzeichnis aufgenommen werden soll. Diese Eigenschaft wird von der internen Überschriftenanweisung ausgewertet. Wird\textnote{Achtung!} mit @@ -808,7 +813,6 @@ Die \KOMAScript-Klassen kennen eine weitere Eigenschaft: \begin{lstcode} \setuptoc{loa}{chapteratlist} \end{lstcode} -%% NEW FEATURE 3.01 Wollen Sie außerdem, dass bei Klassen, die \Macro{chapter} als oberste Gliederungsebene verwenden, das Verzeichnis automatisch einspaltig gesetzt wird, so verwenden Sie zusätzlich @@ -821,7 +825,6 @@ Die \KOMAScript-Klassen kennen eine weitere Eigenschaft: setzt das Paket \Package{scrbase} voraus (siehe \autoref{sec:scrbase.if}, \autopageref{desc:scrbase.cmd.ifundefinedorrelax}). -%% END NEW FEATURE 3.01 Sollte\textnote{Tipp!} Ihr Paket mit einer anderen Klasse verwendet werden, so schadet es trotzdem nicht, dass Sie diese Eigenschaften setzen, im @@ -852,6 +855,957 @@ beschriebenen Eigenschaften \PValue{totoc}, \PValue{numbered} oder \EndIndex{Cmd}{iftocfeature}% +\section{Konfiguration von Verzeichniseinträgen} +\seclabel{tocstyle} +\BeginIndex{}{Verzeichnis>Eintrag} + +Neben\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} den eigentlichen +Verzeichnissen und den zugehörigen Hilfsdateien kann man mit Paket +\Package{tocbasic} ab Version~3.20 auch Einfluss auf die Verzeichniseinträge +nehmen. Dazu können neue Stile definiert werden. Es stehen aber auch mehrere +vordefinierte Stile zur Verfügung. Mittelfristig wird \Package{tocbasic} das +nie offiziell gewordene \KOMAScript-Paket \Package{tocstyle} ablösen. Die +\KOMAScript-Klassen selbst bauen seit Version~3.20 ebenfalls vollständig auf +die von \Package{tocbasic} bereitgestellten Stile für Verzeichniseinträge. + +\begin{Declaration} + \Macro{numberline}\Parameter{Gliederungsnummer}\\ + \Macro{usetocbasicnumberline}\OParameter{Code} +\end{Declaration} +\BeginIndex{Cmd}{numberline}% +\BeginIndex{Cmd}{usetocbasicnumberline}% +Zwar\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} definiert bereits der +\LaTeX-Kern eine Anweisung \Macro{numberline}, diese ist allerdings für die +Anforderungen von \Package{tocbasic} nicht ausreichend. Deshalb definiert es +eigene Anweisungen und setzt \Macro{numberline} bei Bedarf mit Hilfe von +\Macro{usetocbasicnumberline} für die einzelnen Verzeichniseinträge +entsprechend. Eine Umdefinierung von \Macro{numberline} ist daher bei +Verwendung von \Package{tocbasic} oftmals wirkungslos und führt teilweise auch +zu Warnungen. + +Man kann auch die Definition von \Package{tobasic} generell nutzen, indem man +bereits in der Dokumentpräambel \Macro{usetocbasicnumberline} aufruft. Die +Anweisung versucht zunächst zu ermitteln, ob in der aktuellen Definition +wichtige interne Anweisungen von \Package{tocbasic} verwendet werden. Ist dies +nicht der Fall wird \Macro{numberline} entsprechend umdefiniert und zusätzlich +\PName{Code} ausgeführt. Ist kein optionales Arguments angegeben, wird +stattdessen via \Macro{PackageInfo} eine Meldung über die erfolgte +Umdefinierung ausgegeben. Diese Meldung kann man einfach unterdrücken, indem +ein leeres optionales Argument angegeben wird. + +Es\textnote{Achtung!} ist zu beachten, dass \Macro{usetocbasicnumberline} den +internen Schalter \Macro{@tempswa} global verändern kann!% +\EndIndex{Cmd}{usetocbasicnumberline}% +\EndIndex{Cmd}{numberline}% + + +\begin{Declaration} + \Macro{DeclareTOCStyleEntry}\OParameter{Optionenliste}\Parameter{Stil}% + \Parameter{Eintragsebene} +\end{Declaration} +\BeginIndex{Cmd}{DeclareTOCStyleEntry}% +Über\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} diese Anweisungen werden +die Verzeichniseinträge für eine bestimmte \PName{Eintragsebene} deklariert +oder konfiguriert. Dabei ist die \PName{Eintragsebene} der Name der jeweiligen +Eintragsebene, beispielsweise \PValue{section} für einen zur gleichnamigen +Gliederungsebene gehörenden Eintrag ins Inhaltsverzeichnis oder +\PValue{figure} für den Eintrag einer Abbildung ins +Abbildungsverzeichnis. Jeder \PName{Eintragsebene} wird ein bestimmter +\PName{Stil} zugeordnet, der zum Zeitpunkt der Deklaration bereits definiert +sein muss. Über die \PName{Optionenliste} können die verschiedenen, meist vom +\PName{Stil} abhängenden Eigenschaften des Eintrags festgelegt werden. + +Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: +\begin{description} +\item[\PValue{default}] ist in der Voreinstellung ein Klon von Stil + \PValue{dottedtocline}. Klassenautoren, die \Package{tocbasic} verwenden, + wird empfohlen, diesen Stil mit Hilfe von \Macro{CloneTOCStyle} auf den + Standardverzeichniseintragsstil der Klasse zu ändern. Bei den + \KOMAScript-Klassen wird \PValue{default} beispielsweise zu einem Klon von + Stil \PValue{tocline}. +\item[\PValue{dottedtocline}] entspricht dem Stil, der von den Standardklassen + \Class{book} und \Class{report} für die Inhaltsverzeichniseinträge der + Ebenen \PValue{section} bis \PValue{subparagraph} und bei allen + Standardklassen für die Einträge in das Abbildungs- und das + Tabellenverzeichnis bekannt ist. Er kennt nur die Eigenschaften + \PValue{level}, \PValue{indent} und \PValue{numwidth}. Die Einträge werden + um \PValue{indent} von links eingezogen in der aktuellen Schrift + ausgegeben. \Macro{numberline} wird nicht umdefiniert. Die Breite der Nummer + wird von \PValue{numwidth} bestimmt. Bei mehrzeiligen Einträgen wird der + Einzug ab der zweiten Zeile um \PValue{numwidth} erhöht. Die Seitenzahl wird + mit \Macro{normalfont} ausgegeben. Eintragstext und Seitenzahl werden durch + eine punktierte Linie verbunden. \autoref{fig:tocbasic.dottedtocline} + illustriert die Eigenschaften des Stils. + \begin{figure} + \centering + \resizebox{.8\linewidth}{!}{% + \begin{tikzpicture} + \draw[color=lightgray] (0,2\baselineskip) -- (0,-2.5\baselineskip); + \draw[color=lightgray] (\linewidth,2\baselineskip) -- + (\linewidth,-2.5\baselineskip); + \node (dottedtocline) at (0,0) [anchor=west,inner sep=0,outer sep=0] + {% + \hspace*{7em}% + \parbox[t]{\dimexpr\linewidth-9.55em}{% + \setlength{\parindent}{-3.2em}% + \addtolength{\parfillskip}{-2.55em}% + \makebox[3.2em][l]{1.1.10}% + Überschrift im Verzeichniseintragsstil \PValue{dottedtocline} mit + mehr als einer Zeile% + \leaders\hbox{$\csname m@th\endcsname + \mkern 4.5mu\hbox{.}\mkern 4.5mu$}\hfill\nobreak + \makebox[1.55em][r]{12}% + }% + }; + \draw[|-|,color=gray,overlay] (0,0) -- + node [anchor=north,font=\small] { + \PValue{indent} + } + (3.8em,0); + \draw[|-|,color=gray,overlay] (3.8em,\baselineskip) -- + node [anchor=south,font=\small] { + \PValue{numwidth} + } + (7em,\baselineskip); + \draw[|-|,color=gray,overlay] (\linewidth,\ht\strutbox) -- + node [anchor=south,font=\small] { + \Macro{@tocrmarg} + } + (\linewidth-2.55em,\ht\strutbox); + \draw[|-|,color=gray,overlay] (\linewidth,-\baselineskip) -- + node [anchor=north,font=\small] { + \Macro{@pnumwidth} + } + (\linewidth-1.55em,-\baselineskip); + \end{tikzpicture}% + } + \caption{Illustration einiger Attribute des Verzeichniseintragsstils + \PValue{dottedtocline}} + \label{fig:tocbasic.dottedtocline} + \end{figure} +\item[\PValue{gobble}] ist der denkbar einfachste Stil. Einträge in diesem + Stil werden unabhängig von allen Einstellungen für + \Counter{tocdepth}\IndexCounter{tocdepth}\important{\Counter{tocdepth}} + nicht ausgegeben sondern sozusagen verschluckt. Dennoch verfügt er über die + Standardeigenschaft \PValue{level}, die jedoch nie ausgewertet wird. +\item[\PValue{largetocline}] entspricht dem Stil, der von den Standardklassen + für die Ebene \PValue{part} bekannt ist. Er kennt nur die Eigenschaften + \PName{level} und \PName{indent}. Letzteres ist gleichsam eine Abweichung + von den Standardklassen, die selbst keinen Einzug der \PValue{part}-Einträge + unterstützen. + + Vor dem Eintrag wird ein Seitenumbruch erleichtert. Die Einträge werden um + \PValue{indent} von links eingezogen in \Macro{large}\Macro{bfseries} + ausgegeben. Sollte \Macro{numberline} verwendet werden, so ist die + Nummernbreite fest auf 3\Unit{em} eingestellt. \Macro{numberline} wird nicht + umdefiniert. Die Standardklassen verwenden für \PName{part}-Einträge kein + \Macro{numberline}. Der Wert hat bei mehrzeiligen Einträgen auch keine + Auswirkung auf den Einzug ab der zweiten + Zeile. + + \autoref{fig:tocbasic.largetocline} illustriert die Eigenschaften des + Stils. Dabei wird auch auffällig, dass der Stil einige Ungereimtheiten der + Standardklassen übernommen hat, beispielsweise der fehlende Einzug ab der + zweiten Zeile bei mehrzeiligen Einträgen und zwei unterschiedliche Werte für + \Macro{@pnumwidth}, die aus einer Abhängigkeit von der Schriftgröße + resultieren. Daraus resultiert auch der Umstand, dass im Extremfall der Text + der Überschrift der Seitenzahl zu nah kommen kann. Es ist zu beachten, dass + die in der Abbildung gezeigte Breite der Gliederungsnummer nur dann + Verwendung findet, wenn auch tatsächlich \Macro{numberline} verwendet + wird. Die Standardklassen setzen hingegen einen festen Abstand von + 1\Unit{em} nach der Nummer. + \begin{figure} + \centering + \resizebox{.8\linewidth}{!}{% + \begin{tikzpicture} + \draw[color=lightgray] (0,2\baselineskip) -- (0,-2.5\baselineskip); + \draw[color=lightgray] (\linewidth,2\baselineskip) -- + (\linewidth,-2.5\baselineskip); + \node (largetocline) at (0,0) [anchor=west,inner sep=0,outer sep=0] {% + \parbox[t]{\dimexpr \linewidth-1.55em\relax}{% + \makebox[3em][l]{\large\bfseries I}% + \large\bfseries + Überschrift im Verzeichniseintragsstil \PValue{largetocline} mit + mehr als einer Zeile\hfill + \makebox[0pt][l]{\normalsize\normalfont + \makebox[1.55em][r]{\large\bfseries 1}}% + }% + }; + \draw[|-|,color=gray] (0,\baselineskip) -- + node [anchor=south] { 3\,em } + (3em,\baselineskip); + \draw[|-|,color=gray,overlay] (\linewidth,\ht\strutbox) -- + node [anchor=south] { \Macro{@pnumwidth} } + (\linewidth-1.55em,\ht\strutbox); + \large\bfseries + \draw[|-|,color=gray,overlay] (\linewidth,-\baselineskip) -- + node [anchor=north,font=\normalfont\normalsize] { + \Macro{large}\Macro{@pnumwidth} + } + (\linewidth-1.55em,-\baselineskip); + \end{tikzpicture}% + } + \caption{Illustration einiger Attribute des Verzeichniseintragsstils + \PValue{largetocline}} + \label{fig:tocbasic.largetocline} + \end{figure} +\item[\PValue{tocline}] ist ein flexibler Stil, der in der Voreinstellung für + alle Einträge der \KOMAScript-Klassen verwendet wird. Entsprechend + definieren diese Klassen auch die Klone \PValue{part}, \PValue{chapter} und + \PValue{section} beziehungsweise \PValue{section} und \PValue{subsection} + mit Hilfe dieses Stils, ändern dann jedoch den \PName{Initialisierungscode} + der Klone so ab, dass sie unterschiedliche Voreinstellungen besitzen. + + Der Stil kennt die Eigenschaften \PValue{level}, \PValue{beforeskip}, + \PValue{dynnumwidth}, \PValue{entryformat}, \PValue{entrynumberformat}, + \PValue{breakafternumber}, \PValue{indent}, \PValue{linefill}, + \PValue{numsep}, \PValue{numwidth}, \PValue{onstarthigherlevel}, + \PValue{onstartlowerlevel}, \PValue{onstartsamelevel}, + \PValue{pagenumberbox}, \PValue{pagenumberformat} und + \PValue{raggedpagenumber}. Die Voreinstellungen all dieser Eigenschaften + werden abhängig vom Namen der \PName{Eintragsebene} bestimmt und orientieren + sich dann an den Ergebnissen der Standardklassen. Es ist daher möglich, nach + Laden von \Package{tocbasic} den Stil der Inhaltsverzeichniseinträge der + Standardklassen mit \Macro{DeclareTOCEntryStyle} in \PValue{tocline} zu + ändern, ohne dass dies unmittelbar zu größeren Veränderungen im Aussehen der + Inhaltsverzeichniseinträge führt. So kann man gezielt nur die Eigenschaften + ändern, die für erwünschte Änderungen notwendig sind. Dasselbe gilt für + Abbildungs- und Tabellenverzeichnis der Standardklassen. + + Aufgrund der hohen Flexibilität kann dieser Stil prinzipiell die Stile + \PValue{dottedtocline}, \PValue{undottedtocline} und \PValue{largetocline} + ersetzen, bedarf dann jedoch teilweise eines höheren Aufwands bei der + Konfiguration. + + \autoref{fig:tocbasic.tocline} illustriert einige Längen-Eigenschaften des + Stils. Die weiteren sind in \autoref{tab:tocbasic.tocstyle.attributes}, ab + \autopageref{tab:tocbasic.tocstyle.attributes} erklärt. + \begin{figure} + \centering + \resizebox{.8\linewidth}{!}{% + \begin{tikzpicture} + \coordinate (subsection) at (0,0); + \coordinate (section) at ($(subsection)+(0,2\baselineskip)$); + \coordinate (chapter) at ($(section)+(0,2\baselineskip)$); + \coordinate (part) at ($(chapter)+(0,2.4\baselineskip+1em)$); + + \draw[color=lightgray] + ($(part)+(0,2\baselineskip)$) -- + (0,-2.5\baselineskip); + \draw[color=lightgray] + ($(part)+(\linewidth,2\baselineskip)$) -- + (\linewidth,-2.5\baselineskip); + + \coordinate (subsection) at (0,0); + + \node at (part) [anchor=west,inner sep=0,outer sep=0] + {% + \hspace*{3em}% + \parbox[t]{\dimexpr\linewidth-5.55em}{% + \setlength{\parindent}{-3em}% + \addtolength{\parfillskip}{-2.55em}% + \makebox[3em][l]{\large\bfseries I.}% + \textbf{\large Überschrift eines Teil-Eintrags im Stil + \PValue{tocline} zur Demonstration mit mehr als einer Zeile}% + \hfill + \makebox[1.55em][r]{\bfseries 12}\large + }% + }; + \draw[|-|,color=gray,overlay] + (part) -- + ($(part)+(3em,0)$) + node [anchor=north east,font=\small] { + \PValue{numwidth} + }; + \draw[|-|,color=gray,overlay] + ($(part)+(\linewidth,\ht\strutbox)$) + node [anchor=north,font=\small] { + \Macro{@tocrmarg} + } -- + ($(part)+(\linewidth-2.55em,\ht\strutbox)$); + \draw[|-|,color=gray,overlay] + ($(part)+(\linewidth,-\baselineskip)$) -- + node [anchor=north,font=\small] { + \Macro{@pnumwidth} + } + ($(part)+(\linewidth-1.55em,-\baselineskip)$); + \node at (chapter) [anchor=west,inner sep=0,outer sep=0] + {% + \hspace*{1.5em}% + \parbox[t]{\dimexpr\linewidth-4.05em}{% + \setlength{\parindent}{-1.5em}% + \addtolength{\parfillskip}{-2.55em}% + \makebox[1.5em][l]{\bfseries 1.}% + \textbf{Überschrift eines Kapiteleintrags im Stil + \PValue{tocline} zur Demonstration mit mehr als einer Zeile}% + \hfill + \makebox[1.55em][r]{\bfseries 12}% + }% + }; + \draw[|-|,color=gray,overlay] + ($(chapter)+(3em,\baselineskip)$) -- + node [anchor=west,font=\small] { + \PValue{beforeskip} + } + ($(part)+(3em,-\baselineskip)$); + \draw[|-|,color=gray,overlay] + (chapter) -- + ($(chapter)+(1.5em,0)$) + node [anchor=north east,font=\small] { + \PValue{numwidth} + }; + \draw[|-|,color=gray,overlay] + ($(chapter)+(\linewidth,\ht\strutbox)$) + node [anchor=north,font=\small] { + \Macro{@tocrmarg} + } -- + ($(chapter)+(\linewidth-2.55em,\ht\strutbox)$); + \draw[|-|,color=gray,overlay] + ($(chapter)+(\linewidth,-\baselineskip)$) + node [anchor=north,font=\small] { + \Macro{@pnumwidth} + } -- + ($(chapter)+(\linewidth-1.55em,-\baselineskip)$); + \node at (section) [anchor=west,inner sep=0,outer sep=0] + { + \hspace*{3.8em}% + \parbox[t]{\dimexpr\linewidth-6.35em}{% + \setlength{\parindent}{-2.3em}% + \addtolength{\parfillskip}{-2.55em}% + \makebox[2.3em][l]{1.1.}% + Überschrift eines Abschnitteintrags im Stil + \PValue{tocline} zur Demonstration mit mehr als einer Zeile% + \leaders\hbox{$\csname m@th\endcsname + \mkern 4.5mu\hbox{.}\mkern 4.5mu$}\hfill\nobreak + \makebox[1.55em][r]{3}% + }% + }; + \node at (subsection) [anchor=west,inner sep=0,outer sep=0] + {% + \hspace*{7em}% + \parbox[t]{\dimexpr\linewidth-9.55em}{% + \setlength{\parindent}{-3.2em}% + \addtolength{\parfillskip}{-2.55em}% + \makebox[3.2em][l]{1.1.10.}% + Überschrift eines Unterabschnitteintrags im Stil + \PValue{tocline} mit mehr als einer Zeile% + \leaders\hbox{$\csname m@th\endcsname + \mkern 4.5mu\hbox{.}\mkern 4.5mu$}\hfill\nobreak + \makebox[1.55em][r]{12}% + }% + }; + \draw[|-|,color=gray,overlay] + ($(subsection)+(0,\ht\strutbox)$) -- + node [anchor=north,font=\small] { + \PValue{indent} + } + ($(subsection)+(3.8em,\ht\strutbox)$); + \draw[|-|,color=gray,overlay] + ($(subsection)+(3.8em,0)$) -- + ($(subsection)+(7em,0)$) + node [anchor=north east,font=\small] { + \PValue{numwidth} + }; + \draw[|-|,color=gray,overlay] + ($(subsection)+(\linewidth,\ht\strutbox)$) + node [anchor=north,font=\small] { + \Macro{@tocrmarg} + } -- + ($(subsection)+(\linewidth-2.55em,\ht\strutbox)$); + \draw[|-|,color=gray,overlay] + ($(subsection)+(\linewidth,-\baselineskip)$) -- + node [anchor=north,font=\small] { + \Macro{@pnumwidth} + } + ($(subsection)+(\linewidth-1.55em,-\baselineskip)$); + \end{tikzpicture}% + } + \caption{Illustration einiger Attribute des Verzeichniseintragsstils + \PValue{tocline}} + \label{fig:tocbasic.tocline} + \end{figure} +\item[\PValue{undottedtocline}] entspricht dem Stil, der von den + Standardklassen \Class{book} und \Class{report} für die Ebene + \PValue{chapter} und von \Class{article} für die Ebene \PValue{section} + bekannt ist. Er kennt nur die Eigenschaften \PValue{level}, \PValue{indent} + und \PValue{numwidth}. Letztere ist gleichsam eine Abweichung von den + Standardklassen, die selbst keinen Einzug für die genannten Ebenen + unterstützen. + + Vor dem Eintrag wird ein Seitenumbruch erleichtert und ein vertikaler + Abstand eingefügt. Die Einträge werden um \PValue{indent} von links + eingezogen in \Macro{bfseries} ausgegeben. \Macro{numberline} wird nicht + umdefiniert. Die Breite der Nummer wird von \PValue{numwidth} bestimmt. Bei + mehrzeiligen Einträgen wird der Einzug ab der zweiten Zeile um + \PValue{numwidth} erhöht. \autoref{fig:tocbasic.undottedtocline} illustriert + die Eigenschaften des Stils. + \begin{figure} + \centering + \resizebox{.8\linewidth}{!}{% + \begin{tikzpicture} + \draw[color=lightgray] (0,2\baselineskip) -- (0,-2.5\baselineskip); + \draw[color=lightgray] (\linewidth,2\baselineskip) -- + (\linewidth,-2.5\baselineskip); + \node (undottedtocline) at (0,0) [anchor=west,inner sep=0,outer sep=0] + {% + \makebox[1.5em][l]{\bfseries 1}% + \parbox[t]{\dimexpr \linewidth-4.05em\relax}{% + \bfseries + Überschrift im Verzeichniseintragsstil \PValue{undottedtocline} mit + mehr als einer Zeile% + }% + \raisebox{-\baselineskip}{\makebox[2.55em][r]{\bfseries 3}}% + }; + \draw[|-|,color=gray,overlay] (0,\baselineskip) -- + node [anchor=south,font=\small] { + \PValue{numwidth} + } + (1.5em,\baselineskip); + \draw[|-|,color=gray,overlay] (\linewidth,\ht\strutbox) -- + node [anchor=south,font=\small] { + \Macro{@tocrmarg} + } + (\linewidth-2.55em,\ht\strutbox); + \draw[|-|,color=gray,overlay] (\linewidth,-\baselineskip) -- + node [anchor=north,font=\small] { + \Macro{@pnumwidth} + } + (\linewidth-1.55em,-\baselineskip); + \end{tikzpicture}% + } + \caption{Illustration einiger Attribute des Verzeichniseintragsstils + \PValue{undottedtocline} am Beispiel einer Kapitelüberschrift} + \label{fig:tocbasic.undottedtocline} + \end{figure} +\end{description} +Eine Erklärung zu den Eigenschaften der von \Package{tocbasic} definierten +Stile findet sich in \autoref{tab:tocbasic.tocstyle.attributes}. Bei +Verwendung der Eigenschaften als Optionen für \Macro{DeclareNewTOC} (siehe +\autopageref{desc:tocbasic.cmd.DeclareNewTOC}) oder +\Macro{DeclareSectionCommand} (siehe +\autopageref{desc:maincls-experts.cmd.DeclareSectionCommand}) und verwandten +Anweisungen sind die Namen der Eigenschaften mit dem Präfix \PValue{toc} zu +versehen, also beispielsweise \Option{toclevel} an Stelle von \PValue{level} +zu verwenden. + +Letztlich führt der Aufruf von \Macro{DeclareTOCStyleEntry} zur Definition der +Anweisung \Macro{l@\PName{Eintragsebene}}. + +\begin{desclist} + \desccaption{% + Attribute für die vordefinierten Verzeichniseintragsstile von + \Package{tocbasic}% + \label{tab:tocbasic.tocstyle.attributes}% + }{% + Attribute der Verzeichniseintragsstile (\emph{Fortsetzung})% + }% + \entry{\KOption{beforeskip}\PName{Länge}}{% + Vertikaler Abstand, der vor einem Eintrag dieser Ebene im Stil + \PValue{tocline} eingefügt wird (siehe \autoref{fig:tocbasic.tocline}). Der + Abstand wird je nach Ebene mit \Macro{vskip} oder \Macro{addvspace} + eingefügt, so dass diesbezüglich möglichst Kompatibilität zu den + Standardklassen und früheren Versionen von \KOMAScript{} besteht. + + Bei der \PName{Eintragsebene} \PValue{part} wird das Attribut mit + \texttt{2.25em plus 1pt} initialisiert, bei \PValue{chapter} mit + \texttt{1em plus 1pt}. Ist noch keine \PName{Eintragsebene} + \PValue{chapter} bekannt wird für \PValue{section} ebenfalls \texttt{1em + plus 1pt} verwendet. Alle anderen Ebenen werden mit \texttt{0pt plus + .2pt} initialisiert.% + }% + \entry{\KOption{breakafternumber}\PName{Schalter}}{% + \PName{Schalter} ist einer der Werte für einfache Schalter aus + \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. + Ist der Schalter beim Stil \PValue{tocline} aktiviert, so wird nach der + mit \Macro{numberline}\IndexCmd{numberline} gesetzten Nummer eine neue + Zeile begonnen, die erneut linksbündig mit der Nummer beginnt. + + In der Voreinstellung ist die Eigenschaft im Stil \PValue{tocline} nicht + gesetzt. + + Ist\textnote{Achtung!} für ein Verzeichnis mit \Macro{setuptoc} die + Eigenschaft \Option{numberline} gesetzt (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}), wie dies bei den + \KOMAScript-Klassen und Verwendung deren Option + \OptionValue{toc}{numberline}\IndexOption{toc~=\PValue{numberline}} der + Fall ist, führt dies auch dazu, dass bei nicht nummerierten Einträgen + dennoch die Zeile mit der dann leeren Nummer in der Formatierung von + \Option{entrynumberformat} gesetzt wird.% + }% + \entry{\KOption{dynnumwidth}\PName{Schalter}}{% + \PName{Schalter} ist einer der Werte für einfache Schalter aus + \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. Ist der + Schalter beim Stil \PValue{tocline} aktiviert, wird die Eigenschaft + \PValue{numwidth} ignoriert. Stattdessen wird die beim letzten \LaTeX-Lauf + ermittelte maximale Breite der Eintragsnummern gleicher Ebene zuzüglich + des Werts von \PValue{numsep} verwendet.% + }% + \entry{\KOption{entryformat}\PName{Befehl}}{% + Über diese Eigenschaft kann die Formatierung des gesamten Eintrags + verändert werden. Der dabei als Wert angegebene \PName{Befehl} hat genau + ein Argument zu erwarten. Dieses Argument ist nicht zwingend voll + expandierbar. Befehle wie \Macro{MakeUppercase}, die ein voll + expandierbares Argument erwarten, dürfen an dieser Stelle also nicht + verwendet werden. Font-Änderungen über \Option{entryformat} erfolgen + ausgehend von \Macro{normalfont}\Macro{normalsize}. Es wird darauf + hingewiesen, dass die Ausgabe von \Option{linefill} und der Seitenzahl + unabhängig von \Option{entryformat} sind. Siehe dazu auch die Eigenschaft + \Option{pagenumberformat}. + + Initialisiert wird die Eigenschaft für die \PName{Eintragsebene} + \PValue{part} mit der Ausgabe des übergebenen Argument in + \Macro{large}\Macro{bfseries} und für \PValue{chapter} in + \Macro{bfseries}. Falls bei der Initialisierung von \PValue{section} noch + keine Ebene \PValue{chapter} existiert, wird auch für diese Ebene + \Macro{bfseries} verwendet. Bei allen anderen Ebenen wird das Argument + unverändert ausgegeben.% + }% + \entry{\KOption{entrynumberformat}\PName{Befehl}}{% + Über diese Eigenschaft kann die Formatierung der mit \Macro{numberline} + gesetzten Eintragsnummer verändert werden. Der dabei als Wert angegebene + \PName{Befehl} hat genau ein Argument zu erwarten. Font-Änderungen + erfolgen ausgehend von der Eigenschaft \Option{entryformat}. + + Initialisiert wird die Eigenschaft mit Ausgabe des übergebenen + Arguments. Die Eintragsnummer wird also unverändert ausgegeben. + + Ist\textnote{Achtung!} für ein Verzeichnis mit \Macro{setuptoc} die + Eigenschaft \Option{numberline} gesetzt (siehe \autoref{sec:tocbasic.toc}, + \autopageref{desc:tocbasic.cmd.setuptoc}), wie dies bei den + \KOMAScript-Klassen und Verwendung deren Option + \OptionValue{toc}{numberline}\IndexOption{toc~=\PValue{numberline}} der + Fall ist, führt dies auch dazu, dass bei nicht nummerierten Einträgen + \PName{Befehl} dennoch ausgeführt wird.% + }% + \entry{\KOption{indent}\PName{Länge}}{% + Horizontaler Abstand des Eintrags vom linken Rand (siehe + \autoref{fig:tocbasic.dottedtocline} und \autoref{fig:tocbasic.tocline}). + + Beim Stil \PValue{tocline} wird für alle Eintragsebenen, deren Name mit + »\texttt{sub}« beginnt, eine Initialisierung mit + \PValue{indent}+\PValue{numwidth} der gleichnamigen Eintragsebene ohne + diesen Präfix vorgenommen, falls eine solche Ebene mit entsprechenden + Eigenschaften existiert. Bei den Stilen \PValue{dottedtocline}, + \PValue{undottedtocline} und \PValue{tocline} findet für die + Eintragsebenen \PValue{part} bis \PValue{subparagraph} sowie + \PValue{figure} und \PValue{table} eine Initialisierung mit Werten + entsprechend der Standardklassen statt. Alle anderen Ebenen erhalten keine + Initialisierung. Für sie ist eine explizite Angabe daher bei der + ersten Verwendung zwingend.% + }% + \entry{\KOption{level}\PName{Integer}}{% + Nummerischer Wert der \PName{Eintragsebene}. Tatsächlich angezeigt werden + nur Einträge, deren nummerische Ebene nicht größer als Zähler + \Counter{tocdepth}\important{\Counter{tocdepth}}\IndexCounter{tocdepth} + ist. + + Diese Eigenschaft ist für alle Stile zwingend und wird bei der + Definition eines Stils automatisch definiert. + + Beim Stil \PValue{tocline} findet für alle Eintragsebenen, deren Name + mit »\texttt{sub}« beginnt, eine Initialisierung entsprechend dem + um eins erhöhten Wert einer gleichnamigen Eintragsebene ohne + diesen Präfix statt, falls eine solche Ebene existiert. Bei den Stilen + \PValue{dottedtocline}, \PValue{largetocline}, \PValue{tocline} und + \PValue{undottedtocline} findet für die \PName{Eintragsebene} + \PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection}, + \PValue{subsubsection}, \PValue{paragraph}, \PValue{subparagraph}, + \PValue{figure} und \PValue{table} automatisch eine Initialisierung + aufgrund des Namens statt. Für andere Ebenen findet eine Initialisierung + mit dem Wert der Gliederungsebene statt, falls kompatibel zu den + \KOMAScript-Klassen \Macro{\PName{Eintragsebene}numdepth} definiert + ist.% + }% + \entry{\KOption{linefill}\PName{Code}}{% + Beim Stil \PValue{tocline} kann zwischen dem Ende des Eintragstextes und + der Seitenzahl die Art der Füllung verändert werden. Die Eigenschaft + \PName{linefill} erhält als Wert direkt den gewünschten \PName{Code}. + Für \PName{Eintragsebene} \PValue{part} und \PValue{chapter} wird die + Eigenschaft mit \Macro{hfill} initialisiert. Dadurch rückt die Seitenzahl + an den rechten Rand. Ist bisher keine \PName{Eintragsebene} + \PValue{chapter} definiert, so gilt dies auch für \PValue{section}. Alle + anderen Ebenen werden mit \Macro{TOCLineLeaderFill} (siehe + \autopageref{desc:tocbasic.cmd.TOCLineLeaderFill}) initialisiert. + + Wird \PName{Code} angegeben, der nicht automatisch zu einer Füllung des + Abstandes führt, sollte übrigens auch die Eigenschaft + \PValue{raggedpagenumber} gesetzt werden, damit es nicht zu + »\texttt{underfull \Macro{hbox}}«-Meldungen kommt.% + }% + \entry{\KOption{numsep}\PName{Länge}}{% + Der Stil \PValue{tocline} versucht sicherzustellen, dass zwischen der + Nummer und dem Text eines Eintrags mindestens ein Abstand von + \PName{Länge} eingehalten wird. Bei aktiviertem \PValue{dynnumwidth} kann + die für die Nummer reservierte Breite \PValue{numwidth} entsprechend + korrigiert werden. Bei nicht aktiviertem \PValue{dynnumwidth} wird + hingegen lediglich eine Warnung ausgegeben, wenn diese Bedingung nicht + eingehalten wird. + + Die Eigenschaft wird mit einem Wert von 0,4\Unit{em} initialisiert.% + }% + \entry{\KOption{numwidth}\PName{Länge}}{% + Für die Nummer eines Eintrags reservierte Breite (siehe + \autoref{fig:tocbasic.dottedtocline} bis + \autoref{fig:tocbasic.undottedtocline}). Dieser Wert wird bei den + Stilen \PValue{dottedtocline}, \PValue{tocline} und + \PValue{undottedtocline} ab der zweiten Zeile eines Eintrags zum linken + Einzug hinzugerechnet. + + Beim Stil \PValue{tocline} wird für alle Eintragsebenen, deren Name mit + »\texttt{sub}« beginnt, eine Initialisierung mit dem Wert der + gleichnamigen Eintragsebene ohne diesen Präfix zuzüglich 0,9\Unit{em} + vorgenommen, falls eine solche Ebene mit entsprechender + Eigenschaften existiert. Bei den Stilen \PValue{dottedtocline}, + \PValue{undottedtocline} und \PValue{tocline} findet für die + Eintragsebenen \PValue{part} bis \PValue{subparagraph} sowie + \PValue{figure} und \PValue{table} eine Initialisierung mit Werten + entsprechend der Standardklassen statt. Alle anderen Ebenen erhalten keine + Initialisierung. Für sie ist eine explizite Angabe daher bei der + ersten Verwendung zwingend.% + }% + \entry{\KOption{onstarthigherlevel}\PName{Code}}{% + Der Stil \PValue{tocline} kann zu Beginn eines Eintrags eine Aktion in + Abhängigkeit davon ausführen, ob der zuletzt gesetzte Eintrag einen + höheren, denselben oder einen niedrigeren \PName{level}-Wert + hatte. Im Falle, dass der aktuelle Eintrag einen größeren + \PName{level}-Wert besitzt, in der Hierarchie der Einträge also tiefer + steht, wird der über diese Eigenschaft angegebene \PName{Code} ausgeführt. + + Die Erkennung funktioniert übrigens nur, solange sich \Macro{lastpenalty} + seit dem letzten Eintrag nicht geändert hat. + + Initialisiert wird die Eigenschaft mit \Macro{LastTOCLevelWasLower} (siehe + \autopageref{desc:tocbasic.cmd.LastTOCLevelWasLower}).% + }% + \entry{\KOption{onstartlowerlevel}\PName{Code}}{% + Der Stil \PValue{tocline} kann zu Beginn eines Eintrags eine Aktion in + Abhängigkeit davon ausführen, ob der zuletzt gesetzte Eintrag einen + höheren, denselben oder einen niedrigeren \PName{level}-Wert + hatte. Der im Falle, dass der aktuelle Eintrag einen kleineren + \PName{level}-Wert besitzt, in der Hierarchie der Einträge also höher + steht, wird der über diese Eigenschaft angegebene \PName{Code} ausgeführt. + + Die Erkennung funktioniert übrigens nur, solange sich \Macro{lastpenalty} + seit dem letzten Eintrag nicht geändert hat. + + Initialisiert wird die Eigenschaft mit \Macro{LastTOCLevelWasHigher} (siehe + \autopageref{desc:tocbasic.cmd.LastTOCLevelWasHigher}), was normalerweise + dazu führt, dass ein Umbruch vor dem Eintrag begünstigt wird.% + }% + \entry{\KOption{onstartsamelevel}\PName{Code}}{% + Der Stil \PValue{tocline} kann zu Beginn eines Eintrags eine Aktion in + Abhängigkeit davon ausführen, ob der zuletzt gesetzte Eintrag einen + höheren, denselben oder einen niedrigeren \PName{level}-Wert + hatte. Der im Falle, dass der aktuelle Eintrag denselben + \PName{level}-Wert besitzt, in der Hierarchie der Einträge also gleich + gestellt ist, wird der über diese Eigenschaft angegebene \PName{Code} + ausgeführt. + + Die Erkennung funktioniert übrigens nur, solange sich \Macro{lastpenalty} + seit dem letzten Eintrag nicht geändert hat. + + Initialisiert wird die Eigenschaft mit \Macro{LastTOCLevelWasSame} (siehe + \autopageref{desc:tocbasic.cmd.LastTOCLevelWasSame}), was normalerweise + dazu führt, dass ein Umbruch vor dem Eintrag begünstigt wird.% + }% + \entry{\KOption{pagenumberbox}\PName{Befehl}}{% + Normalerweise wird die zu einem Eintrag gehörende Seitenzahl rechtsbündig + in eine Box der Breite \Macro{@pnumwidth} gesetzt. Beim Stil + \PValue{tocline} kann der Befehl, der dazu verwendet wird, über diese + Eigenschaft konfiguriert werden. Der dabei anzugebende \PName{Befehl} + hat genau ein Argument zu erwarten. + + Initialisiert wird die Eigenschaft mit der bereits erwähnten Box.% + }% + \entry{\KOption{pagenumberformat}\PName{Befehl}}{% + Über diese Eigenschaft kann die Formatierung der Seitenzahl des Eintrags + verändert werden. Der dabei als Wert angegebene \PName{Befehl} hat genau + ein Argument zu erwarten. Font-Änderungen über \Option{entryformat} + erfolgen ausgehend von \Option{entryformat} gefolgt von + \Macro{normalfont}\Macro{normalsize}. + + Initialisiert wird die Eigenschaft für die \PName{Eintragsebene} + \PValue{part} mit der Ausgabe des übergebenen Arguments in + \Macro{large}\Macro{bfseries}. Für alle anderen Ebenen erfolgt die Ausgabe + in \Macro{normalfont}\Macro{normalcolor}.% + }% + \entry{\KOption{raggedpagenumber}\PName{Schalter}}{% + \PName{Schalter} ist einer der Werte für einfache Schalter aus + \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. + Ist der Schalter beim Stil \PValue{tocline} aktiviert, so wird die + Seitenzahl nicht zwingend rechtsbündig gesetzt. + + Je nach Wert der Eigenschaft \PValue{linefill} kann sich das + Setzen dieses Schalters nur im Erscheinen oder Verschwinden einer Warnung + oder auch konkret in der Formatierung der Einträge auswirken. Es ist also + wichtig, diese beiden Eigenschaften zueinander passend zu setzen. + + In der Voreinstellung ist dieser Schalter nicht gesetzt und passt damit + zur Initialisierung von \PValue{linefill} sowohl mit \Macro{hfill} als + auch mit \Macro{TOCLineLeaderFill}.% + }% +\end{desclist}% +% +\EndIndex{Cmd}{DeclareTOCStyleEntry}% + +\begin{Declaration} + \Macro{DeclareTOCEntryStyle}\Parameter{Stil}% + \OParameter{Initialisierungscode}% + \Parameter{Befehlscode}\\ + \Macro{DefineTOCEntryOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Code}\\ + \Macro{DefineTOCEntryBooleanOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Präfix}% + \Parameter{Postfix}% + \Parameter{Erklärung}\\% + %\OParameter{Initialisierungscode}\\ + \Macro{DefineTOCEntryCommandOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Präfix}% + \Parameter{Postfix}% + \Parameter{Erklärung}\\% + %\OParameter{Initialisierungscode}\\ + \Macro{DefineTOCEntryIfOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Präfix}% + \Parameter{Postfix}% + \Parameter{Erklärung}\\% + %\OParameter{Initialisierungscode}\\ + \Macro{DefineTOCEntryLengthOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Präfix}% + \Parameter{Postfix}% + \Parameter{Erklärung}\\% + %\OParameter{Initialisierungscode}\\ + \Macro{DefineTOCEntryNumberOption}\Parameter{Option}\OParameter{Säumniswert}% + \Parameter{Präfix}% + \Parameter{Postfix}% + \Parameter{Erklärung}% + %\OParameter{Initialisierungscode}% +\end{Declaration} +\BeginIndex{Cmd}{DeclareTOCEntryStyle}% +\BeginIndex{Cmd}{DefineTOCEntryOption}% +\BeginIndex{Cmd}{DefineTOCEntryBooleanOption}% +\BeginIndex{Cmd}{DefineTOCEntryCommandOption}% +\BeginIndex{Cmd}{DefineTOCEntryIfOption}% +\BeginIndex{Cmd}{DefineTOCEntryLengthOption}% +\BeginIndex{Cmd}{DefineTOCEntryNumberOption}% +\Macro{DeclareTOCEntryStyle}\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} ist +eine der komplexesten Anweisungen in \KOMAScript. Sie richtet sich daher +ausdrücklich an \LaTeX-Entwickler und nicht an \LaTeX-Anwender. Mit ihrer +Hilfe ist es möglich, einen neuen \PName{Stil} für Verzeichniseinträge zu +definieren. Üblicherweise werden Verzeichniseinträge mit +\Macro{addcontentsline}\IndexCmd{addcontentsline} oder bei Verwendung von +\Package{tocbasic} vorzugsweise mit +\Macro{addxcontentsline}\IndexCmd{addxcontentsline} (siehe +\autoref{sec:tocbasic.basics}, +\autopageref{desc:tocbasic.cmd.addxcontentsline}) erzeugt. Dabei schreibt +\LaTeX{} eine zugehörige Anweisung \Macro{contentsline}\IndexCmd{contentsline} +in die jeweilige Hilfsdatei. Bei Einlesen dieser Hilfsdatei führt \LaTeX{} +dann für jedes \Macro{contentsline} eine Anweisung +\Macro{l@\PName{Eintragsebene}} aus. + +Wird später einer \PName{Eintragsebene} über \Macro{DeclareTOCStyleEntry} der +\PName{Stil} zugewiesen, so wird zunächst der optionale +\PName{Initialisierungscode} ausgeführt und dann +\Macro{l@\PName{Eintragsebene}} als \PName{Befehlscode} +definiert. \PName{Befehlscode} ist also letztlich der Code, der bei +\Macro{l@\PName{Eintragsebene}} ausgeführt wird. Dabei ist \texttt{\#1} der +Name der Eintragsebene, während \texttt{\#\#1} und \texttt{\#\#2} Platzhalter +für die beiden Argumente von \Macro{l@\PName{Eintragsebene}} sind. + +Der \PName{Initialisierungscode} dient einerseits dazu, alle Einstellungen zu +initialisieren. Entwickler sollten darauf achten, dass wirklich alle +Einstellungen hier bereits einen Wert erhalten, damit +\Macro{DeclareTOCStyleEntry} auch ohne Angabe einer \PName{Optionenliste} +fehlerfrei funktioniert. Darüber hinaus hat der \PName{Initialisierungscode} +auch alle Optionen, die der jeweilige Stil versteht, zu definieren. Zwingend +vordefiniert wird lediglich \Option{level}. Der eingestellte Wert für +\Option{level} kann in \PName{Befehlscode} mit +\Macro{@nameuse}\PParameter{\#1tocdepth}% +\important{\Macro{\PName{Eintragsebene}tocdepth}} +abgefragt werden, um ihn beispielsweise mit dem Wert des Zählers +\Counter{tocdepth}\IndexCounter{tocdepth} zu vergleichen. + +Zur Definition neuer Optionen zur Einstellung von Eigenschaften einer +Eintragsebene stehen nur innerhalb von \PName{Initialisierungscode} die +Anweisungen \Macro{DefineTOCEntryBooleanOption}, +\Macro{DefineTOCEntryCommandOption}, \Macro{DefineTOCEntryIfOption}, +\Macro{DefineTOCEntryLengthOption} und \Macro{DefineTOCEntryNumberOption}. +All diese Anweisungen definieren jeweils eine \PName{Option}, die bei ihrem +Aufruf eine Anweisung +\Macro{\PName{Präfix}\PName{Eintragsebene}\PName{Postfix}} mit dem übergebenen +Wert oder bei Fehlen einer Wertzuweisung mit dem \PName{Säumniswert} +definieren. Eine Besonderheit stellt \Macro{DefineTOCEntryIfOption} dar. Diese +definiert \Macro{\PName{Präfix}\PName{Eintragsebene}\PName{Postfix}} immer als +Anweisung mit zwei Argumenten. Ist der an die Option übergebene Wert einer der +Aktivierungswerte aus \autoref{tab:truefalseswitch}, +\autopageref{tab:truefalseswitch}, so expandiert die Anweisung zum ersten +Argument. Ist der an die Option übergebene Wert hingegen ein +Deaktivierungswert, so expandiert die Anweisung zum zweiten Argument. + +Die \PName{Erklärung} sollte ein möglichst kurzer Text sein, der den Sinn der +Option mit wenigen Schlagworten beschreibt. Er wird von \Package{tocbasic} bei +Fehlermeldungen, Warnungen und Informationen auf dem Terminal und in der +\File{log}-Datei ausgegeben. + +Der einfachste Stil von \Package{tocbasic}, \PValue{gobble}, wurde mit +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \DeclareTOCEntryStyle{gobble}{}% +\end{lstcode} +definiert. Würde man nun mit +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \DeclareTOCStyleEntry[level=1]{gobble}{dummy} +\end{lstcode} +eine Eintragsebene \PValue{dummy} in diesem Stil definieren, so würde das +unter anderem +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \def\dummytocdepth{1} + \def\l@dummy#1#2{} +\end{lstcode} +entsprechen. + +Innerhalb von Stil \PValue{tocline} wird beispielsweise +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \DefineTOCEntryCommandOption{linefill}[\TOCLineLeaderFill]% + {scr@tso@}{@linefill}{filling between text and page number}% +\end{lstcode} +verwendet, um Option \Option{linefill} mit dem \PName{Säumniswert} +\Macro{TOCLineLeaderFill} zu definieren. Ein Aufruf wie +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \RedeclareTOCStyleEntry[linefill]{tocline}{part} +\end{lstcode} +würde daher unter anderem die Definition +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \def\scr@tso@part@linefill{\TOCLineLeaderFill} +\end{lstcode} +vornehmen. + +Wer sich selbst einen Stil definieren möchte, dem sei empfohlen, zunächst die +Definition des Stils \PValue{dottedtocline} zu studieren. Nachdem dessen +Definition verstanden wurde, gibt dann die deutlich komplexere Definition von +Stil \PValue{tocline} viele Hinweise darauf, wie die Anweisungen sinnvoll zu +verwenden sind. + +In vielen Fällen wird es jedoch auch ausreichen, einen der vorhandenen Stile +mit \Macro{CloneTOCEntryStyle} zu klonen und dann dessen Initialisierungscode +mit \Macro{TOCEntryStyleInitCode} oder \Macro{TOCEntryStyleStartInitCode} +abzuändern. + +\Macro{DefineTOCEntryOption} dient eher der Definition der übrigen +Anweisungen und sollte in der Regel nicht direkt verwendet +werden. Normalerweise besteht dafür auch keine Notwendigkeit. Sie sei hier +nur der Vollständigkeit halber erwähnt.% +\EndIndex{Cmd}{DefineTOCEntryNumberOption}% +\EndIndex{Cmd}{DefineTOCEntryLengthOption}% +\EndIndex{Cmd}{DefineTOCEntryIfOption}% +\EndIndex{Cmd}{DefineTOCEntryCommandOption}% +\EndIndex{Cmd}{DefineTOCEntryBooleanOption}% +\EndIndex{Cmd}{DefineTOCEntryOption}% +\EndIndex{Cmd}{DeclareTOCEntryStyle}% + +\begin{Declaration} + \Macro{CloneTOCEntryStyle}\Parameter{Stil}\Parameter{neuer Stil}% +\end{Declaration} +\BeginIndex{Cmd}{CloneTOCEntryStyle}% +Mit\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} dieser Anweisung kann ein +existierender \PName{Stil} geklont werden. Dabei wird ein \PName{neuer Stil} +mit denselben Eigenschaften und Voreinstellungen wie der existierende +\PName{Stil} deklariert. Das Paket selbst verwendet +\Macro{CloneTOCEntryStyle}, um den Stil \PValue{default} als Klon von +\PValue{dottedtocline} zu deklarieren. Die \KOMAScript-Klassen verwenden die +Anweisung um die Stile \PValue{part}, \PValue{section} und \PValue{chapter} +oder \PValue{subsection} als Klon von \PValue{tocline} zu deklarieren und den +Stil \PValue{default} neu als Klon von \PValue{section} beziehungsweise +\PValue{subsection} zu deklarieren.% +\EndIndex{Cmd}{CloneTOCEntryStyle}% + +\begin{Declaration} + \Macro{TOCEntryStyleInitCode}\Parameter{Stil}% + \Parameter{Initialisierungscode}\\ + \Macro{TOCEntryStyleStartInitCode}\Parameter{Stil}% + \Parameter{Initialisierungscode} +\end{Declaration} +\BeginIndex{Cmd}{TOCEntryStyleInitCode}% +\BeginIndex{Cmd}{TOCEntryStyleStartInitCode}% +Jeder\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} Verzeichniseintragsstil +verfügt über einen Initialisierungscode. Dieser wird immer dann aufgerufen, +wenn einer Verzeichnisebene der entsprechende \PName{Stil} mit +\Macro{DeclareTOCEntryStyle}\IndexCmd{DeclareTOCEntryStyle} zugewiesen +wird. Dieser \PName{Initialisierungscode} sollte keine globalen Seiteneffekte +aufweisen, da er auch für lokale Initialisierungen innerhalb anderer +Anweisungen wie \Macro{DeclareNewTOC}\IndexCmd{DeclareNewTOC} verwendet +wird. Der \PName{Initialisierungscode} dient einerseits dazu, Eigenschaften +für den jeweiligen \PName{Stil} zu definieren. Er setzt aber auch die +Standardeinstellungen für diese Eigenschaften. + +Mit Hilfe von \Macro{TOCEntryStyleStartInitCode} und +\Macro{TOCEntryStyleInitCode} kann der für einen \PName{Stil} bereits +definierte Initialisierungscode um weiteren \PName{Initialisierungscode} +erweitert werden. Dabei fügt \Macro{TOCEntryStyleStartInitCode} den neuen +\PName{Intialisierungscode} vorn an, während \Macro{TOCEntryStyleInitCode} den +\PName{Initialisierungscode} hinten an den vorhandenen Code anfügt. Dies wird +beispielsweise von den \KOMAScript-Klassen verwendet, um für den von +\PValue{tocline} geklonten Stil \PValue{part} Füllung, Schrift und vertikalen +Abstand passend zu initialisieren. Die Klassen \Class{scrbook} und +\Class{scrreprt} verwenden beispielsweise +\begin{lstcode}[belowskip=\dp\strutbox plus 1pt] + \CloneTOCEntryStyle{tocline}{section} + \TOCEntryStyleStartInitCode{section}{% + \expandafter\providecommand% + \csname scr@tso@#1@linefill\endcsname + {\TOCLineLeaderFill\relax}% + } +\end{lstcode} +um den Stil \PValue{section} als abgewandelten Klon von \PValue{tocline} zu +definieren.% +\EndIndex{Cmd}{TOCEntryStyleStartInitCode}% +\EndIndex{Cmd}{TOCEntryStyleInitCode}% + +\begin{Declaration} + \Macro{LastTOCLevelWasHigher}\\ + \Macro{LastTOCLevelWasSame}\\ + \Macro{LastTOCLevelWasLower} +\end{Declaration} +\BeginIndex{Cmd}{LastTOCLevelWasHigher}% +\BeginIndex{Cmd}{LastTOCLevelWasSame}% +\BeginIndex{Cmd}{LastTOCLevelWasLower}% +Bei\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} Einträgen im Stil +\PValue{tocline} wird am Anfang abhängig von \Macro{lastpenalty} eine dieser +drei Anweisungen ausgeführt. Dabei fügen \Macro{LastTOCLevelWasHigher} und +\Macro{LastTOCLevelWasSame} im vertikalen Modus +\Macro{addpenalty}\PParameter{\Macro{@lowpenalty}} ein und ermöglichen so +einen Umbruch vor Einträgen gleicher oder übergeordneter +Ebene. \Macro{LastTOCLevelWasLower} ist hingegen bisher leer definiert, so +dass zwischen einem Eintrag und seinem ersten Untereintrag normalerweise ein +Umbruch untersagt ist. + +Anwender sollten diese Anweisungen nicht umdefinieren. Stattdessen können und +sollten Änderungen für die jeweiligen Eintragsebenen gezielt über die +Eigenschaften \PValue{onstartlowerlevel}, \PValue{onstartsamelevel} und +\PValue{onstarthigherlevel} vorgenommen werden.% +\EndIndex{Cmd}{LastTOCLevelWasLower}% +\EndIndex{Cmd}{LastTOCLevelWasSame}% +\EndIndex{Cmd}{LastTOCLevelWasHigher}% + + +\begin{Declaration} + \Macro{TOCLineLeaderFill}\OParameter{Füllzeichen} +\end{Declaration} +\BeginIndex{Cmd}{TOCLineLeaderFill}% +Die\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} Anweisung ist dazu gedacht +als Wert für die Eigenschaft \Option{linefill} des Verzeichniseintragsstils +\PName{tocline} verwendet zu werden. Sie erzeugt dann eine Verbindung zwischen +dem Ende des Textes eines Eintrags und der zugehörigen Seitenzahl. Das +\PName{Füllzeichen}, das dazu in regelmäßigem Abstand wiederholt wird, kann +als optionales Argument angegeben werden. Voreinstellung ist ein Punkt. + +Wie der Name schon vermuten lässt, werden die Füllzeichen mit Hilfe von +\Macro{leaders} gesetzt. Als Abstand wird wie bei \Macro{@dottedtocline} aus +dem \LaTeX-Kern vor und nach dem Füllzeichen +\Macro{mkern}\Macro{@dotsep}\Unit{\texttt{mu}} verwendet.% +\EndIndex{Cmd}{TOCLineLeaderFill}% +% +\EndIndex{}{Verzeichnis>Eintrag} + + \section{Interne Anweisungen für Klassen- und Paketautoren} \seclabel{internals} @@ -1039,7 +1993,7 @@ leeren Argument wird dem \PName{Eintrag} ein \Macro{nonumberline} ohne Argument vorangestellt. Anderenfalls wird wie gewohnt \Macro{numberline} mit \PName{Gliederungsnummer} als Argument verwendet. -Die Anweisung \PName{nonumberline} wird innerhalb \Macro{listoftoc} (siehe +Die Anweisung \Macro{nonumberline} wird innerhalb \Macro{listoftoc} (siehe \autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.listoftoc}) entsprechend der Eigenschaft \PValue{numberline} (siehe \autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.setuptoc}) @@ -1050,6 +2004,35 @@ bereits beim nächsten \LaTeX-Lauf aus.% \EndIndex{Cmd}{tocbasic@addxcontentsline}% +\begin{Declaration} + \Macro{tocbasic@DependOnPenaltyAndTOCLevel}\Parameter{Eintragsebene}\\ + \Macro{tocbasic@SetPenaltyByTOCLevel}\Parameter{Eintragsebene} +\end{Declaration} +\BeginIndex{Cmd}{tocbasic@DependOnPenaltyAndTOCLevel}% +\BeginIndex{Cmd}{tocbasic@SetPenaltyByTOCLevel}% +Der\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} Verzeichniseintragsstil +\PValue{tocline} (siehe \autoref{sec:tocbasic.tocstyle}) setzt am Ende jedes +Eintrags \Macro{penalty} so, dass nach einem Eintrag kein Seitenumbruch +erfolgen darf. Dabei wird der genaue Wert abhängig von der +\PName{Eintragsebene} gewählt. Dies erledigt +\Macro{tocbasic@SetPenaltyByTOCLevel}. Am Anfang eines Eintrags wird dann über +\Macro{tocbasic@DependOnPenaltyAndTOCLevel} abhängig von \Macro{lastpenalty} +und der aktuellen \PName{Eintragsebene} die über die Eigenschaften +\Option{onstartlowerlevel}, \Option{onstartsamelevel} oder +\Option{onstarthigherlevel} festgelegte Aktion eines der internen Makros +\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasHigher}, +\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasSame} oder +\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasLower} ausgeführt. In der +Voreinstellung erlauben die ersten beiden einen Umbruch, wenn sie im +vertikalen Modus ausgeführt werden. + +Entwickler, die eigene Stile kompatibel mit Stil \PValue{tocline} erstellen +wollen, sei empfohlen, dieses Verhalten zu kopieren. Zu diesem Zweck dürfen +sie auf diese eigentlich internen Makros zurückgreifen.% +\EndIndex{Cmd}{tocbasic@SetPenaltyByTOCLevel}% +\EndIndex{Cmd}{tocbasic@DependOnPenaltyAndTOCLevel}% + + \section{Ein komplettes Beispiel} \seclabel{example} @@ -1155,8 +2138,8 @@ Titel definieren und dann beispielsweise mit Hilfe des Pakets will. Siehe dazu \autoref{sec:scrbase.languageSupport}, ab \autopageref{sec:scrbase.languageSupport}. -Jetzt\textnote{Verzeichniseintrag} müssen wir nur noch definieren, wie ein -einzelner Eintrag in dem Verzeichnis aussehen soll: +Jetzt\textnote{Verzeichniseintrag}\index{Verzeichnis>Eintrag} müssen wir nur +noch definieren, wie ein einzelner Eintrag in dem Verzeichnis aussehen soll: % Umbruchkorrektur: listings korrigiert! \begin{lstcode}[belowskip=\dp\strutbox plus 1pt] \newcommand*{\l@remarkbox}{\l@figure} @@ -1203,14 +2186,15 @@ unterstützen, angepasst gesetzt. Unterstützende Klassen beachten das neue Verzeichnis sogar beim Wechsel zu einem neuen Kapitel. Sprachumschaltungen durch \Package{babel} werden in dem Verzeichnis ebenfalls berücksichtigt. -Natürlich\textnote{Verzeichniseigenschaften} kann ein Paketautor weiteres hinzufügen. So -könnte er explizit Optionen anbieten, um die Verwendung von \Macro{setuptoc} -vor dem Anwender zu verbergen. Andererseits kann er auch auf diese Anleitung -zu \Package{tocbasic} verweisen, wenn es darum geht, die entsprechenden -Möglichkeiten zu erklären. Vorteil ist dann, dass der Anwender automatisch von -etwaigen zukünftigen Erweiterungen von \Package{tocbasic} profitiert. Soll der -Anwender aber nicht mit der Tatsache belastet werden, dass für die Merksätze -die Dateierweiterung \File{lor} verwendet wird, so genügt +Natürlich\textnote{Verzeichniseigenschaften} kann ein Paketautor weiteres +hinzufügen. So könnte er explizit Optionen anbieten, um die Verwendung von +\Macro{setuptoc} vor dem Anwender zu verbergen. Andererseits kann er auch auf +diese Anleitung zu \Package{tocbasic} verweisen, wenn es darum geht, die +entsprechenden Möglichkeiten zu erklären. Vorteil ist dann, dass der Anwender +automatisch von etwaigen zukünftigen Erweiterungen von \Package{tocbasic} +profitiert. Soll der Anwender aber nicht mit der Tatsache belastet werden, +dass für die Merksätze die Dateierweiterung \File{lor} verwendet wird, so +genügt % Umbruchkorrektur: listings korrigiert! \begin{lstcode}[belowskip=\dp\strutbox plus 1pt] \newcommand*{\setupremarkboxes}{\setuptoc{lor}} @@ -1256,6 +2240,28 @@ Optionen\textnote{Achtung!} können jedoch \emph{nicht} mit \Macro{KOMAoptions}\IndexCmd{KOMAoptions} gesetzt werden! Eine Übersicht über die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab \autopageref{tab:tocbasic.DeclareNewTOC-options}. + +Wird\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} Option +\Option{tocentrystyle} nicht gesetzt, so wird bei Bedarf der Stil +\PValue{default} verwendet. Näheres zu diesem Stil ist +\autoref{sec:tocbasic.tocstyle} zu entnehmen. Soll kein Befehl für +Verzeichniseinträge definiert werden, so kann ein leeres Argument, also +wahlweise \OptionValue{tocentrystyle}{} oder +\OptionValue{tocentrystyle}{\PParameter{}} verwendet werden. Dies birgt +allerdings das Risiko, dass bei Ausgabe des entsprechenden Verzeichnisses +diverse Fehler gemeldet werden. + +Abhängig\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} vom Stil der +Verzeichniseinträge können auch alle für diesen Stil gültigen Eigenschaften +gesetzt werden, indem die entsprechenden in +\autoref{tab:tocbasic.tocstyle.attributes} ab +\autopageref{tab:tocbasic.tocstyle.attributes} aufgeführten Namen mit dem +Präfix \PValue{toc} versehen in der \PName{Optionenliste} angegeben +werden. Nachträgliche Änderungen am Stil sind mit +\Macro{DeclareTOCStyleEntry}% +\IndexCmd{DeclareTOCStyleEntry}\important{\Macro{DeclareTOCStyleEntry}} +jederzeit möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, +\autopageref{desc:tocbasic.cmd.DeclareTOCStyleEntry}. % \begin{Example} Das Beispiel aus \autoref{sec:tocbasic.example} kann mit Hilfe der neuen @@ -1349,7 +2355,7 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab \label{rem:typo1} \end{remarkbox} \end{lstcode} - Ein Ausschitt aus einer Beispielseite mit dieser Umgebung könnte dann so + Ein Ausschnitt aus einer Beispielseite mit dieser Umgebung könnte dann so aussehen: \begin{center}\footnotesize \begin{tabular} @@ -1380,6 +2386,14 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab }{% Optionen für die Anweisung \Macro{DeclareNewTOC} (\emph{Fortsetzung})% }% + \entry{\KOption{atbegin}\PName{Code}\ChangedAt{v3.09}{\Package{tocbasic}}}{% + Falls eine neue Gleitumgebung oder nicht gleitende Umgebung definiert + wird, so wird \PName{Code} jeweils am Anfang dieser Umgebung ausgeführt.% + }% + \entry{\KOption{atend}\PName{Code}\ChangedAt{v3.09}{\Package{tocbasic}}}{% + Falls eine neue Gleitumgebung oder nicht gleitende Umgebung definiert + wird, so wird \PName{Code} jeweils am Ende dieser Umgebung ausgeführt.% + }% \entry{\KOption{counterwithin}\PName{\LaTeX-Zähler}}{% Falls eine neue Gleitumgebung oder eine nicht gleitende Umgebung definiert wird, so wird für diese auch ein neuer Zähler @@ -1414,23 +2428,45 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab \entry{\Option{forcenames}}{% Siehe Option \Option{name} und \Option{listname}.}% \entry{\KOption{hang}\PName{Einzug}}{% - Mehrzeilige Verzeichniseinträge in hierarchisch angeordneten - Verzeichnissen besitzen ab der zweiten Zeile einen Einzug von - links. Dieser Einzug wird auch für die Position des Textes in der ersten - Zeile eines nummerierten Eintrags verwendet. Der Wert des Einzugs kann - über diese Option bestimmt werden. Ohne diese Option wird als - \PName{Einzug} 1,5\Unit{em} verwendet.}% + \ChangedAt{v3.20}{\Package{tocbasic}}% + Diese Option gilt seit \KOMAScript~3.20 als überholt. Die Breite der + Nummer des Verzeichniseintrags\index{Verzeichnis>Eintrag} ist nun + stattdessen als Eigenschaft in Abhängigkeit des Verzeichniseintragsstils + von Option \Option{tocentrystyle} anzugeben. Bei den Stilen von + \KOMAScript{} wäre das beispielsweise die Eigenschaft \PValue{numwidth} + und damit Option \Option{tocnumwidth}. Besitzt ein Stil diese Eigenschaft, + so wird sie von \Macro{DeclareNewTOC} mit 1,5\Unit{em} + voreingestellt. Diese Voreinstellung kann durch explizite Angabe von + \KOption{tocnumwidth}\PName{Wert} leicht mit einem anderen \PName{Wert} + überschrieben werden. Für Abbildungen verwenden die \KOMAScript-Klassen + beispielsweise den \PName{Wert} \PValue{2.3em}.}% \entry{\KOption{indent}\PName{Einzug}}{% - In der hierarchischen Form besitzt jeder Verzeichniseintrag einen Einzug - von links. Der Wert des Einzugs kann über diese Option bestimmt - werden. Ohne diese Option wird als \PName{Einzug} 1\Unit{em} verwendet.}% + \ChangedAt{v3.20}{\Package{tocbasic}}% + Diese Option gilt seit \KOMAScript~3.20 als überholt. Der Einzug des + Verzeichniseintrags\index{Verzeichnis>Eintrag} von links ist nun + stattdessen als Eigenschaft in Abhängigkeit des Verzeichniseintragsstils + von Option \Option{tocentrystyle} anzugeben. Bei den Stilen von + \KOMAScript{} wäre das beispielsweise die Eigenschaft \PValue{indent} und + damit Option \Option{tocindent}. Besitzt ein Stil diese Eigenschaft, so + wird sie von \Macro{DeclareNewTOC} mit 1\Unit{em} voreingestellt. Diese + Voreinstellung kann durch explizite Angabe von + \KOption{tocindent}\PName{Wert} leicht mit einem anderen \PName{Wert} + überschrieben werden. Für Abbildungen verwenden die \KOMAScript-Klassen + beispielsweise den \PName{Wert} \PValue{1.5em}.}% \entry{\KOption{level}\PName{Gliederungsebene}}{% - Jeder Eintrag in ein Verzeichnis hat eine nummerische - \PName{Gliederungsebene}, die über diese Option gesetzt werden kann. Ist - diese Option nicht angegeben, so wird der Standardwert 1 verwendet.}% + \ChangedAt{v3.20}{\Package{tocbasic}}% + Diese Option gilt seit \KOMAScript~3.20 als überholt. Der nummerische Wert + der Ebene des Verzeichniseintrags\index{Verzeichnis>Eintrag} ist nun + stattdessen als Eigenschaft in Abhängigkeit des Verzeichniseintragsstils + von Option \Option{tocentrystyle} anzugeben. Nichts desto trotz haben alle + Stile die Eigenschaft \PValue{level} und damit Option + \Option{toclevel}. Die Eigenschaft wird von \Macro{DeclareNewTOC} mit 1 + voreingestellt. Diese Voreinstellung kann durch explizite Angabe von + \KOption{toclevel}\PName{Wert} leicht mit einem anderen \PName{Wert} + überschrieben werden.}% \entry{\KOption{listname}\PName{Verzeichnistitel}}{% Jedes Verzeichnis hat eine Überschrift, die durch diese Option bestimmt - werden kann. Ist die Option nicht angegeben, so wir als Verzeichnistitel + werden kann. Ist die Option nicht angegeben, so wird als Verzeichnistitel »\texttt{List of \PName{Mehrzahl des Eintragstyps}}« (siehe Option \PName{types}) verwendet, wobei das erste Zeichen der \PName{Mehrzahl des Eintragstyps} in einen Großbuchstaben gewandelt wird. Es wird auch ein @@ -1462,6 +2498,17 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab kein Besitzer angegeben, so wird der Besitzer »\PValue{float}« verwendet, den auch die \KOMAScript-Klassen für das Abbildungs- und das Tabellenverzeichnis verwenden.}% + \entry{\KOption{tocentrystyle}\PName{Eintragsstil}}{% + \ChangedAt[2016/03]{v3.20}{\Package{tocbasic}}% + \PName{Eintragsstil} gibt den Stil an, den Einträge in das entsprechende + Verzeichnis haben sollen. Der Name der Eintragsebene wird dabei über + Option \Option{type} bestimmt. Zusätzlich zu den Optionen dieser Tabelle + können auch alle Eigenschaften des Stils als Optionen angegeben werden, + indem die Namen der Eigenschaften mit dem Präfix \PValue{toc} ergänzt + werden. So kann der nummerische Wert der Ebene beispielsweise als + \Option{toclevel} angegeben werden. Näheres zu den Stilen ist + \autoref{sec:tocbasic.tocstyle} ab \autopageref{sec:tocbasic.tocstyle} zu + entnehmen.}% \entry{\KOption{type}\PName{Eintragstyp}}{% \PName{Eintragstyp} gibt den Typ der Einträge in das entsprechende Verzeichnis an. Der Typ wird auch als Basisname für verschiedene Makros @@ -1476,7 +2523,13 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab so wird als \PName{Mehrzahl des Eintragstyps} einfach »\PName{Eintragstyp}s« verwendet.}% \end{desclist} -% + +Benutzer von \Package{hyperref}\IndexPackage{hyperref} sollten Option +\Option{listname} übrigens immer angeben. Anderenfalls kommt es in der Regel +zu einer Fehlermeldung, weil \Package{hyperref} nicht mit dem +\Macro{MakeUppercase} im Namen des Verzeichnisses zurecht kommt, das benötigt +wird, um den ersten Buchstaben des Wert von \Option{types} in Großbuchstaben +zu wandeln.% \EndIndex{Cmd}{DeclareNewTOC}% % \EndIndex{}{Verzeichnis}% @@ -1494,3 +2547,13 @@ die möglichen Optionen bietet \autoref{tab:tocbasic.DeclareNewTOC-options} ab %%% End: % LocalWords: Verzeichnisdatei Klonquelle Absatzabstandes Absatzabstand + +% LocalWords: Verzeichniseinträge Verzeichniseintrag Eintragsstile +% LocalWords: Inhaltsverzeichniseinträge Standardklassen Nummernbreite +% LocalWords: Standardeigenschaft Eintragsebene Optionenliste expandierbar +% LocalWords: Standardverzeichniseintragsstil Verzeichniseigenschaften +% LocalWords: Verzeichniseintragsstil Verzeichniseintragsstils Eintragsstil +% LocalWords: Kapitelüberschrift Gliederungsebene expandierbares +% LocalWords: Eintragsnummer Initialisierungscode Aktivierungswerte +% LocalWords: Deaktivierungswert Verzeichnistitel Eintragstyp Eintragstyps +% LocalWords: Verzeichniseintrags |