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 | 475 |
1 files changed, 261 insertions, 214 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 da1b3445240..843d345f9d5 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 @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{tocbasic.tex} - [$Date: 2019-10-09 15:19:04 +0200 (Wed, 09 Oct 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ KOMA-Script guide (package tocbasic)] \chapter{Verzeichnisse verwalten mit Hilfe von \Package{tocbasic}} @@ -102,20 +102,20 @@ Tabellenverzeichnis stehen. Für das Inhaltsverzeichnis verwendet \KOMAScript{} als Besitzer den Dateinamen der Klasse. \begin{Declaration} - \Macro{ifattoclist}\Parameter{Dateierweiterung} + \Macro{Ifattoclist}\Parameter{Dateierweiterung} \Parameter{Dann-Teil}\Parameter{Sonst-Teil} \end{Declaration} -Mit dieser Anweisung wird überprüft, ob die \PName{Dateierweiterung} bereits -in der Liste der bekannten Dateierweiterungen vorhanden ist oder nicht. Ist -die \PName{Dateierweiterung} bereits über diese Liste bekannt, so wird der -\PName{Dann-Teil} ausgeführt. Anderenfalls wird der \PName{Sonst-Teil} -ausgeführt. +Mit\ChangedAt{v3.28}{\Package{tocbasic}} dieser Anweisung wird überprüft, ob +die \PName{Dateierweiterung} bereits in der Liste der bekannten +Dateierweiterungen vorhanden ist oder nicht. Ist die \PName{Dateierweiterung} +bereits über diese Liste bekannt, so wird der \PName{Dann-Teil} +ausgeführt. Anderenfalls wird der \PName{Sonst-Teil} ausgeführt. \begin{Example} Angenommen, Sie wollen wissen, ob die Dateierweiterung »\File{foo}« bereits verwendet wird, um in diesem Fall eine Fehlermeldung auszugeben, weil diese damit nicht mehr verwendet werden kann: \begin{lstcode} - \ifattoclist{foo}{% + \Ifattoclist{foo}{% \PackageError{bar}{% extension `foo' already in use% }{% @@ -130,7 +130,8 @@ ausgeführt. } \end{lstcode} \end{Example} -\EndIndexGroup +\EndIndexGroup% +\ExampleEndFix \begin{Declaration} @@ -149,12 +150,12 @@ und als \PName{Besitzer} zu speichern. Dies\textnote{Achtung!} funktioniert nur, wenn \Macro{addtotoclist} während des Ladens der Klasse oder des Pakets aufgerufen wird. Es funktioniert nicht, wenn \Macro{addtotoclist} erst später aufgrund der Verwendung einer Anweisung durch den Benutzer aufgerufen wird. In -diesem Fall wird als \PName{Besitzer} »\PValue{.}« eingetragen. +diesem Fall wird ein leerer \PName{Besitzer} eingetragen. Beachten\textnote{Achtung!} Sie, dass ein leeres Argument \PName{Besitzer} -nicht das Gleiche ist wie das Weglassen des kompletten optionalen Arguments -einschließlich der eckigen Klammern. Ein leeres Argument würde auch einen -leeren \PName{Besitzer} ergeben. +nicht immer das Gleiche ist wie das Weglassen des kompletten optionalen +Arguments einschließlich der eckigen Klammern. Ein leeres Argument würde immer +einen leeren \PName{Besitzer} ergeben. \begin{Example} Angenommen, Sie wollen die Dateierweiterung »\File{foo}« der Liste der bekannten Dateierweiterungen hinzufügen, während Ihr Paket mit dem @@ -167,15 +168,15 @@ leeren \PName{Besitzer} ergeben. Erweiterung nicht bereits in der Liste ist. Wenn die verwendete Klasse oder ein anderes Paket diese Dateierweiterung schon angemeldet hat, erhalten Sie den Fehler: -\begin{lstoutput} +\begin{lstoutput}[breakatwhitespace] Package tocbasic Error: file extension `foo' cannot be used twice See the tocbasic package documentation for explanation. Type H <return> for immediate help. \end{lstoutput} Wenn Sie dann tatsächlich die Taste »\texttt{H}«, gefolgt von der - Return-Taste drücken, erhalten Sie als Hilfe: -\begin{lstoutput} + Eingabe-Taste drücken, erhalten Sie als Hilfe: +\begin{lstoutput}[breakatwhitespace] File extension `foo' is already used by a toc-file, while bar.sty tried to use it again for a toc-file. This may be either an incompatibility of packages, an error at a package, @@ -209,23 +210,22 @@ wären, könnten Sie als \PName{Besitzer} auch die Kategorie »\PValue{float}« anstelle von »\PValue{float.sty}« angeben. In diesem Fall würden die \KOMAScript-Optionen\important{\DescRef{maincls.option.listof}}% \IndexOption{listof~=\PName{Einstellung}} für das Verzeichnis der Abbildungen -und das Verzeichnis der Tabellen auch Ihre Verzeichnisse betreffen, die zum -Zeitpunkt der Verwendung der jeweiligen Option bereits zur Liste der bekannten -Dateierweiterungen hinzugefügt sind. Das liegt daran, dass \KOMAScript{} die -Dateierweiterungen »\PValue{lof}« für das Abbildungsverzeichnis und -»\PValue{lot}« für das Tabellenverzeichnis mit der Kategorie »\PValue{float}« -als \PName{Besitzer} anmeldet und die Optionen für diesen Besitzer setzt. +und das Verzeichnis der Tabellen auch Ihre Verzeichnisse betreffen. Das liegt +daran, dass \KOMAScript{} die Dateierweiterungen »\PValue{lof}« für das +Abbildungsverzeichnis und »\PValue{lot}« für das Tabellenverzeichnis mit der +Kategorie »\PValue{float}« als \PName{Besitzer} anmeldet und die Optionen für +diesen Besitzer setzt. Das Paket \hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}% \important{ \hyperref[cha:scrhack]{\Package{scrhack}}} enthält übrigens Patches für mehrere Pakete wie \Package{float} oder \Package{listings}, die eigene Verzeichnisse bereitstellen. Bei Verwendung von -\hyperref[cha:scrhack]{\Package{scrhack}} wird dann unter anderem die -jeweilige Dateierweiterung der Liste der bekannten Dateierweiterungen -hinzugefügt. Dabei wird als \PName{Besitzer} ebenfalls »\PValue{float}« -verwendet. Dies ist sozusagen der grundlegende Baustein, um die Möglichkeiten -von \Package{tocbasic} und der \KOMAScript-Klassen auch für diese -Verzeichnisse nutzen zu können.% +\hyperref[cha:scrhack]{\Package{scrhack}} wird unter anderem die jeweilige +Dateierweiterung der Liste der bekannten Dateierweiterungen hinzugefügt. Dabei +wird als \PName{Besitzer} »\PValue{float}« verwendet. Dies ist sozusagen der +grundlegende Baustein, um die Möglichkeiten von \Package{tocbasic} und der +\KOMAScript-Klassen auch für diese Verzeichnisse automatisch nutzen zu +können.% \EndIndexGroup @@ -272,11 +272,10 @@ sein muss. Siehe dazu auch die Erklärung zu Man kann eine \PName{Dateierweiterung} auch wieder aus der Liste der bekannten Dateierweiterungen entfernen. Ist das optionale Argument \OParameter{Besitzer} angegeben, so wird die Dateierweiterung nur entfernt, wenn sie für den -angegebenen \PName{Besitzer} angemeldet wurde. Wie der Besitzer beim Weglassen -des optionalen Argument bestimmt wird, ist der Erklärung zu -\DescRef{\LabelBase.cmd.addtotoclist} zu entnehmen. Wird ein leerer -\PName{Besitzer} angegeben, findet kein Besitzertest statt, sondern die -\PName{Dateierweiterung} wird unabhängig vom Besitzer entfernt.% +angegebenen \PName{Besitzer} angemeldet wurde. Das gilt auch für den leeren +\PName{Besitzer}. Wird dagegen gar kein \OParameter{Besitzer} angegeben, +entfallen also auch die eckigen Klammern, findet kein Besitzertest statt, +sondern die \PName{Dateierweiterung} wird unabhängig vom Besitzer entfernt.% \EndIndexGroup @@ -286,7 +285,7 @@ des optionalen Argument bestimmt wird, ist der Erklärung zu Bisher haben Sie nur Anweisungen kennengelernt, die für Klassen- und Paketautoren zwar zusätzliche Sicherheit, aber auch eher zusätzlichen Aufwand bedeuten. Mit \Macro{doforeachtocfile} kann man die erste Ernte dafür -einfahren. Diese Anweisung erlaubt es die angegebenen \PName{Anweisungen} für +einfahren. Diese Anweisung erlaubt es, die angegebenen \PName{Anweisungen} für jede mit dem \PName{Besitzer} angemeldete Dateierweiterung auszuführen. Während der Ausführung der \PName{Anweisungen} ist \Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} die aktuell @@ -300,7 +299,7 @@ hingegen nur die Dateierweiterungen mit leerem Besitzer verarbeiten. \begin{lstcode} \doforeachtocfile{\typeout{\@currext}} \end{lstcode} - möglich. Sollen hingegen nur die Dateierweiterungen des Besitzer + möglich. Sollen hingegen nur die Dateierweiterungen des Besitzers »\PValue{foo}« ausgegeben werden, geht das einfach mit: \begin{lstcode} \doforeachtocfile[foo]{\typeout{\@currext}} @@ -385,7 +384,7 @@ Dateierweiterung der Datei, in die aktuell geschrieben wird. \end{Example}% \iffree{Anweisungen, die nicht bereits beim Schreiben expandiert werden sollen, sind wie bei \Macro{addtocontents} mit \Macro{protect} zu - schützen.}{}% + schützen.}{\ExampleEndFix}% \EndIndexGroup @@ -415,7 +414,7 @@ Anweisung, die von den \KOMAScript-Klassen bereitgestellt wird, wäre Anweisung nicht definiert, wird stattdessen die interne Anweisung \DescRef{\LabelBase.cmd.tocbasic@addxcontentsline} verwendet. Diese erhält alle vier Argumente als obligatorische Argumente und verwendet dann -seinerseits \Macro{addcontentsline}, um den gewünschten Eintrag +ihrerseits \Macro{addcontentsline}, um den gewünschten Eintrag vorzunehmen. Näheres zu \DescRef{\LabelBase.cmd.tocbasic@addxcontentsline} ist \autoref{sec:tocbasic.internals}, \DescPageRef{\LabelBase.cmd.tocbasic@addxcontentsline} zu entnehmen. @@ -464,11 +463,12 @@ Während des Schreibens von \PName{Inhalt} ist auch hier, wie schon bei Dateierweiterung der Datei, in die aktuell geschrieben wird.% Die Anweisung\ChangedAt{v3.12}{\Package{tocbasic}} -\Macro{addxcontentslinetoeachtocfile} ist wann immer möglich gegenüber -\Macro{addcontentslinetoeachtocfile} vorzuziehen, da die Erweiterungen von -\DescRef{\LabelBase.cmd.addxcontentsline} nur damit Anwendung finden. Näheres -zu diesen Erweiterungen und Vorteilen ist in der vorausgehenden Erklärung von -\DescRef{\LabelBase.cmd.addxcontentsline} zu finden.% +\Macro{addxcontentslinetoeachtocfile} ist gegenüber +\Macro{addcontentslinetoeachtocfile} möglichst vorzuziehen, da die +Erweiterungen von \DescRef{\LabelBase.cmd.addxcontentsline} nur damit +Anwendung finden. Näheres zu diesen Erweiterungen und Vorteilen ist in der +vorausgehenden Erklärung von \DescRef{\LabelBase.cmd.addxcontentsline} zu +finden.% % \EndIndexGroup @@ -505,14 +505,12 @@ und eine Warnung ausgegeben. Die\important{\Macro{listofeachtoc}} Anweisung \Macro{listofeachtoc} gibt alle Verzeichnisse mit dem angegebenen Besitzer oder alle Verzeichnisse aller -bekannten Dateinamenerweiterungen aus. Dabei\textnote{Achtung!} sollte -\Macro{listof\PName{Dateierweiterung}name} definiert sein, damit der korrekte -Titel ausgegeben werden kann. - -Da\textnote{Tipp!} eventuell auch der Anwender selbst -\Macro{listoftoc} ohne optionales Argument oder \Macro{listofeachtoc} verwenden -könnte, wird empfohlen \Macro{listof\PName{Dateierweiterung}name} immer -passend zu definieren. +bekannten Dateinamenerweiterungen aus. Damit\textnote{Achtung!} dabei der +korrekte Titel ausgegeben werden kann, sollte +\Macro{listof\PName{Dateierweiterung}name} passend definiert sein. +Da\textnote{Tipp!} eventuell auch der Anwender selbst \Macro{listoftoc} ohne +optionales Argument oder \Macro{listofeachtoc} verwenden könnte, wird dies +ohnehin empfohlen. \begin{Example} Angenommen, Sie haben ein neues »Verzeichnis der Algorithmen« mit der Dateierweiterung »\PValue{loa}« und wollen dieses anzeigen lassen: @@ -559,7 +557,7 @@ dieser Anweisungen zu einer Fehlermeldung der Art führen, wenn keine Schreibdateien mehr zur Verfügung stehen. Abhilfe kann in diesem Fall das Laden des in \autoref{cha:scrwfile} beschriebenen Pakets \Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile} -bieten. +oder die Verwendung von Lua\LaTeX{} bieten. Das Paket \hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}% \important{ \hyperref[cha:scrhack]{\Package{scrhack}}} enthält übrigens @@ -623,7 +621,7 @@ das unveränderte Argument selbst. Bei Verwendung einer anderen Klasse ist Die Anweisung wird von \Package{tocbasic} jedoch nur definiert, wenn sie nicht bereits definiert ist. Sie kann also in einer Klasse in der gewünschten Weise vorbelegt werden und wird dann von \Package{tocbasic} nicht umdefiniert, -sondern verwendet wie vorgefunden. +sondern wie vorgefunden verwendet. \begin{Example} Sie wollen aus unerfindlichen Gründen, dass die Kolumnentitel in Ihrer Klasse in Kleinbuchstaben ausgegeben werden. Damit dies auch für die @@ -668,8 +666,8 @@ diese Möglichkeit einmal nicht ausreichen, so besteht die Möglichkeit, mit Verzeichnis mit einer bestimmten \PName{Dateierweiterung} zu definieren. Die Definition kann als einzigen Parameter \PValue{\#1} enthalten. Beim Aufruf der Anweisung innerhalb von \DescRef{\LabelBase.cmd.listoftoc} oder -\DescRef{\LabelBase.cmd.listofeachtoc} wird für dieses Argument dann der Titel -für das Verzeichnis übergeben. +\DescRef{\LabelBase.cmd.listofeachtoc} wird für dieses Argument der Titel +des Verzeichnisses übergeben. Die \PName{Definition} ist dann selbstverständlich auch für die Auswertung weiterer Eigenschaften, die sich auf die Überschrift beziehen, @@ -693,7 +691,7 @@ Komma getrennte Folge von \PName{Eigenschaften}. Das Paket \item[\PValue{leveldown}] bedeutet, dass das Verzeichnis nicht mit der obersten Gliederungsebene unterhalb von \DescRef{maincls.cmd.part} -- wenn vorhanden \DescRef{maincls.cmd.chapter}, sonst \DescRef{maincls.cmd.section} - -- erstellt wird, sondern mit einer Überschrift der nächst tieferen + -- erstellt wird, sondern mit einer Überschrift der nächsttieferen Gliederungsebene. Diese Eigenschaft wird von der internen Überschriftenanweisung ausgewertet. Wird\textnote{Achtung!} hingegen eine eigene Überschriftenanweisung mit \DescRef{\LabelBase.cmd.deftocheading} @@ -719,7 +717,7 @@ Komma getrennte Folge von \PName{Eigenschaften}. Das Paket Hinzufügen der Dateierweiterung zu der Liste der bekannten Dateierweiterungen gesetzt sein muss, damit sie eine Wirkung hat. \item[\PValue{noindent}]\ChangedAt{v3.27}{\Package{tocbasic}} veranlasst alle - von \KOMAScript{} bereitgestellten Verzeichniseintragsstile die Eigenschaft + von \KOMAScript{} bereitgestellten Verzeichniseintragsstile ihre Eigenschaft \PValue{indent} (siehe \autoref{tab:tocbasic.tocstyle.attributes}, \autopageref{tab:tocbasic.tocstyle.attributes.indent}) zu ignorieren und stattdessen den Einzug zu deaktivieren. @@ -727,9 +725,14 @@ Komma getrennte Folge 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\index{Verzeichnis>Eintrag} kleiner - wird als zwischen Überschriften und normalem Text. Normalerweise erhält man - daher ohne diese Eigenschaft eine einheitlichere Formatierung. + Überschrift und erstem Verzeichniseintrag\index{Verzeichnis>Eintrag} kleiner + wird als zwischen Überschriften und normalem Text. % + \iffalse% Umbruchkorrektur + Normalerweise erhält man daher ohne diese Eigenschaft eine einheitlichere + Formatierung.% + \else% + Ohne diese Eigenschaft wirkt die Formatierung daher meist einheitlicher.% + \fi% \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 @@ -768,27 +771,30 @@ Komma getrennte Folge von \PName{Eigenschaften}. Das Paket Die \KOMAScript-Klassen setzen diese Eigenschaft bei Verwendung der Option \OptionValueRef{maincls}{listof}{numberline}% - \important{\OptionValueRef{maincls}{listof}{numberline}}% + \important{\OptionValueRef{maincls}{listof}{numberline}\\ + \OptionValueRef{maincls}{toc}{numberline}% + }% \IndexOption{listof~=\textKValue{numberline}} für die Dateierweiterungen mit dem Besitzer \PValue{float} und bei Verwendung der Option \OptionValueRef{maincls}{toc}{numberline}% - \important{\OptionValueRef{maincls}{toc}{numberline}}% \IndexOption{toc~=\textKValue{numberline}} für die Dateierweiterung - \PValue{toc}. Entsprechend wird die Eigenschaft bei Verwendung von Option + \PValue{toc}. Entsprechend + wird die Eigenschaft bei Verwendung von Option \OptionValueRef{maincls}{listof}{nonumberline}% - \important{\OptionValueRef{maincls}{listof}{nonumberline}}% - \IndexOption{listof~=\textKValue{nonumberline}} oder + \important{% + \OptionValueRef{maincls}{listof}{nonumberline}\\ + \OptionValueRef{maincls}{toc}{nonumberline}% + }\IndexOption{listof~=\textKValue{nonumberline}} oder \OptionValueRef{maincls}{toc}{nonumberline}% - \important{\OptionValueRef{maincls}{toc}{nonumberline}}% \IndexOption{toc~=\textKValue{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 - wird. Dies\textnote{Achtung!} gilt jedoch nur, falls dieses Verzeichnis + wird. Das\textnote{Achtung!} gilt jedoch nur, falls dieses Verzeichnis nicht mit der oben beschriebenen Eigenschaft \PValue{leveldown}\important{\PValue{leveldown}} um eine Gliederungsebene nach unten verschoben wurde. Die \KOMAScript-Klassen \Class{scrbook} und - \Class{scrreprt} setzen diese Eigenschaft per + \Class{scrreprt} setzen die Eigenschaft per \DescRef{\LabelBase.cmd.AtAddToTocList} (siehe \DescPageRef{\LabelBase.cmd.AtAddToTocList}) für alle Verzeichnisse mit dem Besitzer \PValue{float} oder mit sich selbst als Besitzer. Damit werden @@ -823,6 +829,7 @@ Die \KOMAScript-Klassen kennen eine weitere Eigenschaft: entnehmen. \end{description} \begin{Example} + \iffalse% Umbruchkorrektur Da \KOMAScript{} für das Abbildungs- und das Tabellenverzeichnis auf \Package{tocbasic} aufbaut, gibt es nun eine weitere Möglichkeit, jegliche Kapiteluntergliederung dieser Verzeichnisse zu verhindern: @@ -831,9 +838,11 @@ Die \KOMAScript-Klassen kennen eine weitere Eigenschaft: \unsettoc{lot}{chapteratlist} \end{lstcode} - Wollen Sie hingegen, dass das von Ihnen definierte Verzeichnis mit der - Dateierweiterung »\PValue{loa}« ebenfalls von der Kapiteluntergliederung der - \KOMAScript-Klassen betroffen ist, so verwenden Sie + \fi% + Wollen Sie\iffalse hingegen\fi, dass das von Ihnen definierte Verzeichnis + mit der Dateierweiterung »\PValue{loa}« ebenfalls von der + Kapiteluntergliederung der \KOMAScript-Klassen betroffen ist, so verwenden + Sie \begin{lstcode} \setuptoc{loa}{chapteratlist} \end{lstcode} @@ -841,14 +850,14 @@ Wollen Sie außerdem, dass bei Klassen, die \DescRef{maincls.cmd.chapter} als oberste Gliederungsebene verwenden, das Verzeichnis automatisch einspaltig gesetzt wird, so verwenden Sie zusätzlich \begin{lstcode} - \ifundefinedorrelax{chapter}{}{% + \Ifundefinedorrelax{chapter}{}{% \setuptoc{loa}{onecolumn}% } \end{lstcode} - Die Verwendung von \DescRef{scrbase.cmd.ifundefinedorrelax} + Die Verwendung von \DescRef{scrbase.cmd.Ifundefinedorrelax} setzt das Paket \Package{scrbase} voraus (siehe \autoref{sec:scrbase.if}, - \DescPageRef{scrbase.cmd.ifundefinedorrelax}). + \DescPageRef{scrbase.cmd.Ifundefinedorrelax}). Sollte\textnote{Tipp!} Ihr Paket mit einer anderen Klasse verwendet werden, so schadet es trotzdem nicht, dass Sie diese Eigenschaften setzen, im @@ -863,13 +872,14 @@ bedeuten würden und deshalb in vielen Paketen leider fehlen.% \begin{Declaration} - \Macro{iftocfeature}\Parameter{Dateierweiterung}\Parameter{Eigenschaft} + \Macro{Iftocfeature}\Parameter{Dateierweiterung}\Parameter{Eigenschaft} \Parameter{Dann-Teil}\Parameter{Sonst-Teil} \end{Declaration} -Hiermit kann man für jede \PName{Eigenschaft} feststellen, ob sie für eine -\PName{Dateierweiterung} gesetzt ist. Ist dies der Fall, wird der -\PName{Dann-Teil} ausgeführt, anderenfalls der \PName{Sonst-Teil}. Das kann -beispielsweise nützlich sein, wenn Sie eigene Überschriftenanweisungen mit +Hiermit\ChangedAt{v3.28}{\Package{tocbasic}} kann man für jede +\PName{Eigenschaft} feststellen, ob sie für eine \PName{Dateierweiterung} +gesetzt ist. Ist dies der Fall, wird der \PName{Dann-Teil} ausgeführt, +anderenfalls der \PName{Sonst-Teil}. Das kann beispielsweise nützlich sein, +wenn Sie eigene Überschriftenanweisungen mit \DescRef{\LabelBase.cmd.deftocheading} definieren, aber die oben beschriebenen Eigenschaften \PValue{totoc}, \PValue{numbered} oder \PValue{leveldown} unterstützen wollen. @@ -886,7 +896,7 @@ Neben\ChangedAt{v3.20}{\Package{tocbasic}} den eigentlichen Verzeichnissen und den zugehörigen Hilfsdateien kann man mit dem 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 +vordefinierte Stile zur Verfügung. Damit soll \Package{tocbasic} auch 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. @@ -895,7 +905,7 @@ die von \Package{tocbasic} bereitgestellten Stile für Verzeichniseinträge. \Counter{tocdepth} \end{Declaration} Verzeichniseinträge sind normalerweise hierarchisch geordnet. Dazu wird jeder -Eintragsebene ein nummerischer Wert zu geordnet. Je höher dieser Wert, desto +Eintragsebene ein numerischer Wert zugeordnet. Je höher dieser Wert, desto tiefer in der Hierarchie liegt die Ebene. Bei den Standardklassen hat die Ebene für Teile beispielsweise den Wert -1 und die Ebene für Kapitel den Wert 0. Über den \LaTeX-Zähler \Counter{tocdepth} wird bestimmt, bis zu welcher @@ -904,7 +914,7 @@ Ebene Einträge im Verzeichnis ausgegeben werden. Bei \Class{book} ist \Counter{tocdepth} beispielsweise mit 2 voreingestellt, es werden also die Einträge der Ebenen \PValue{part}, \PValue{chapter}, \PValue{section} und \PValue{subsection} ausgeben. Tiefere Ebenen wie -\PValue{subsubsection}, deren nummerischer Wert 3 ist, werden nicht +\PValue{subsubsection}, deren numerischer Wert 3 ist, werden nicht ausgegeben. Trotzdem sind die Einträge in der Hilfsdatei für das Inhaltsverzeichnis vorhanden. @@ -1034,7 +1044,7 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: Stil werden unabhängig von allen Einstellungen für \DescRef{\LabelBase.counter.tocdepth}% \IndexCounter{tocdepth}\important{\DescRef{\LabelBase.counter.tocdepth}} - nicht ausgegeben sondern sozusagen verschluckt. Dennoch verfügt er über die + 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 @@ -1056,7 +1066,7 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \autoref{fig:tocbasic.largetocline} illustriert die Eigenschaften des Stils. Dabei wird auch auf"|fällig, dass der Stil einige Ungereimtheiten - der Standardklassen übernommen hat, beispielsweise der fehlende Einzug ab + der Standardklassen übernommen hat, beispielsweise den fehlenden 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 @@ -1136,7 +1146,7 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \autopageref{tab:tocbasic.tocstyle.attributes} erklärt. \begin{figure} \centering - \resizebox{.8\linewidth}{!}{% + \resizebox{.8\linewidth}{!}{\hspace{-2em}% Leicht nach links schieben \begin{tikzpicture} \coordinate (subsection) at (0,0); \coordinate (section) at ($(subsection)+(0,2\baselineskip)$); @@ -1174,13 +1184,13 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \draw[|-|,color=gray,overlay] ($(part)+(\linewidth,\ht\strutbox)$) node [anchor=north,font=\small] { - \Macro{@tocrmarg} + ~\PValue{rightindent} } -- ($(part)+(\linewidth-2.55em,\ht\strutbox)$); \draw[|-|,color=gray,overlay] ($(part)+(\linewidth,-\baselineskip)$) -- node [anchor=north,font=\small] { - \Macro{@pnumwidth} + \PValue{pagenumberwidth} } ($(part)+(\linewidth-1.55em,-\baselineskip)$); \node at (chapter) [anchor=west,inner sep=0,outer sep=0] @@ -1211,13 +1221,13 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \draw[|-|,color=gray,overlay] ($(chapter)+(\linewidth,\ht\strutbox)$) node [anchor=north,font=\small] { - \Macro{@tocrmarg} + ~\PValue{rightindent} } -- ($(chapter)+(\linewidth-2.55em,\ht\strutbox)$); \draw[|-|,color=gray,overlay] ($(chapter)+(\linewidth,-\baselineskip)$) - node [anchor=north,font=\small] { - \Macro{@pnumwidth} + node [anchor=north west,font=\small] { + \hspace*{-3.1em}\PValue{pagenumberwidth} } -- ($(chapter)+(\linewidth-1.55em,-\baselineskip)$); \node at (section) [anchor=west,inner sep=0,outer sep=0] @@ -1263,13 +1273,13 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \draw[|-|,color=gray,overlay] ($(subsection)+(\linewidth,\ht\strutbox)$) node [anchor=north,font=\small] { - \Macro{@tocrmarg} + ~\PValue{rightindent} } -- ($(subsection)+(\linewidth-2.55em,\ht\strutbox)$); \draw[|-|,color=gray,overlay] ($(subsection)+(\linewidth,-\baselineskip)$) -- node [anchor=north,font=\small] { - \Macro{@pnumwidth} + \PValue{pagenumberwidth} } ($(subsection)+(\linewidth-1.55em,-\baselineskip)$); \end{tikzpicture}% @@ -1280,18 +1290,18 @@ Derzeit werden von \Package{tocbasic} die folgenden Eintragsstile definiert: \end{figure} \item[\PValue{toctext}]\ChangedAt{v3.27}{\Package{tocbasic}}% stellt eine Besonderheit dar. Während alle anderen Stile je Eintrag einen - Absatz erzeugen, wird hier für alle aufeinanderfolgenden Einträge dieses - Stils nur ein einziger Absatz erzeugt. Für die Konfigurierung stehen neben - der Standardeigenschaft \PValue{level} mit 13\important{\PValue{afterpar}, - \PValue{entryformat}, \PValue{entrynumberformat}, \PValue{indent}, - \PValue{numsep}, \PValue{onendentry}, \PValue{onendlastentry}, - \PValue{onstartentry}, \PValue{onstartfirstentry}, - \PValue{pagenumberformat}, \PValue{prepagenumber}, \PValue{raggedright}, - \PValue{rightindent}} weiteren Eigenschaften fast so viele Möglichkeiten - wie bei \PValue{tocline} zur Verfügung. Dieser Stil ist aber zwingend darauf - angewiesen, dass am Anfang aller anderen Stile und auch am Ende des - Verzeichnisses ein noch nicht beendeter Absatz tasächlich beendet - wird. Daher sollten Einträge dieses Stils nicht mit Einträgen oder + Absatz\important{\PValue{level}, \PValue{afterpar}, \PValue{entryformat}, + \PValue{entrynumberformat}, \PValue{indent}, \PValue{numsep}, + \PValue{onendentry}, \PValue{onendlastentry}, \PValue{onstartentry}, + \PValue{onstartfirstentry}, \PValue{pagenumberformat}, + \PValue{prepagenumber}, \PValue{raggedright}, \PValue{rightindent}} + erzeugen, wird hier für alle aufeinanderfolgenden Einträge dieses Stils nur + ein einziger Absatz erzeugt. Für die Konfigurierung stehen neben der + Standardeigenschaft \PValue{level} mit 13 weiteren Eigenschaften fast so + viele Möglichkeiten wie bei \PValue{tocline} zur Verfügung. Dieser Stil ist + aber zwingend darauf angewiesen, dass am Anfang aller anderen Stile und auch + am Ende des Verzeichnisses ein noch nicht beendeter Absatz tasächlich + beendet wird. Daher sollten Einträge dieses Stils nicht mit Einträgen oder Verzeichnissen kombiniert werden, die an \Package{tocbasic} vorbei erzeugt werden. \item[\PValue{undottedtocline}] entspricht dem Stil, der von den @@ -1351,7 +1361,7 @@ Eine Erklärung zu den Eigenschaften der von \Package{tocbasic} definierten Stile findet sich in \autoref{tab:tocbasic.tocstyle.attributes}. Neben\ChangedAt{v3.27}{\Package{tocbasic}} der normalen Zuweisung eines Wertes in der Form \Option{\PName{Schlüssel}=\PName{Wert}} verstehen beide Befehle für -die durch \KOMAScript{} definierten Stile für alle Optionen auch die +alle Optionen der durch \KOMAScript{} definierten Stile auch die Zuweisungen in der Form \Option{\PName{Schlüssel}:=\PName{Eintragsebene}}. In diesem Fall wird die aktuell gültige Einstellung für \PName{Eintragsebene} kopiert, soweit diese verfügbar ist. Es kann also beispielsweise mit @@ -1364,13 +1374,13 @@ verwendet werden. Mit \OptionValue{indent+}{1cm} könnte so beispielsweise der Einzug um 1\Unit{cm} erhöht werden. Bei\ChangedAt{v3.21}{\Package{tocbasic}} Verwendung der Eigenschaften als -Optionen für \DescRef{\LabelBase.cmd.DeclareNewTOC}\IndexCmd{DeclareNewTOC} -(siehe \DescPageRef{\LabelBase.cmd.DeclareNewTOC}) sind die Namen der -Eigenschaften mit dem Präfix \PValue{tocentry}, also beispielsweise -\Option{tocentrylevel} anstelle von \PValue{level}, zu verwenden. Die zuvor -beschriebene Kopiermöglichkeit mit \Option{:=} ist hierbei ebenfalls -verfügbar. Die Addition mit Hilfe von \Option{+=} wird derzeit jedoch nicht -unterstützt. +Optionen für Anweisung +\DescRef{\LabelBase.cmd.DeclareNewTOC}\IndexCmd{DeclareNewTOC} (siehe +\DescPageRef{\LabelBase.cmd.DeclareNewTOC}) sind die Namen der Eigenschaften +mit dem Präfix \PValue{tocentry} zu verwenden, also beispielsweise +\Option{tocentrylevel} anstelle von \PValue{level}. Die zuvor beschriebene +Kopiermöglichkeit mit \Option{:=} ist hierbei ebenfalls verfügbar. Die +Addition mit Hilfe von \Option{+=} wird derzeit jedoch nicht unterstützt. Bei\ChangedAt{v3.20}{\Package{tocbasic}} Verwendung als Optionen für \DescRef{maincls-experts.cmd.DeclareSectionCommand}% @@ -1378,13 +1388,20 @@ für \DescRef{maincls-experts.cmd.DeclareSectionCommand}% \IndexCmd{RedeclareSectionCommand}\IndexCmd{ProvideSectionCommand} (siehe \DescPageRef{maincls-experts.cmd.DeclareSectionCommand}) und verwandten Anweisungen sind die Namen der Eigenschaften mit dem Präfix \PValue{toc} zu -versehen, also beispielsweise \Option{toclevel} anstelle von \PValue{level} zu -verwenden. Hierbei existiert derzeit weder die Kopiermöglichkeit mit +versehen, also beispielsweise \Option{toclevel} anstelle von \PValue{level}. Hierbei existiert derzeit weder die Kopiermöglichkeit mit \Option{:=} noch die Addition mit \Option{+=}. Letztlich führt der Aufruf von \Macro{DeclareTOCStyleEntry} zur Definition der Anweisung \Macro{l@\PName{Eintragsebene}}. +Während \Macro{DeclareTOCStyleEntry} nur eine \PName{Eintragsebene} +definiert, kann über +\Macro{DeclareTOCStyeEntries}\ChangedAt{v3.26}{\Package{tocbasic}} auf einen +Schlag eine ganze \PName{Liste von Eintragsebenen} definiert werden. Die durch +Komma voneinander getrennt angegebenen Eintragsebenen der Liste werden dabei +alle mit demselben \PName{Stil} und den über \PName{Optionenliste} +angegebenen Einstellungen definiert.% +% \begin{desclist} \desccaption{% Attribute für die vordefinierten Verzeichniseintragsstile von @@ -1412,7 +1429,8 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. \texttt{2.25em plus 1pt} initialisiert, bei \PValue{chapter} mit \texttt{1em plus 1pt}. Ist noch keine \PName{Eintragsebene} \PValue{chapter} bekannt, wird stattdessen für \PValue{section} - \texttt{1em plus 1pt} verwendet. Ansonsten wird \PValue{section} wie alle + \texttt{1em plus 1pt} verwendet. Ansonsten wird es für \PValue{section} + wie für alle anderen Ebenen mit \texttt{0pt plus .2pt} initialisiert.% }% \entry{\OptionVName{breakafternumber}{Schalter}}{% @@ -1428,7 +1446,7 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. Ist %\textnote{Achtung!} für ein Verzeichnis mit \DescRef{\LabelBase.cmd.setuptoc} die Eigenschaft \Option{numberline} gesetzt (siehe \autoref{sec:tocbasic.toc}, - \DescPageRef{\LabelBase.cmd.setuptoc}), wie dies bei den + \DescPageRef{\LabelBase.cmd.setuptoc}), wie das bei den \KOMAScript-Klassen und Verwendung deren Option \OptionValueRef{maincls}{toc}{numberline}% \IndexOption{toc~=\textKValue{numberline}} der Fall ist, führt dies auch @@ -1454,7 +1472,7 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. 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 + unabhängig von \Option{entryformat} ist. Siehe dazu auch die Eigenschaft \Option{pagenumberformat}. Initialisiert wird die Eigenschaft für die \PName{Eintragsebene} @@ -1472,7 +1490,7 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. Argument zu erwarten. Font-Änderungen erfolgen ausgehend von der Eigenschaft \Option{entryformat}. - Initialisiert wird die Eigenschaft mit Ausgabe des übergebenen + Initialisiert wird die Eigenschaft mit der Ausgabe des übergebenen Arguments. Die Eintragsnummer wird also unverändert ausgegeben. Ist %\textnote{Achtung!} @@ -1515,8 +1533,8 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. stattdessen 0\Unit{pt}. Der Einzug wird also deaktiviert.% }% \entry{\OptionVName{level}{Integer}}{% - Nummerischer Wert der \PName{Eintragsebene}. Tatsächlich angezeigt werden - nur Einträge, deren nummerische Ebene nicht größer als Zähler + Numerischer Wert der \PName{Eintragsebene}. Tatsächlich angezeigt werden + nur Einträge, deren numerische Ebene nicht größer als Zähler \DescRef{\LabelBase.counter.tocdepth}% %\important{\DescRef{\LabelBase.counter.tocdepth}} \IndexCounter{tocdepth} @@ -1525,7 +1543,7 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. Diese Eigenschaft ist für alle Stile zwingend und wird bei der Definition eines Stils automatisch definiert. - Beim Stil \PValue{tocline} und \PValue{toctext} findet für alle + Bei den Stilen \PValue{tocline} und \PValue{toctext} 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 @@ -1685,8 +1703,11 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. 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}.% + \Macro{large}\Macro{bfseries}. Für die \PName{Eintragsebene} + \PValue{chapter} wird nur \Macro{bfseries} verwendet. Bei Klassen + ohne vordefiniertes \Macro{l@chapter} geschieht dies auch für die + \PName{Eintragsebene} \PValue{section}. Für alle anderen Ebenen erfolgt + die Ausgabe in \Macro{normalfont}\Macro{normalcolor}.% }% \entry{\OptionVName{pagenumberwidth}{Länge}}{% \ChangedAt{v3.27}{\Package{tocbasic}}% @@ -1735,7 +1756,7 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. \ChangedAt{v3.27}{\Package{tocbasic}}% \PName{Schalter} ist einer der Werte für einfache Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. - Ist der Schalter innerhalb eines Absatzes bei irgend einem Eintrag im Stil + Ist der Schalter innerhalb eines Absatzes bei irgendeinem Eintrag im Stil \PValue{toctext} gesetzt, so wird der komplette Absatz in linksbündigem Flattersatz gesetzt.% }% @@ -1747,14 +1768,6 @@ Anweisung \Macro{l@\PName{Eintragsebene}}. entsprechend der rechte Rand für den kompletten Absatz eingestellt.% }% \end{desclist} - -Während \Macro{DeclareTOCStyleEntry} nur genau eine \PName{Eintragsebene} -definiert, kann über -\Macro{DeclareTOCStyeEntries}\ChangedAt{v3.26}{\Package{tocbasic}} auf einen -Schlag eine ganze \PName{Liste von Eintragsebenen} definiert werden. Die durch -Komma voneinander getrennt angegebenen Eintragsebenen der Liste werden dabei -alle mit demselben \PName{Stil} und den über \PName{Optionenliste} -angegebenen Einstellungen definiert.% \EndIndexGroup \begin{Declaration} @@ -1805,18 +1818,19 @@ definieren. Üblicherweise werden Verzeichniseinträge mit \DescRef{\LabelBase.cmd.addxcontentsline}\IndexCmd{addxcontentsline} (siehe \autoref{sec:tocbasic.basics}, \DescPageRef{\LabelBase.cmd.addxcontentsline}) erzeugt. Dabei schreibt \LaTeX{} eine zugehörige Anweisung -\Macro{contentsline}\IndexCmd{contentsline} in die jeweilige Hilfsdatei. Bei +\Macro{contentsline}\IndexCmd{contentsline} in die jeweilige Hilfsdatei. Beim 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 \DescRef{\LabelBase.cmd.DeclareTOCStyleEntry} ein \PName{Stil} zugewiesen, so -wird zunächst \PName{Initialisierungscode} ausgeführt falls angegeben und dann -\PName{Befehlscode} für die Definition von \Macro{l@\PName{Eintragsebene}} -verwendet. \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. +wird zunächst \PName{Initialisierungscode} ausgeführt, falls angegeben, und +dann \PName{Befehlscode} für die Definition von +\Macro{l@\PName{Eintragsebene}} verwendet. \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, die Einstellungen eines Stils zu initialisieren. Entwickler\textnote{Empfehlung!} sollten darauf @@ -1856,18 +1870,19 @@ Neben\ChangedAt{v3.27}{\Package{tocbasic}} den normalen Optionen der Form dazu, den Wert einer anderen \PName{Eintragsebene} zu kopieren, sofern der Wert in einem Makro mit gleichem \PName{Präfix} und \PName{Postfix} gespeichert ist. Bei den von \Package{tocbasic} vordefinierten Stilen ist das -für gleichnamige Optionen über Stilgrenzen hinweg der Fall. Von -\Macro{DefineTOCEntryLengthOption} und \Macro{DefineTOCEntryNumberOption} -werden außerdem Optionen der Form \Option{\PName{Schlüssel}+=\PName{Wert}} mit -definiert, die dazu dienen, zu dem in -\Macro{\PName{Präfix}\PName{Eintragsebene}\PName{Postfix}} bereits +für gleichnamige Optionen über Stilgrenzen hinweg der Fall. + +Vergleichbar dazu werden von \Macro{DefineTOCEntryLengthOption} und +\Macro{DefineTOCEntryNumberOption} jeweils zusätzliche Optionen der Form +\Option{\PName{Schlüssel}+=\PName{Wert}} mitdefiniert, die dazu dienen, zu +dem in \Macro{\PName{Präfix}\PName{Eintragsebene}\PName{Postfix}} bereits gespeicherten Wert den neuen \PName{Wert} zu addieren. 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. - +\begin{Example} Der einfachste Stil von \Package{tocbasic}, \PValue{gobble}, wurde mit \begin{lstcode} \DeclareTOCEntryStyle{gobble}{}% @@ -1876,8 +1891,8 @@ definiert. Würde man nun mit \begin{lstcode} \DeclareTOCStyleEntry[level=1]{gobble}{dummy} \end{lstcode} -eine Eintragsebene \PValue{dummy} in diesem Stil definieren, so würde das -unter anderem +eine Eintragsebene \PValue{dummy} in diesem Stil definieren, so würde das% +\iffalse unter anderem\fi% Umbruchkorrektur \begin{lstcode} \def\dummytocdepth{1} \def\l@dummy#1#2{} @@ -1901,7 +1916,7 @@ unter anderem die Definition \def\scr@tso@part@linefill{\TOCLineLeaderFill} \end{lstcode} vornehmen. - +\end{Example} Wer\textnote{Tipp!} 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 @@ -1966,8 +1981,10 @@ erweitert werden. Dabei fügt \Macro{TOCEntryStyleStartInitCode} den neuen \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 +Abstand passend zu initialisieren. +\begin{Example} +Die Klassen \Class{scrbook} und +\Class{scrreprt} verwenden \begin{lstcode} \CloneTOCEntryStyle{tocline}{section} \TOCEntryStyleStartInitCode{section}{% @@ -1978,7 +1995,9 @@ Abstand passend zu initialisieren. Die Klassen \Class{scrbook} und \end{lstcode} um den Stil \PValue{section} als abgewandelten Klon von \PValue{tocline} zu definieren.% +\end{Example}% \EndIndexGroup +\ExampleEndFix \begin{Declaration} @@ -2007,8 +2026,8 @@ die Eigenschaften \PValue{onstartlowerlevel}, \PValue{onstartsamelevel} und \begin{Declaration} \Macro{TOCLineLeaderFill}\OParameter{Füllzeichen} \end{Declaration} -Die\ChangedAt{v3.20}{\Package{tocbasic}} Anweisung ist dazu gedacht -als Wert für die Eigenschaft \Option{linefill} des Verzeichniseintragsstils +Die\ChangedAt{v3.20}{\Package{tocbasic}} Anweisung ist dazu gedacht, +als Wert für 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 @@ -2030,10 +2049,10 @@ Wie der Name schon vermuten lässt, werden die Füllzeichen mit Hilfe von Das Paket \Package{tocbasic} bietet einige interne Anweisungen, deren Benutzung durch Klassen- und Paketautoren freigegeben ist. Diese Anweisungen beginnen alle mit \Macro{tocbasic@}. Aber\textnote{Achtung!} auch Klassen- und -Paketautoren sollten diese Anweisungen nur verwenden und nicht etwa -umdefinieren! Ihre interne Funktion kann jederzeit geändert oder erweitert -werden, so dass jede Umdefinierung der Anweisungen die Funktion von -\Package{tocbasic} erheblich beschädigen könnte! +Paketautoren sollten diese Anweisungen \iffalse nur verwenden und \fi nicht +etwa umdefinieren!\iffalse Ihre interne Funktion kann jederzeit geändert oder +erweitert werden, so dass jede Umdefinierung der Anweisungen die Funktion von +\Package{tocbasic} erheblich beschädigen könnte!\fi% Umbruchkorrektur \begin{Declaration} @@ -2056,7 +2075,7 @@ In der Voreinstellung wird diese Anweisung normalerweise für alle Liste der bekannten Dateierweiterungen hinzugefügt werden, aufgerufen. Über die Eigenschaft \PValue{nobabel}\important{\PValue{nobabel}} (siehe \DescRef{\LabelBase.cmd.setuptoc}, \autoref{sec:tocbasic.toc}, -\DescPageRef{\LabelBase.cmd.setuptoc}) kann dies unterdrückt werden. Für die +\DescPageRef{\LabelBase.cmd.setuptoc}) kann das unterdrückt werden. Für die Dateinamenerweiterungen \File{toc}, \File{lof} und \File{lot} unterdrückt \Package{tocbasic} dies bereits selbst, % \iftrue% Umbruchvarianten @@ -2065,7 +2084,7 @@ da \Package{babel} sie von sich aus vornimmt.% damit die Umschaltung nicht mehrfach in die zugehörigen Dateien eingetragen wird.% \fi - +\iffalse% Umbruchkorrektur Normalerweise gibt es keinen Grund, diese Anweisung selbst aufzurufen. Es sind allerdings Verzeichnisse denkbar, die nicht unter der Kontrolle von \Package{tocbasic} stehen, also nicht in der Liste der bekannten @@ -2073,6 +2092,7 @@ Dateierweiterungen geführt werden, aber trotzdem die Spracherweiterung für \Package{babel} nutzen sollen. Für derartige Verzeichnisse wäre die Anweisung explizit aufzurufen. Bitte\textnote{Achtung!} achten Sie jedoch darauf, dass dies für jede Dateierweiterung nur einmal geschieht!% +\fi \EndIndexGroup @@ -2157,10 +2177,13 @@ Anweisungen \DescRef{\LabelBase.cmd.listoftoc}, \DescRef{\LabelBase.cmd.listoftoc*} und \DescRef{\LabelBase.cmd.listofeachtoc} nicht verwendet, sollten die beiden Anweisungen für die Haken\Index{Haken} trotzdem aufgerufen werden, soweit sie definiert sind. Die Anweisungen können -auch undefiniert sein. Für einen entsprechenden Test siehe +auch undefiniert sein.% +\iffalse% Umbruchkorrektur / inzwischen passt auch \@ifundefined +\ Für einen entsprechenden Test siehe \DescRef{scrbase.cmd.scr@ifundefinedorrelax}\IndexCmd{scr@ifundefinedorrelax} in \autoref{sec:scrbase.if}, \DescPageRef{scrbase.cmd.scr@ifundefinedorrelax}.% +\fi% \EndIndexGroup @@ -2230,21 +2253,18 @@ nach einem Eintrag kein Seitenumbruch erfolgen darf. Der genaue Wert wird dabei abhängig von der \PName{Eintragsebene} gewählt. % \begin{sloppypar} -\begingroup -\emergencystretch=2em +\begingroup% +\emergencystretch=2em\relax% Über \Macro{tocbasic@DependOnPenaltyAndTOCLevel} wird am Anfang eines -Eintrags, abhängig von \Macro{lastpenalty} und der \PName{Eintragsebene} die -über die Eigenschaft \Option{onstartlowerlevel} im internen Makro +Eintrags, abhängig von \Macro{lastpenalty} und \PName{Eintragsebene}, die über +die Eigenschaft \Option{onstartlowerlevel} im internen Makro \Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasHigher}, über die -\iffree{Eigenschaft}{Ei\-genschaft} -\Option{onstartsamelevel} im zugehörigen, internen -Makro\iffree{ -}{\linebreak}\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasSame} oder -über die Eigenschaft \Option{onstarthigherlevel} im zugehörigen, internen -Makro \Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasLower} gespeicherte -Aktion ausgeführt. In der Voreinstellung\textnote{Voreinstellung} erlauben die -ersten beiden einen Umbruch, wenn sie im vertikalen Modus ausgeführt -werden.\par +Eigenschaft \Option{onstartsamelevel} im zugehörigen, internen Makro +\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasSame} oder über die +Eigenschaft \Option{onstarthigherlevel} im zugehörigen, internen Makro +\Macro{scr@tso@\PName{Eintragsebene}@LastTOCLevelWasLower} gespeicherte Aktion +ausgeführt. In der Voreinstellung\textnote{Voreinstellung} erlauben die ersten +beiden einen Umbruch, wenn sie im vertikalen Modus ausgeführt werden.\par% \endgroup %\end{sloppypar} @@ -2268,13 +2288,17 @@ einem eigenen Paket, einer Klasse oder zwischen verwendet werden müssen. Als\textnote{Umgebung} erstes wird eine Umgebung benötigt, die diese neue -Gleitumgebung bereitstellt. Das geht ganz einfach mit: +Gleitumgebung \iftrue% Umbruchkorrektur (siehe auch nach dem Code) +namens \Environment{remarkbox} bereitstellt:% +\else% +bereitstellt. Das geht ganz einfach mit:% +\fi% \begin{lstcode} \newenvironment{remarkbox}% {\@float{remarkbox}}% {\end@float} \end{lstcode} -Die neue Umgebung heißt also \Environment{remarkbox}. +\iffalse Die neue Umgebung heißt also \Environment{remarkbox}.\fi % siehe oben Jede\textnote{Platzierung} Gleitumgebung hat eine Standardplatzierung. Diese setzt sich aus einer oder mehreren der bekannten Platzierungsoptionen @@ -2285,7 +2309,7 @@ setzt sich aus einer oder mehreren der bekannten Platzierungsoptionen Die neue Gleitumgebung soll also in der Voreinstellung nur oben, unten oder auf einer eigenen Seite platziert werden dürfen. -Gleitumgebungen\textnote{Gleittyp} haben außerdem einen nummerischen Gleittyp +Gleitumgebungen\textnote{Gleittyp} haben außerdem einen numerischen Gleittyp zwischen 1 und 31. Umgebungen, bei denen das gleiche Bit im Gleittyp gesetzt ist, dürfen sich nicht gegenseitig überholen. Abbildungen und Tabellen haben normalerweise den Typ~1 und 2. Abbildungen dürfen also @@ -2336,9 +2360,9 @@ Nun\textnote{Dateierweiterung} machen wir die neue Dateierweiterung dem Paket \begin{lstcode} \addtotoclist[float]{lor} \end{lstcode} -Dabei verwenden wir als Besitzer \PValue{float}, damit sich alle -anschließend aufgerufenen Optionen von \KOMAScript, die sich auf Verzeichnisse -von Gleitumgebungen beziehen, auch auf das neue Verzeichnis beziehen. +Dabei verwenden wir als Besitzer \PValue{float}. Damit beziehen sich +automatisch alle Optionen, die von den \KOMAScript-Klassen für Verzeichnisse +von Gleitumgebungen angeboten werden, auch auf das neue Verzeichnis. Jetzt\textnote{Verzeichnistitel} definieren wir noch einen Titel für dieses Verzeichnis: @@ -2358,12 +2382,21 @@ noch definieren, wie ein einzelner Eintrag in dem Verzeichnis aussehen soll: \end{lstcode} Weil das die einfachste Lösung ist, wurde hier festgelegt, dass Einträge in das Verzeichnis der Merksätze genau wie Einträge in das Abbildungsverzeichnis -aussehen sollen. Man hätte auch eine explizite Festlegung wie +aussehen sollen. Man hätte stattdessen auch die Einstellungen selbst kopieren +können: +\begin{lstcode} + \DeclareTOCStyleEntry[level:=figure,% + indent:=figure,% + numwidth:=figure]% + {tocline}{remarkbox} +\end{lstcode} +Selbstverständlich wären auch explizite Festlegungen möglich: \begin{lstcode} - \DeclareTOCStyleEntry[level=1,indent=1em,numwidth=1.5em]% + \DeclareTOCStyleEntry[level=1,% + indent=1.5em,% + numwidth=2.3em]% {tocline}{remarkbox} \end{lstcode} -verwenden können. Außerdem\textnote{Kapiteleintrag} wollen Sie, dass sich Kapiteleinträge auf das Verzeichnis auswirken. @@ -2409,7 +2442,7 @@ verwendet wird, so genügt \begin{lstcode} \newcommand*{\setupremarkboxes}{\setuptoc{lor}} \end{lstcode} -\iffalse% +\iftrue% Umbruchkorrektur um eine als Argument an \Macro{setupremarkboxes} übergebene Liste von Eigenschaften direkt als Liste von % \else% @@ -2522,12 +2555,12 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, über das optionale Argument der Gleitumgebung geändert werden kann. Mit dieser Option wird das \PName{Gleitverhalten} für die optional erstellbare Gleitumgebung (siehe Option \Option{float}) festgelegt. Die Syntax und - Semantik ist dabei mit der des optionalen Arguments für die Gleitumgebung + Semantik sind dabei mit der des optionalen Arguments für die Gleitumgebung identisch. Wird die Option nicht verwendet, so ist das voreingestellte Gleitverhalten \texttt{tbp}, also \emph{top}, \emph{bottom}, \emph{page}.}% \entry{\OptionVName{floattype}{Gleittyp}}{% - Jede Gleitumgebung hat einen nummerischen Typ. Gleitumgebungen, bei denen + Jede Gleitumgebung hat einen numerischen Typ. Gleitumgebungen, bei denen in diesem \PName{Gleittyp} nur unterschiedliche Bits gesetzt sind, können sich gegenseitig überholen. Die Gleitumgebungen \Environment{figure} und \Environment{table} haben normalerweise die Typen 1 und 2, können sich @@ -2548,9 +2581,9 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, und damit Option \Option{tocentrynumwidth}. Besitzt ein Stil diese Eigenschaft, so wird sie von \Macro{DeclareNewTOC} mit 1,5\Unit{em} voreingestellt. Diese Voreinstellung kann durch explizite Angabe von - \OptionVName{tocentrynumwidth}{Wert} leicht mit einem anderen - \PName{Wert} überschrieben werden. Für Abbildungen verwenden die - \KOMAScript-Klassen beispielsweise den \PName{Wert} \PValue{2.3em}.}% + \OptionVName{tocentrynumwidth}{Wert} leicht mit einem anderen \PName{Wert} + überschrieben werden. Für Abbildungen verwenden die \KOMAScript-Klassen + beispielsweise den \PName{Wert} \PValue{2.3em}.}% \entry{\OptionVName{indent}{Einzug}}{% \ChangedAt{v3.20}{\Package{tocbasic}}% \ChangedAt{v3.21}{\Package{tocbasic}}% @@ -2568,10 +2601,10 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, \entry{\OptionVName{level}{Gliederungsebene}}{% \ChangedAt{v3.20}{\Package{tocbasic}}% \ChangedAt{v3.21}{\Package{tocbasic}}% - Diese Option gilt seit \KOMAScript~3.20 als überholt. Der nummerische Wert + Diese Option gilt seit \KOMAScript~3.20 als überholt. Der numerische 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 + von Option \Option{tocentrystyle} anzugeben. Nichtsdestotrotz haben alle Stile die Eigenschaft \PValue{level} und damit Option \Option{tocentrylevel}. Die Eigenschaft wird von \Macro{DeclareNewTOC} mit 1 voreingestellt. Diese Voreinstellung kann durch explizite Angabe von @@ -2591,14 +2624,13 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, Sowohl als optionaler Präfix für die Einträge im Verzeichnis als auch für die Beschriftung in einer Gleitumgebung (siehe Option \Option{float}) oder einer nicht gleitenden Umgebung (siehe Option \Option{nonfloat}) wird ein - Name für einen Eintrag in das Verzeichnis benötigt. Ohne diese Option wird - als \PName{Eintragsname} der \PName{Eintragstyp} (siehe Option - \Option{type}) verwendet, bei dem das erste Zeichen in einen - Großbuchstaben gewandelt wird. Es wird auch ein Makro - \Macro{\PName{Eintragstyp}name} mit diesem Wert definiert, der jederzeit - geändert werden kann. Dieses Makro wird jedoch nur definiert, wenn es - nicht bereits definiert ist oder zusätzlich Option \Option{forcenames} - gesetzt ist.}% + Name benötigt. Ohne diese Option wird als \PName{Eintragsname} der + \PName{Eintragstyp} (siehe Option \Option{type}) verwendet, bei dem das + erste Zeichen in einen Großbuchstaben gewandelt wird. Es wird auch ein + Makro \Macro{\PName{Eintragstyp}name} mit diesem Wert definiert, der + jederzeit geändert werden kann. Dieses Makro wird jedoch nur definiert, + wenn es nicht bereits definiert ist oder zusätzlich Option + \Option{forcenames} gesetzt ist.}% \entry{\Option{nonfloat}}{% Es wird nicht nur ein neuer Verzeichnistyp definiert, sondern auch eine nicht gleitende Umgebungen \Environment{\PName{Eintragstyp}-} (siehe @@ -2608,9 +2640,9 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, \entry{\OptionVName{owner}{Besitzer}}{% Jedes neue Verzeichnis hat bei \Package{tocbasic} einen Besitzer (siehe \autoref{sec:tocbasic.basics}). Dieser kann hier angegeben werden. Ist - kein Besitzer angegeben, so wird der Besitzer »\PValue{float}« verwendet, - den auch die \KOMAScript-Klassen für das Abbildungs- und das - Tabellenverzeichnis verwenden.}% + kein \PName{Besitzer} angegeben, so wird als \PName{Besitzer} die + Kategorie »\PValue{float}« verwendet, die auch von den \KOMAScript-Klassen + für das Abbildungs- und das Tabellenverzeichnis verwendet wird.}% \entry{\OptionVName{setup}{Liste von Eigenschaften}}{% \ChangedAt{v3.25}{\Package{tocbasic}}% Die \PName{Liste von Eigenschaften} wird via @@ -2625,11 +2657,12 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, 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 + indem die Namen der Eigenschaften mit dem Präfix \PValue{tocentry} ergänzt + werden. So kann der numerische Wert der Ebene beispielsweise als \Option{tocentrylevel} angegeben werden. Näheres zu den Stilen ist \autoref{sec:tocbasic.tocstyle} ab \autopageref{sec:tocbasic.tocstyle} zu - entnehmen.}% + entnehmen.% + }% \entry{\OptionVName{tocentry\PName{Stiloption}}{Wert}}{% \ChangedAt{v3.20}{\Package{tocbasic}}% Weitere Optionen in Abhängigkeit vom via \Option{tocentrystyle} gewählten @@ -2651,8 +2684,8 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, An verschiedenen Stellen wird auch die Mehrzahlform des Eintragstyps verwendet, beispielsweise um eine Anweisung \Macro{listof\PName{Mehrzahl des Eintragstyps}} zu definieren. Wird diese Option nicht verwendet, - so wird als \PName{Mehrzahl des Eintragstyps} der Wert von - \Option{type} mit angehängtem »s« verwendet.}% + so wird als \PName{Mehrzahl des Eintragstyps} der Wert von \Option{type} + mit angehängtem »s« verwendet.}% \entry{\OptionVName{unset}{Liste von Eigenschaften}}{% \ChangedAt{v3.25}{\Package{tocbasic}}% Die \PName{Liste von Eigenschaften} wird via @@ -2681,13 +2714,18 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, sind damit auch der Zähler \Counter{remarkbox}, die zur Ausgabe gehörenden Anweisungen \Macro{theremarkbox}, \Macro{remarkboxname} und \Macro{remarkboxformat}, die für das Verzeichnis benötigten - \Macro{listremarkboxname} und \Macro{listofremarkboxes} sowie einige intern - verwendete Anweisungen mit Bezug auf die Dateiendung \File{lor} - definiert. Soll der Gleitumgebungstyp dem Paket überlassen werden, so kann - Option \Option{floattype} im Beispiel entfallen. Wird zusätzlich - die Option \Option{nonfloat} angegeben, wird außerdem eine nicht gleitende - Umgebung \Environment{remarkbox-} definiert, in der ebenfalls - \DescRef{maincls.cmd.caption}\IndexCmd{caption} verwendet werden kann. + \Macro{listremarkboxname} und \Macro{listofremarkboxes} % + \iffalse % Umbruchkorrektur + sowie einige intern verwendete Anweisungen mit Bezug auf % + \else% + und einige interne Anweisunen für % + \fi% + die Dateiendung \File{lor} definiert. Soll der Gleitumgebungstyp dem Paket + überlassen werden, so kann Option \Option{floattype} \iffalse im Beispiel \fi + entfallen. Wird zusätzlich die Option \Option{nonfloat} angegeben, wird + außerdem eine nicht gleitende Umgebung \Environment{remarkbox-} definiert, + in der ebenfalls \DescRef{maincls.cmd.caption}\IndexCmd{caption} verwendet + werden kann. Zum besseren Verständnis zeigt \autoref{tab:tocbasic.comparison} eine Gegenüberstellung der Anweisungen und Umgebungen für die neu erstellte @@ -2738,7 +2776,7 @@ möglich. Siehe dazu \autoref{sec:tocbasic.tocstyle}, & Überschrift des jeweiligen Verzeichnisses \\[1ex] \Macro{fps@remarkbox} & \Macro{fps@figure} & \Option{type}, \Option{float}, \Option{floattype} - & nummerischer Gleitumge\-bungstyp zwecks + & numerischer Gleitumgebungstyp zwecks Reihen\-fol\-gen\-erhalts\\[1ex] \File{lor} & \File{lof} & @@ -2785,8 +2823,17 @@ in der Regel zu einer Fehlermeldung, weil \Package{hyperref} nicht mit dem \Macro{MakeUppercase}\IndexCmd{MakeUppercase} im Namen des Verzeichnisses zurecht kommt, das benötigt wird, um den ersten Buchstaben des Wertes von \Option{types} in Großbuchstaben zu wandeln.% -\EndIndexGroup -% +\EndIndexGroup% + +\section{Obsolete Befehle} +\seclabel{obsolete} + +Frühere Versionen von \Package{tocbasic} verfügten über Befehle, +die aufgrund von Äußerungen von Mitgliedern des \LaTeX-Project-Teams umbenannt +wurden. Diese veralteten Befehle sollten nicht mehr verwendet werden. + +\LoadNonFree{tocbasic}{0}% +% \EndIndexGroup \endinput |