summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex1853
1 files changed, 1423 insertions, 430 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex
index a2625eea6ae..6020dd474dd 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex
@@ -1,69 +1,63 @@
-\immediate\write17{^^J%
-+----------------------------------------------------------------------^^J%
-| WARNING (`tocbasic.tex'):^^J%
-+----------------------------------------------------------------------^^J%
-| YOU SHOULD NOTE, THAT THIS IS NOT AN OFFICIAL RELEASE!^^J%
-| THIS VERSION IS INTENDED TO BE USED FOR TESTING ONLY!^^J%
-| USAGE FOR PURPOSES OTHER THAN INTENDED IS DANGEROUS!^^J%
-| DON'T EXPECT ANY SUPPORT FOR THIS VERSION!^^J%
-+----------------------------------------------------------------------^^J%
-}
-%%
-%% This is file `tocbasic.tex',
-%% generated with the docstrip utility, extended by scrdocstrip.
-%%
-%% The original source files were:
-%%
-%% tocbasic.dtx (with options: `doc')
-%%
-%% Copyright (c) 2008-2014 Markus Kohm [komascript at gmx info]
-%%
-%% This file was generated from file(s) of the KOMA-Script bundle.
-%% ---------------------------------------------------------------
-%%
-%% It may be distributed under the conditions of the
-%% LaTeX Project Public License in the version distributed together
-%% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'.
-%%
-%% This file may only be distributed together with a copy of the
-%% KOMA-Script bundle. You may however distribute the
-%% KOMA-Script bundle without all such generated files. See also
-%% `lppl.txt' or `lppl-de.txt' for additional information.
-%%
-%% The list of files belonging to KOMA-Script distribution is given in
-%% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for
-%% additional information.
-%%
-%% If this file is a beta version, you may not be allowed to distribute
-%% it. Look at the comments below to see if this is the case.
-%%
-%% English and German manuals are part of KOMA-Script bundle.
-%% ----------------------------------------------------------
-%%
-%% See `README'.
-%%
-%% The KOMA-Script bundle (but maybe not this file) was based upon the
-%% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e
-%% standard classes created by The LaTeX3 Project 1994-1996. You may
-%% find a complete unmodified copy of LaTeX2e at
-%% <http://www.ctan.org/pub/tex-archive/macros/latex/base/>.
-%%
-%%% From File: $Id: tocbasic.dtx 2146 2015-06-20 06:38:46Z kohm $
-\ProvidesFile{tocbasic.tex}[%
- 2015/10/03 v3.19a KOMA-Script
- package
- (handling toc-files)%
-]
-
-\translator{Markus Kohm}
-
+% ======================================================================
+% tocbasic.tex
+% Copyright (c) Markus Kohm, 2002-2016
+%
+% This file is part of the LaTeX2e KOMA-Script bundle.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of all files listed in manifest.txt.
+% ----------------------------------------------------------------------
+% tocbasic.tex
+% 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.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+%
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+%
+% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
+%
+% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
+% ======================================================================
+%
+% Package tocbasic for Package and Class Authors
+% Maintained by Markus Kohm
+%
+% ----------------------------------------------------------------------
+%
+% Paket tocbasic fuer Paket- und Klassenautoren
+% Verwaltet von Markus Kohm
+%
+% ======================================================================
+
+\KOMAProvidesFile{tocbasic.tex}
+ [$Date: 2016-04-23 19:14:01 +0200 (Sat, 23 Apr 2016) $
+ KOMA-Script guide (package tocbasic)]
+
+% Date of translated German file: 2016/04/07
+
+\translator{Markus Kohm\and Arndt Schubert}
\chapter[{Management of Tables and Lists of Contents Using
\Package{tocbasic}}]
{Management of Tables and Lists of Contents Using
- \Package{tocbasic}\protect\footnote{This chapter has been generated from the
- source of the package. It's not a 1-to-1 translation of the German
- manual. Currently translation has not been finished}}
+ \Package{tocbasic}\protect\footnote{Translation of this chapter has been
+ made by the package author and needs editing!}}
\labelbase{tocbasic}
\BeginIndex{Package}{tocbasic}%
@@ -75,45 +69,53 @@ authors of classes and packages to create own tables or lists of contents like
the list of figures and the list of tables and thereby allow other classes or
packages some types of control over these. For examples package
\Package{tocbasic} delegates language control of all these tables and lists of
-contents to package \Package{babel}\IndexPackage{babel}%^^A
-\ (see \cite{package:babel})%^^A
-. So automatic change of language will be provided inside
-all these tables and lists of contents. Using \Package{tocbasic} will
+contents to package \Package{babel}\IndexPackage{babel} (see
+\cite{package:babel}). So automatic change of language will be provided
+inside all these tables and lists of contents. Using \Package{tocbasic} will
exculpate authors of classes and packages from implementation of such
features.
\KOMAScript{} itself uses \Package{tocbasic} not only for the table of
-contents but also for the already mentioned lists of figures and tables.
+contents but also for the already mentioned lists of figures and
+tables. In\textnote{TOC} this chapter we call all kinds of tables of contents
+or lists of contents simply TOC\Index[indexmain]{TOC}.
\section{Basic Commands}
\label{sec:tocbasic.basics}
-Basic commands are used to handle a list of all extensions\textnote{file
- extension, table or list of contents} known for files representing a table
-of contents or list of something. Entries to such files are typically written
-using \Macro{addtocontents}\important{\Macro{addtocontents},
- \Macro{addcontentsline}} or \Macro{addcontentsline}. There are also
-commands to do something for all known extensions. And there are commands to
-set or unset features of an extension or the file represented by the
-extension. Typically an extension also has an owner\textnote{file owner}.
-This owner may be a class or package or a term decided by the author of the
-class or package using \Package{tocbasic}, e.\,g., \KOMAScript{} uses the
-owner \texttt{float} for list of figures and list of tables, and the file name
-of the class file as owner for the table of contents.
+Basic commands are used to handle a list of all file name
+extensions\textnote{file name extension, table or list of contents} known for
+files representing a table or list of contents. We call these auxiliary
+files\Index{auxiliary file}\footnote{Here we do not talk about the
+ \File{aux}-file but the auxiliary files used indirect via the
+ \File{aux}-file, e.\,g., the \File{toc}-file, the \File{lof}-file, or the
+ \File{lot}-file.} TOC-files\textnote{TOC-file}\Index[indexmain]{TOC-file}
+independent from the file name extension that is used. Entries to such files
+are typically written using
+\Macro{addtocontents}\important{\Macro{addtocontents},
+ \Macro{addcontentsline}} or \Macro{addcontentsline}. Later in this chapter
+you will learn to know recommended, additional commands. There are also
+commands to do something for all known extensions. Additionally, there are
+commands to set or unset features of a file name extension or the file
+represented by the extension. Typically an extension also has an
+owner\textnote{file owner}. This owner may be a class or package or a term
+decided by the author of the class or package using \Package{tocbasic},
+e.\,g., \KOMAScript{} uses the owner \texttt{float} for list of figures and
+list of tables, and the file name of the class file as owner for the table of
+contents.
\begin{Declaration}
\Macro{ifattoclist}\Parameter{extension}\Parameter{true
part}\Parameter{false part}
\end{Declaration}
\BeginIndex{Cmd}{ifattoclist}%
-This command
-may be used to ask, wether or not an \PName{extension} is already a known
-extension. If the \PName{extension} is already known the \PName{true
- instructions} will be used, otherwise the \PName{false instructions} will be
-used.
+This command may be used to ask, whether or not a file name \PName{extension}
+is already a known extension. If the \PName{extension} is already known the
+\PName{true instructions} will be used, otherwise the \PName{false
+ instructions} will be used.
\begin{Example}
- Maybe you want to know if the extension ``\File{foo}'' is already in use to
- report an error, if you can not use it:
+ Maybe you want to know if the file name extension ``\File{foo}'' is already
+ in use to report an error, if you can not use it:
\begin{lstcode}
\ifattoclist{foo}{%
\PackageError{bar}{%
@@ -136,12 +138,11 @@ used.
\Macro{addtotoclist}\OParameter{owner}\Parameter{extension}
\end{Declaration}
\BeginIndex{Cmd}{addtotoclist}%
-This command
-adds the \PName{extension} to the list of known extensions. But if the
-\PName{extension} is a known one already, then an error will be reported to
-avoid double usage of the same \PName{extension}.
+This command adds the \PName{extension} to the list of known extensions. But
+if the \PName{extension} is a known one already, then an error will be
+reported to avoid double usage of the same \PName{extension}.
-If the optional argument, \OParameter{owner}, was given this \PName{owner}
+If the optional argument, \OParameter{owner}, was given, this \PName{owner}
will be stored to be the owner of the \PName{extension}. If the optional
argument has been omitted, \Package{tocbasic} tries to find out the file name
of the current processed class or package and stores this as owner.
@@ -160,7 +161,7 @@ result in an empty owner.
\addtotoclist{foo}
\end{lstcode}%
This will add the extension ``\PValue{foo}'' with owner ``\PValue{bar.sty}''
- to the list of known extensions, if it was not already on the list of known
+ to the list of known extensions, if it was not already in the list of known
extensions. If the class or another package already added the extension you
will get the error:
\begin{lstoutput}
@@ -169,7 +170,7 @@ result in an empty owner.
See the tocbasic package documentation for explanation.
Type H <return> for immediate help.
\end{lstoutput}
- and after typing \texttt{H} and pressing the return key you will get the
+ and after typing \texttt{h} and pressing the return key you will get the
help:
\begin{lstoutput}
File extension `foo' is already used by a toc-file, while bar.sty
@@ -178,7 +179,7 @@ result in an empty owner.
or a mistake by the user.
\end{lstoutput}
- Maybe your package has a command, that creates list of files dynamically. In
+ Maybe your package has a command, that creates list of files dynamically. In
this case you should use the optional argument of \Macro{addtotoclist} to
set the owner.
\begin{lstcode}
@@ -192,8 +193,8 @@ result in an empty owner.
\createnewlistofsomething{foo}
\end{lstcode}
this would add the extension ``\PValue{foo}'' with the owner
- ``\PValue{bar.sty}'' to the list of known extension or report an error, if the
- extension is already in use.
+ ``\PValue{bar.sty}'' to the list of known extension or report an error, if
+ the extension is already in use.
\end{Example}
You may use any owner you want. But it should be unique! So, if you would
be, e.\,g., the author of package \Package{float} you could use for example
@@ -201,21 +202,21 @@ owner ``\PValue{float}'' instead of owner ``\PValue{float.sty}'', so the
\KOMAScript{} options for the list of figures and the list of tables will also
handle the lists of this package. Those are already added to the known
extensions when the option is used. This is because \KOMAScript{} already
-registers file extension ``\PValue{lof}'' for the list of figures and file
-extension ``\PValue{lot}'' for the list of tables with owner
-``\PValue{float}'' and sets options for this owner.
+registers file name extension ``\PValue{lof}'' for the list of figures and
+file name extension ``\PValue{lot}'' for the list of tables with owner
+``\PValue{float}'' and sets options for this owner. Package \Package{scrhack}
+redefines some of package \Package{float}'s commands to do this.%
\EndIndex{Cmd}{addtotoclist}%
\begin{Declaration}
\Macro{AtAddToTocList}\OParameter{owner}\Parameter{instructions}
\end{Declaration}
\BeginIndex{Cmd}{AtAddToTocList}%
-This command
-adds the \PName{instructions} to a internal list of instructions that will be
-processed whenever a file extension with the given \PName{owner} will be
-added to the list of known extensions using \Macro{addtotoclist}. The
-optional argument is handled in the same way as with the command
-\Macro{addtotoclist}. With an empty \PName{owner} you may
+This command adds the \PName{instructions} to an internal list of instructions
+that will be processed whenever a file name extension with the given
+\PName{owner} will be added to the list of known extensions using
+\Macro{addtotoclist}. The optional argument is handled in the same way as
+with the command \Macro{addtotoclist}. With an empty \PName{owner} you may
add \Parameter{instructions}, that will be processed at every successful
\Macro{addtotoclist}, after processing the instructions for the individual
owner. While processing the \PValue{instructions},
@@ -236,18 +237,16 @@ the extension of the currently added extension.
The two \Macro{expandafter} commands are needed, because the argument of
\Macro{tocbasic@extend@babel} has to be expanded! See the description of
\Macro{tocbasic@extend@babel} at \autoref{sec:tocbasic.internals}%
-, \autopageref{desc:tocbasic.cmd.tocbasic@extend@babel}
-for more information.
+, \autopageref{desc:tocbasic.cmd.tocbasic@extend@babel} for more information.%
\EndIndex{Cmd}{AtAddToTocList}%
\begin{Declaration}
\Macro{removefromtoclist}\OParameter{owner}\Parameter{extension}
\end{Declaration}
\BeginIndex{Cmd}{removefromtoclist}%
-This command
-removes the \PName{extension} from the list of known extensions. If the
-optional argument, \OParameter{owner}, was given, the \PName{extension} will
-only be removed if it was added by this \PName{owner}. See description of
+This command removes the \PName{extension} from the list of known extensions.
+If the optional argument, \OParameter{owner}, was given, the \PName{extension}
+will only be removed if it was added by this \PName{owner}. See description of
\Macro{addtotoclist} for information of omitting optional argument. Note that
an empty \PName{owner} is not the same like omitting the optional argument,
but removes the \PName{extension} without any owner test.%
@@ -258,14 +257,14 @@ but removes the \PName{extension} without any owner test.%
\end{Declaration}
\BeginIndex{Cmd}{doforeachtocfile}%
Until now you've learned to know commands that result in more safety in
-handling file extensions, but also needs some additional effort. With
-\Macro{doforeachtocfile}%^^A
-\ you will win for this. The command provides to processes \PName{instructions}
-for every known file extension of the given \PName{owner}. While processing
-the \PName{instructions} \Macro{@currext} is the extension of the current
-file. If you omit the optional argument, \OParameter{owner}, every known file
-extensions independent from the owner will be used. If the optional argument
-is empty, only file extensions with an empty owner will be processed.
+handling file name extensions, but also needs some additional effort. With
+\Macro{doforeachtocfile} you will win for this. The command provides to
+processes \PName{instructions} for every known file name extension of the
+given \PName{owner}. While processing the \PName{instructions}
+\Macro{@currext} is the extension of the current file. If you omit the
+optional argument, \OParameter{owner}, every known file name extension
+independent from the owner will be used. If the optional argument is empty,
+only file name extensions with an empty owner will be processed.
\begin{Example}
If you want to type out all known extensions, you may simply write:
\begin{lstcode}
@@ -282,45 +281,44 @@ is empty, only file extensions with an empty owner will be processed.
\Macro{tocbasicautomode}
\end{Declaration}
\BeginIndex{Cmd}{tocbasicautomode}%
-This command
-redefines \LaTeX{} kernel macro \Macro{@starttoc} to add all not yet added
-extensions to the list of known extensions and use \Macro{tocbasic@starttoc}
-instead of \Macro{@starttoc}. See \autoref{sec:tocbasic.internals}%^^A
-, \autopageref{desc:tocbasic.cmd.tocbasic@starttoc}
-for more information about \Macro{tocbasic@starttoc} and \Macro{@starttoc}.
+This command redefines \LaTeX{} kernel macro \Macro{@starttoc} to add all not
+yet added extensions to the list of known extensions and use
+\Macro{tocbasic@starttoc} instead of \Macro{@starttoc}. See
+\autoref{sec:tocbasic.internals},
+\autopageref{desc:tocbasic.cmd.tocbasic@starttoc} for more information about
+\Macro{tocbasic@starttoc} and \Macro{@starttoc}.
This means that after using \Macro{tocbasicautomode} every table of contents
or list of something, that will be generated using \Macro{@starttoc} will be
-at least partially under control of \Package{tocbasic}. Whether or not this will
-make the wanted result, depends on the individual table of contents and lists
-of something. At least the \Package{babel} control extension for
-all those tables of contents and lists of something will work. Nevertheless,
+at least partially under control of \Package{tocbasic}. Whether or not this
+will make the wanted result, depends on the individual TOC. At least the
+\Package{babel} control extension for all those TOCs will work. Nevertheless,
it would be better if the author of the corresponding class or package will
use \Package{tocbasic} explicitly. In that case additional advantages of
\Package{tocbasic} may be used that will be described at the following
sections.%
\EndIndex{Cmd}{tocbasicautomode}%
-\section{Creating a Table of Contents or List of Something}
+\section{Creating a Table or List of Contents}
\label{sec:tocbasic.toc}
-In the previous section you've seen commands to handle a list of known
-extensions and to trigger commands while adding a new extension to this
+In the previous section you've seen commands to handle a list of known file
+name extensions and to trigger commands while adding a new extension to this
list. You've also seen a command to do something for all known extensions or
-all known extensions of one owner. In this section you will see commands to
-handle the file corresponding with an extension or the list of known
-extensions.
+all known extensions of one owner. In this section you will learn to know
+commands to handle the file corresponding with an extension or the list of
+known extensions.
\begin{Declaration}
\Macro{addtoeachtocfile}\OParameter{owner}\Parameter{content}
\end{Declaration}
\BeginIndex{Cmd}{addtoeachtocfile}%
-This command
-writes \PName{content} to the files of every known file extension of
-\PName{owner} using \LaTeX{} kernel command \Macro{addtocontents}. If you omit
-the optional argument, \PName{content} is written to the files of every known
-file extension. Furthermore, the practical file name is built from
-\Macro{jobname} and the file extension. While writing the \PName{content},
+This command writes \PName{content} to the TOC-files\Index{TOC} of every known
+file name extension of \PName{owner} using \LaTeX{} kernel command
+\Macro{addtocontents}. If you omit the optional argument, \PName{content} is
+written to the files of every known file name extension. Furthermore, the
+practical file name is built from \Macro{jobname} and the file name
+extension. While writing the \PName{content},
\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} is the
extension of the currently handled file.
\begin{Example}
@@ -330,7 +328,7 @@ extension of the currently handled file.
\protect\addvspace{\protect\baselineskip}%
}
\end{lstcode}
- And if you want to do this, only for the toc-files of owner
+ And if you want to do this, only for the TOC-files of owner
``\PValue{foo}'':
\begin{lstcode}
\addtoeachtocfile[foo]{%
@@ -345,17 +343,17 @@ Commands, that shouldn't be expanded while writing, should be prefixed by
\begin{Declaration}
\Macro{addxcontentsline}%
- \Parameter{extension}\Parameter{level}\OParameter{number}%^^A
+ \Parameter{extension}\Parameter{level}\OParameter{number}%
\Parameter{text}
\end{Declaration}
\BeginIndex{Cmd}{addxcontentsline}%
-The command \Macro{addxcontentsline}
-adds an entry of given \PName{level} to toc-file with \PName{extension}. If
-the \Parameter{number} is empty or omitted the entry won't have a number for
-the entry with the given \PName{text}. Entries without number may be left
-aligned to the number of the numbered entries of the same \PName{level} or
-indented like the text of the numbered entries of the same \PName{level},
-depending on the \PValue{numberline} feature.
+The command \Macro{addxcontentsline} adds an entry of given \PName{level} to
+TOC-file with file name \PName{extension}. If the \Parameter{number} is empty
+or omitted the entry will not have number for the entry with the given
+\PName{text}. Entries without number may be left aligned to the number of the
+numbered entries of the same \PName{level} or indented like the text of the
+numbered entries of the same \PName{level}, depending on the
+\PValue{numberline} feature.
\begin{Example}
Maybe you are not using a \KOMAScript{} class but need a not numbered
@@ -373,7 +371,7 @@ depending on the \PValue{numberline} feature.
\PValue{numberline}.
\end{Example}
-Note, that \Macro{addxcontentsline} uses
+Note that \Macro{addxcontentsline} uses
\Macro{add\PName{level}\PName{extension}entry} if such a macro exists and
\Macro{tocbasic@addxcontentsline} otherwise. Therefore you cannot define
a macro \Macro{add\PName{level}\PName{extension}entry} using
@@ -384,26 +382,24 @@ It is recommended to use \Macro{addxcontentsline} instead of
\EndIndex{Cmd}{addxcontentsline}
\begin{Declaration}
- \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}%^^A
+ \Macro{addcontentslinetoeachtocfile}\OParameter{owner}\Parameter{level}%
\Parameter{contentsline}\\
- \Macro{addxcontentslinetoeachtocfile}\OParameter{owner}%^^A
+ \Macro{addxcontentslinetoeachtocfile}\OParameter{owner}%
\Parameter{level}\OParameter{number}\Parameter{text}
\end{Declaration}
\BeginIndex{Cmd}{addcontentslinetoeachtocfile}%
\BeginIndex{Cmd}{addxcontentslinetoeachtocfile}%
-The first command
-is something like \Macro{addcontentsline} from \LaTeX{} kernel. In difference
-to that it writes the \PName{contentsline} not only
-into one file, but into all files of all known file extensions or of all known
-file extensions of a given owner.
-
-The Command \Macro{addxcontentslinetoeachtocfile}%^^A
-\ is similar but uses
+The first command is something like \Macro{addcontentsline} from \LaTeX{}
+kernel. In difference to that it writes the \PName{contentsline} not only into
+one file, but into all files of all known file name extensions or of all known
+file name extensions of a given owner.
+
+The command \Macro{addxcontentslinetoeachtocfile} is similar but uses
\Macro{addxcontentsline} instead of \Macro{addcontentsline} and
therefore supports \Package{tocbasic} feature \PValue{numberline}.
\begin{Example}
You are a class author and want to write the chapter entry not only to the
- table of contents toc-file but to all toc-files, while \texttt{\#1} is the
+ table of contents TOC-file but to all TOC-files, while \texttt{\#1} is the
title, that should be written to the files.
\begin{lstcode}
\addxcontentslinetoeachtocfile
@@ -413,7 +409,7 @@ therefore supports \Package{tocbasic} feature \PValue{numberline}.
into the file. So it isn't protected from expansion using \Macro{protect}.
\end{Example}
While writing \Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}}
-is the file extension of the file into which \PName{contentsline} will be
+is the file name extension of the file into which \PName{contentsline} will be
written.
It is recommended to use \Macro{addxcontentslinetoeachtocfile} instead
@@ -422,45 +418,41 @@ of \Macro{addcontentslinetoeachtocfile} whenever possible.
\EndIndex{Cmd}{addcontentslinetoeachtocfile}%
\begin{Declaration}
- \Macro{listoftoc}\OParameter{list of title}\Parameter{extension}%^^A
-\\
- \Macro{listoftoc*}\Parameter{extension}%^^A
-\\
- \Macro{listofeachtoc}\OParameter{owner}%^^A
-\\
- \Macro{listof\PName{file-extension}name}
+ \Macro{listoftoc}\OParameter{list of title}\Parameter{extension}\\
+ \Macro{listoftoc*}\Parameter{extension}\\
+ \Macro{listofeachtoc}\OParameter{owner}\\
+ \Macro{listof\PName{extension}name}
\end{Declaration}
\BeginIndex{Cmd}{listoftoc*}%
\BeginIndex{Cmd}{listoftoc}%
\BeginIndex{Cmd}{listofeachtoc}%
-\BeginIndex{Cmd}{listof\PName{file-extension}name}%
-These commands
-may be used to set the ``list of'' corresponding to file
-extension. The\important{\Macro{listoftoc*}} star version \Macro{listoftoc*}
-needs only one argument, the extension of the file. It does setup the vertical
-and horizontal spacing of paragraphs, calls before hooks, reads the file, and
-last but not least calls the after hooks. You may interpret it as direct
-replacement of the \LaTeX{} kernel macro
+\BeginIndex{Cmd}{listof\PName{extension}name}%
+These commands may be used to print the TOC corresponding to file name
+\PName{extension}. The\important{\Macro{listoftoc*}} star version
+\Macro{listoftoc*} needs only one argument, the \PName{extension} of the
+file. It does setup the vertical and horizontal spacing of paragraphs, calls
+before hooks, reads the file, and last but not least calls the after hooks.
+You may interpret it as direct replacement of the \LaTeX{} kernel macro
\Macro{@starttoc}\IndexCmd{@starttoc}\important{\Macro{@starttoc}}.
-The\important{\Macro{listoftoc}} version without star, sets the whole file
+The\important{\Macro{listoftoc}} version without star, prints the whole file
with title, optional table of contents entry, and running heads. If the
optional argument \OParameter{list of title} was given, it will be used as
title term, optional table of contents entry and running head. Please
note\textnote{Attention!}: If the optional argument is empty, this term will
be empty, too! If you omit the optional argument, but
\Macro{listof\PName{extension}name} was defined, that will be used. If that is
-also not defined, a standard ersatz name will be used and reported by a
+also not defined, a standard replacement name will be used and reported by a
warning message.
The\important{\Macro{listofeachtoc}} command \Macro{listofeachtoc} outputs all
lists of something of the given \PName{owner} or of all known file
extensions. Thereby\textnote{Attention!}
-\Macro{listof\PName{file-extension}name} should be defined to get the correct
+\Macro{listof\PName{extension}name} should be defined to get the correct
titles.
It\textnote{Hint!} is recommended to define
-\Macro{listof\PName{file-extension}name} for all used file extensions, because
+\Macro{listof\PName{extension}name} for all used file name extensions, because
the user itself may use \Macro{listofeachtoc}.
\begin{Example}
Assumed, you have a new ``list of algorithms'' with extension \PValue{loa}
@@ -511,29 +503,27 @@ if there are no more write handles left. Loading package
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
(see \autoref{cha:scrwfile})
may solve this problem.
-\EndIndex{Cmd}{listof\PName{Dateierweiterung}name}%
+\EndIndex{Cmd}{listof\PName{extension}name}%
\EndIndex{Cmd}{listofeachtoc}%
\EndIndex{Cmd}{listoftoc*}%
\EndIndex{Cmd}{listoftoc}%
\begin{Declaration}
- \Macro{BeforeStartingTOC}\OParameter{extension}\Parameter{instructions}
-\\
+ \Macro{BeforeStartingTOC}\OParameter{extension}\Parameter{instructions}\\
\Macro{AfterStartingTOC}\OParameter{extension}\Parameter{instructions}
\end{Declaration}
\BeginIndex{Cmd}{BeforeStartingTOC}%
\BeginIndex{Cmd}{AfterStartingTOC}%
Sometimes it's useful, to process \PName{instructions} immediately before
-reading the helper file of a list of something.
-These commands
-may be used to process \PName{instructions} before or after loading the file
-with given \PName{extension} using \Macro{listoftoc*}, \Macro{listoftoc}, or
+reading the auxiliary file of a TOC. These commands may be used to process
+\PName{instructions} before or after loading the file with given
+\PName{extension} using \Macro{listoftoc*}, \Macro{listoftoc}, or
\Macro{listofeachtoc}. If you omit the optional argument (or set an empty
one) the general hooks will be set. The general before hook will be called
before the individuel one and the general after hook will be called after the
individuel one. While calling the hooks
\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} is the
-extension of the toc-file and should not be changed.
+extension of the TOC-file and should not be changed.
An example\textnote{Example} for usage of \Macro{AfterStartingTOC} may be
found in \autoref{sec:scrwfile.clonefilefeature} at
@@ -542,19 +532,17 @@ found in \autoref{sec:scrwfile.clonefilefeature} at
\EndIndex{Cmd}{BeforeStartingTOC}%
\begin{Declaration}
- \Macro{BeforeTOCHead}\OParameter{file extension}\Parameter{instructions}
-\\
- \Macro{AfterTOCHead}\OParameter{file extension}\Parameter{instructions}
+ \Macro{BeforeTOCHead}\OParameter{extension}\Parameter{instructions}\\
+ \Macro{AfterTOCHead}\OParameter{extension}\Parameter{instructions}
\end{Declaration}
\BeginIndex{Cmd}{BeforeTOCHead}%
\BeginIndex{Cmd}{AfterTOCHead}%
-This commands
-may be used to process \PName{instructions} before or after setting the title
-of a list of something corresponding to given \PName{file extension} using
-\Macro{listoftoc*} or \Macro{listoftoc}. If you omit the optional argument (or
-set an empty one) the general hooks will be set. The general before hook will
-be called before the individuel one and the general after hook will be called
-after the individuel one. While calling the hooks
+This commands may be used to process \PName{instructions} before or after
+setting the title of a TOC corresponding to given file name \PName{extension}
+using \Macro{listoftoc*} or \Macro{listoftoc}. If you omit the optional
+argument (or set an empty one) the general hooks will be set. The general
+before hook will be called before the individuel one and the general after
+hook will be called after the individuel one. While calling the hooks
\Macro{@currext}IndexCmd{@currext}\important{\Macro{@currext}} is the
extension of the corresponding file and should not be changed.
\EndIndex{Cmd}{AfterTOCHead}%
@@ -565,9 +553,9 @@ extension of the corresponding file and should not be changed.
\end{Declaration}
\BeginIndex{Cmd}{MakeMarkcase}%
Whenever \Package{tocbasic} sets a mark for a running head, The text of the
-mark will be an argument of \Macro{MakeMarkcase}%^^A
-. This command may be used, to change the case of the letters at the running
-head if wanted. The default is, to use
+mark will be an argument of \Macro{MakeMarkcase}. This command may be used, to
+change the case of the letters at the running head if wanted. The default is,
+to use
\Macro{@firstofone}\IndexCmd{@firstofone}\important{\Macro{@firstofone}} for
\KOMAScript{} classes. This means the text of the running head will be set
without change of case.
@@ -584,51 +572,48 @@ overwrite that definition.
\let\MakeMarkcase\MakeLowercase
\end{lstcode}
\end{Example}
-Please\textnote{Hint!} allow me some words about \Macro{MakeUppercase}, First
-of all this command isn't fully expandable. This means, that problems may
-occur using it in the context of other commands. Beyond that typographers
-accord, that whenever setting whole words or phrases in capitals, letter
-spacing is absolutely necessary. But correct letter spacing of capitals
-shouldn't be done with a fix white space between all letters. Different pairs
-of letters need different space between each other. Additional some letters
-build holes in the text, that have to be taken into account. Packages like
-\Package{ulem} or \Package{soul} doesn't provide this and
-\Macro{MakeUppercase} doesn't do anything like this. Also automatic letter
-spacing using package \Package{microtype} is only one step to a less-than-ideal
-solution, because it cannot recognize and take into account the glyphs of the
-letters. Because of this\textnote{Attention!} typesetting whole words and
-phrases is expert work and almost ever must be hand made. So average users are
-recommended to not do that or to use it only spare and not at exposed places
-like running heads.%
+Please\textnote{Hint!} allow me some words about
+\Macro{MakeUppercase}\IndexCmd{MakeUppercase}, First of all this command isn't
+fully expandable. This means, that problems may occur using it in the context
+of other commands. Beyond that typographers accord, that whenever setting
+whole words or phrases in capitals, letter spacing is absolutely
+necessary. But correct letter spacing of capitals should not be done with a
+fix white space between all letters. Different pairs of letters need different
+space between each other. Additional some letters build holes in the text,
+that have to be taken into account. Packages like \Package{ulem} or
+\Package{soul} doesn't provide this and \Macro{MakeUppercase} does not do
+anything like this. Also automatic letter spacing using package
+\Package{microtype} is only one step to a less-than-ideal solution, because it
+cannot recognize and take into account the glyphs of the letters. Because of
+this\textnote{Attention!} typesetting whole words and phrases is expert work
+and almost ever must be hand made. So average users are recommended to not do
+that or to use it only spare and not at exposed places like running heads.%
\EndIndex{Cmd}{MakeMarkcase}%
\begin{Declaration}
- \Macro{deftocheading}\Parameter{file extension}\Parameter{definition}
+ \Macro{deftocheading}\Parameter{extension}\Parameter{definition}
\end{Declaration}
\BeginIndex{Cmd}{deftocheading}%
The package \Package{tocbasic} contains a standard definition for typesetting
-headings of tables of contents or lists of something. This standard definition
-is configurable by several features, described at \Macro{setuptoc} next. But
-if all those features are not enough, an alternative heading command may be
-defined using \Macro{deftocheading}%^^A
-. Thereby \PName{file extension} is the file extension of the corresponding
-helper file. The \PName{definition} of the heading command may use one single
-parameter \PValue{\#1}. While calling the newly defined command inside of
-\Macro{listoftoc} or \Macro{listofeachtoc} that \PValue{\#1} will be replaced by the
-corresponding heading term.
+headings of TOCs. This standard definition is configurable by several
+features, described at \Macro{setuptoc} next. But if all those features are
+not enough, an alternative heading command may be defined using
+\Macro{deftocheading}. Thereby \PName{extension} is the file name extension of
+the corresponding TOC-file. The \PName{definition} of the heading command may
+use one single parameter \PValue{\#1}. While calling the newly defined command
+inside of \Macro{listoftoc} or \Macro{listofeachtoc} that \PValue{\#1} will be
+replaced by the corresponding heading term.%
\EndIndex{Cmd}{deftocheading}%
\begin{Declaration}
- \Macro{setuptoc}\Parameter{file extension}\Parameter{feature list}
-\\
- \Macro{unsettoc}\Parameter{file extension}\Parameter{feature list}
+ \Macro{setuptoc}\Parameter{extension}\Parameter{feature list}\\
+ \Macro{unsettoc}\Parameter{extension}\Parameter{feature list}
\end{Declaration}
\BeginIndex{Cmd}{setuptoc}%
\BeginIndex{Cmd}{unsettoc}%
-This commands
-set up and unset features bound to an \PName{file extension}. The
-\PName{feature list} is a comma seperated list of single
-features. \Package{tocbasic} does know following features:
+This commands set up and unset features bound to a file name
+\PName{extension}. The \PName{feature list} is a comma separated list of
+single features. \Package{tocbasic} does know following features:
\begin{description}
\item[\texttt{leveldown}] uses not the top level heading below
\Macro{part}\,---\,\Macro{chapter} if available, \Macro{section}
@@ -638,14 +623,13 @@ features. \Package{tocbasic} does know following features:
for the evaluation of the feature. The \KOMAScript{} classes set this
feature using option
\OptionValue{listof}{leveldown}important{\OptionValue{listof}{leveldown}}%
- \IndexOption{listof~=\PValue{leveldown}} for all file extensions of the
+ \IndexOption{listof~=\PValue{leveldown}} for all file name extensions of the
owner \PValue{float}.
\item[\texttt{nobabel}] prevents usage of the language switch of
- \Package{babel}\IndexPackage{babel} at the helper file with the
- corresponding \PName{file extension}. This feature should be used only for
- helper files, that contain text in one language only. Changes of the
- language inside of the document will not longer regarded at the helper
- file. Package
+ \Package{babel}\IndexPackage{babel} at the TOC-file with the corresponding
+ file name \PName{extension}. This feature should be used only for auxiliary
+ files, that contain text in one language only. Changes of the language
+ inside of the document will not longer regarded at the TOC-file. Package
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile} uses
this feature also for clone destinations, because those will get the
language change from the clone source already.
@@ -655,58 +639,76 @@ features. \Package{tocbasic} does know following features:
distance is less vertical space between heading and first entry than between
normal headings and normal text.
\item[\texttt{noprotrusion}] prevents\ChangedAt{v3.10}{\Package{tocbasic}}
- disabling character protrusion at the lists of something. Character
- protrusion at the lists will be disabled by default if package
+ disabling character protrusion at the TOC. Character protrusion at the TOCs
+ will be disabled by default if package
\Package{microtype}\IndexPackage{microtype} or another package, that
supports \Macro{microtypesetup}\IndexCmd{microtypesetup}, was loaded. So if
- you want protrusion at the lists, you have to set this feature. But
- note\textnote{Attention!}, that with character protrusion entries at the
- list may be set wrong. This is a known issue of character protrusion.
-\item[\texttt{numbered}] uses a numbered heading for the table of contents or
- list of something and because of this also generates an entry to the table
- of contents. This feature will be evaluated by the internal heading
- command. On the other hand, if an user defined heading command has been made
- with \Macro{deftocheading}, that user is responsible for the evaluation of
- the feature. The \KOMAScript{} classes set this feature using option
+ you want protrusion at a TOC, you have to set this feature. But
+ note\textnote{Attention!}, with character protrusion TOC-entries may be
+ printed wrong. This is a known issue of character protrusion.
+\item[\texttt{numbered}] uses a numbered heading for the TOC and because of
+ this also generates an entry to the table of contents. This feature will be
+ evaluated by the internal heading command. On the other hand, if an user
+ defined heading command has been made with \Macro{deftocheading}, that user
+ is responsible for the evaluation of the feature. The \KOMAScript{} classes
+ set this feature using option
\OptionValue{listof}{numbered}\important{\OptionValue{listof}{numbered}}%
- \IndexOption{listof~=\PValue{numbered}} for all file extensions of the owner
- \PValue{float}.
+ \IndexOption{listof~=\PValue{numbered}} for all file name extensions of the
+ owner \PValue{float}.
\item[\texttt{numberline}] \leavevmode\ChangedAt{v3.12}{\Package{tocbasic}}%
redefines \Macro{nonumberline} to use \Macro{numberline}. With this the not
numbered entries generated by \KOMAScript{} or using \Macro{nonumberline} at
the very beginning of the last argument of \Macro{addcontentline} will also
- be indented like numbered entries of the same type.
+ be indented like numbered entries of the same
+ type. Using\ChangedAt{v3.20}{\Package{tocbasic}} \Macro{numberline} for
+ entries without number\ChangedAt{v3.20}{\Package{tocbasic}} can have
+ additional side effects if you use entry style \PValue{tocline}. See style
+ attribute \Option{breakafternumber} and \Option{entrynumberformat} in
+ \autoref{tab:tocbasic.tocstyle.attributes} from
+ \autopageref{tab:tocbasic.tocstyle.attributes} downwards.
+
+ \KOMAScript{} classes set this feature for the file name extensions of the
+ owner \PValue{float} if you use option \OptionValue{listof}{numberline}%
+ \important{\OptionValue{listof}{numberline}}%
+ \IndexOption{listof~=\PValue{numberline}} and for file name extension
+ \PValue{toc} if you use option
+ \OptionValue{toc}{numberline}\important{\OptionValue{toc}{numberline}}%
+ \IndexOption{toc~=\PValue{numberline}}. Analogous they reset this feature if
+ you use \OptionValue{listof}{nonumberline}%
+ \important{\OptionValue{listof}{nonumberline}}%
+ \IndexOption{listof~=\PValue{nonumberline}} or
+ \OptionValue{toc}{nonumberline}%
+ \important{\OptionValue{toc}{nonumberline}}%
+ \IndexOption{toc~=\PValue{nonumberline}}.
\item[\texttt{onecolumn}] \leavevmode\ChangedAt{v3.01}{\Package{tocbasic}}%
- typesets the corresponding table of contents or list of something with
- internal one column mode of
+ typesets the corresponding TOC with internal one column mode of
\Macro{onecolumn}\IndexCmd{onecolumn}. This\textnote{Attention!} will be
- done only, if the corresponding table of contents or list of something
- doesn't use feature \PValue{leveldown}\important{\PValue{leveldown}}. The
+ done only, if the corresponding table of contents or list of something does
+ not use feature \PValue{leveldown}\important{\PValue{leveldown}}. The
\KOMAScript{} classes \Class{scrbook} and \Class{scrreprt} activate this
- feature with \Macro{AtAddToTocList} (see \autoref{sec:tocbasic.basics}%^^A
- , \autopageref{desc:tocbasic.cmd.AtAddToTocList}%^^A
- ) for all lists of something with owner \PValue{float} or with themselves as
- owner. With this, e.\,g., the table of contents, the list of figures and the
- list of tables of both classes will be single columned automatically. The
- multiple-column-mode of package \Package{multicol}\IndexPackage{multicol}
- will not be recognized or changed by this option.
-\item[\texttt{totoc}] writes the title of the corresponding table of contents
- or the list of something to the table of contents. This feature will be
- evaluated by the internal heading command. On the other hand, if an user
- defined heading command has been made with \Macro{deftocheading}, that user
- is responsible for the evaluation of the feature. The \KOMAScript{} classes
- set this feature using option
+ feature with \Macro{AtAddToTocList} (see \autoref{sec:tocbasic.basics},
+ \autopageref{desc:tocbasic.cmd.AtAddToTocList}) for all TOCs with owner
+ \PValue{float} or with themselves as owner. With this, e.\,g., the table of
+ contents, the list of figures and the list of tables of both classes will be
+ single columned automatically. The multiple-column-mode of package
+ \Package{multicol}\IndexPackage{multicol} will not be recognised or changed
+ by this option.
+\item[\texttt{totoc}] writes the title of the corresponding TOC to the table
+ of contents. This feature will be evaluated by the internal heading
+ command. On the other hand, if an user defined heading command has been made
+ with \Macro{deftocheading}, that user is responsible for the evaluation of
+ the feature. The \KOMAScript{} classes set this feature using option
\OptionValue{listof}{totoc}\important{\OptionValue{listof}{totoc}}%
- \IndexOption{listof~=\PValue{totoc}} for all file extensions of the owner
- \PValue{float}.
+ \IndexOption{listof~=\PValue{totoc}} for all file name extensions of the
+ owner \PValue{float}.
\end{description}
Classes and packages may know features, too, e.\,g, the \KOMAScript{} classes
know following additional features:
\begin{description}
-\item[\texttt{chapteratlist}] activates special code to be put into the list
- at start of a new chapter. This code may either be vertical space or the
- heading of the chapter.
- See \Option{listof}\IndexOption{listof}\important{\Option{listof}} in
+\item[\texttt{chapteratlist}] activates special code to be put into the TOC at
+ start of a new chapter. This code may either be vertical space or the
+ heading of the chapter. See
+ \Option{listof}\IndexOption{listof}\important{\Option{listof}} in
\autoref{sec:maincls.floats}, \autopageref{desc:maincls.option.listof} for
more information about such features.
\end{description}
@@ -720,8 +722,8 @@ know following additional features:
\end{lstcode}
And if you want to have the chapter structuring of the \KOMAScript{} classes
- at your own list of algorithms with \PName{file extension} ``\PValue{load}''
- from the previous examples, you may use
+ at your own list of algorithms with file name \PName{extension}
+ ``\PValue{loa}'' from the previous examples, you may use
\begin{lstcode}
\setuptoc{loa}{chapteratlist}
\end{lstcode}
@@ -732,17 +734,16 @@ know following additional features:
\setuptoc{loa}{onecolumn}%
}
\end{lstcode}
- Usage of \Macro{ifundefinedorrelax} presumes package \Package{scrbase}%^^A
- \ (see \autoref{sec:scrbase.if},
- \autopageref{desc:scrbase.cmd.ifundefinedorrelax})%^^A
- .
+ Usage of \Macro{ifundefinedorrelax} presumes package \Package{scrbase} (see
+ \autoref{sec:scrbase.if},
+ \autopageref{desc:scrbase.cmd.ifundefinedorrelax}).
It\textnote{Hint!} doesn't matter if you're package would be used with
another class. You should never the less set this feature. And if the other
- class would also recognize the feature your package would automatically use
+ class would also recognise the feature your package would automatically use
the feature of that class.
\end{Example}
-As you may see, packages, that use \Package{tocbasic}, already provide several
+As you may see, packages that use \Package{tocbasic}, already provide several
interesting features, without the need of a lot of implementation effort. Such
an effort would be needed only without \Package{tocbasic} and because of this,
most packages currently lack of such features.%
@@ -750,19 +751,916 @@ most packages currently lack of such features.%
\EndIndex{Cmd}{setuptoc}%
\begin{Declaration}
- \Macro{iftocfeature}\Parameter{file extension}\Parameter{feature}%^^A
- \Parameter{true-instructions}%^^A
- \Parameter{false-instructions}
+ \Macro{iftocfeature}\Parameter{extension}\Parameter{feature}%
+ \Parameter{true-instructions}\Parameter{false-instructions}
\end{Declaration}
\BeginIndex{Cmd}{iftocfeature}%
-This command
-may be used, to test, if a \PName{feature} was set for \PName{file
- extension}. If so the \PName{true-instructions} will be processed, otherwise
-the \PName{false-instruction} will be. This may be useful, e.\,g., if you
-define your own heading command using \Macro{deftocheading} but want to
-support the features \PValue{totoc}, \PValue{numbered} or \PValue{leveldown}.
+This command may be used, to test, if a \PName{feature} was set for file name
+\PName{extension}. If so the \PName{true-instructions} will be processed,
+otherwise the \PName{false-instruction} will be. This may be useful, e.\,g.,
+if you define your own heading command using \Macro{deftocheading} but want to
+support the features \PValue{totoc}, \PValue{numbered} or \PValue{leveldown}.%
\EndIndex{Cmd}{iftocfeature}%
+
+\section{Configuration of Entries to a Table or List of Contents}
+\seclabel{tocstyle}%
+\BeginIndex{}{table of contents>entry}%
+\Index{list of contents|\see{table of contents}}
+
+Since\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} version~3.20 package
+\Package{tocbasic} can not only configure the tables or lists of contents and
+their auxiliary files but also influence their entries. To do so, you can
+define new styles or you can use and configure one of the predefined
+styles. In the medium term \Package{tocbasic} will replace the experimental
+package \Package{tocstyle} that never became an official part of the
+\KOMAScript{} bundle. The \KOMAScript{} classes intensively use the TOC-entry
+styles of \Package{tocbasic} since version~3.20.
+
+\begin{Declaration}
+ \Macro{numberline}\Parameter{entry number}\\
+ \Macro{usetocbasicnumberline}\OParameter{code}
+\end{Declaration}
+\BeginIndex{Cmd}{numberline}%
+\BeginIndex{Cmd}{usetocbasicnumberline}%
+Though\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} the \LaTeX{} kernel
+already defines command \Macro{numberline}, the kernel definition is not
+sufficient for \Package{tocbasic}. Therefore \Package{tocbasic} has its own
+definition of \Macro{numberline}. The package uses
+\Macro{usetocbasicnumberline} to activate this definition whenever a TOC-entry
+needs it. Because of this, re-defining \Macro{numberline} often does not work
+and even may result in warnings if you use \Package{tocbasic}.
+
+You can use the definition of \Package{tocbasic} putting
+\Macro{usetocbasicnumberline} into your document's preamble. The command first
+of all checks, whether or not the current definition of \Macro{numberline}
+uses essential, internal commands of \Package{tocbasic}. Only if this is not
+the case \Macro{usetocbasicnumberline} redefines \Macro{numberline} and
+executes \PName{code}. If you omit the optional argument, a
+\Macro{PackageInfo} outputs a message about the successful re-definition. If
+you just do not want such a message, use an empty optional argument.
+
+Please note\textnote{Attention!}, as a side effect
+\Macro{usetocbasicnumberline} can globally change the internal switch
+\Macro{@tempswa}!%
+\EndIndex{Cmd}{usetocbasicnumberline}%
+\EndIndex{Cmd}{numberline}%
+
+
+\begin{Declaration}
+ \Macro{DeclareTOCStyleEntry}\OParameter{option list}\Parameter{style}%
+ \Parameter{entry level}
+\end{Declaration}
+\BeginIndex{Cmd}{DeclareTOCStyleEntry}%
+This\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} command is used to define
+or configure the TOC-entries of a given \PName{entry level}. Argument
+\PName{entry level} is a symbolic name, e.\,g., \PValue{section} for the entry
+to the table of contents of the section level with the same name or
+\PValue{figure} for an entry of a figure to the list of figures. A \PName{style}
+is assigned to each \PName{entry level}. The \PName{style} has to be defined
+before using it as an argument of \Macro{DeclareTOCStyleEntry}. The
+\PName{option list} is used to configure several \PName{style}-dependent
+attributes of the \PName{entry level}.
+
+Currently, \Package{tocbasic} defines the following entry styles:
+\begin{description}
+\item[\PValue{default}] defaults to a clone of style
+ \PValue{dottedtocline}. It is recommended to class authors, who use
+ \Package{tocbasic}, to change this style into the default style of the class
+ using \Macro{CloneTOCStyle}. For example the \KOMAScript{} classes change
+ \PValue{default} into a clone of \PValue{tocline}.
+\item[\PValue{dottedtocline}] is similar to the style used by the standard
+ classes \Class{book} and \Class{report} for the \PValue{section} down to
+ \PValue{subparagraph} entry levels of the table of contents and for the
+ entries at the list of figures or list of tables. It supports the attributes
+ \PValue{level}, \PValue{indent}, and \PValue{numwidth}. The entries will be
+ indented by the value of \PValue{indent} from the left. The width of the
+ entry number is given by the value of \PValue{numwidth}. For multiline
+ entries the indent will be increased by the value of \PValue{numwidth} for
+ the second and following lines. The page number is printed using
+ \Macro{normalfont}\IndexCmd{normalfont}. Entry text and page number are
+ connected by a dotted line. \hyperref[fig:tocbasic.dottedtocline]%
+ {Figure~\ref*{fig:tocbasic.dottedtocline}} illustrates the attributes of
+ this style.
+ \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}%
+ Text of an entry to the table of contents with style
+ \PValue{dottedtocline} and more than one line%
+ \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{Illustrations of some attributes of a TOC-entry with style
+ \PValue{dottedtocline}}
+ \label{fig:tocbasic.dottedtocline}
+ \end{figure}
+\item[\PValue{gobble}] is the most ordinary style. Independently from the
+ setting of
+ \Counter{tocdepth}\IndexCounter{tocdepth}\important{\Counter{tocdepth}},
+ entries with this style will never be printed. The style simply gobbles the
+ entries. Nevertheless, it supports the standard attribute \PValue{level} but
+ does ignore it.
+\item[\PValue{largetocline}] is similar to the style used by the
+ standard classes for the level \PValue{part}. It supports attributes
+ \PValue{level} and \PValue{indent} only. The last one is already a variation
+ of the standard classes that do not support an indent of the \PValue{part}
+ entries.
+
+ Before an entry a page break will be made easier. The entries will be
+ indented by the value of \PValue{indent} from the left. They are printed
+ using \Macro{large}\Macro{bfseries}. If \Macro{numberline} is used, the
+ number width is 3\Unit{em}. \Macro{numberline} is not redefined. The
+ standard classes do not use \Macro{numberline} for \PName{part} entries. The
+ value of \PName{indent} even does not influence the indent from the second
+ line of an entry.
+
+ \hyperref[fig:tocbasic.largetocline]%
+ {Figure~\ref*{fig:tocbasic.largetocline}} illustrates the attributes of
+ this style. There you can also see that the style copies inconsistencies of
+ the standard classes, e.\,g. the missing indent of the second and following
+ lines of an entry or the different values of \Macro{@pnumwidth} that results
+ from the font size dependency. This can even result in a to small distance
+ between the entry text and the page number. Please note, the entry number
+ width shown in the figure is only valid if \Macro{numberline} has been
+ used. In contrast, the standard classes use a distance of 1\Unit{em} after
+ the number.
+ \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
+ Text of an entry to the table of contents with style
+ \PValue{largetocline} and more than one line%
+ \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{Illustrations of some attributes of a TOC-entry with style
+ \PValue{largetocline}}
+ \label{fig:tocbasic.largetocline}
+ \end{figure}
+\item[\PValue{tocline}] is a very flexible style. The \KOMAScript{} classes
+ use this style by default for all kinds of entries. Classes \Class{scrbook}
+ and \Class{scrreprt} respectively \Class{scrartcl} also define
+ clones \PValue{part}, \PValue{chapter} and \PValue{section} respectively
+ \PValue{section} and \PValue{subsection}, but add extra
+ \PName{initial code} to the clones to change their defaults.
+
+ The style supports attributes \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}, and
+ \PValue{raggedpagenumber}. The defaults of all these attributes depend on
+ the name of the \PName{entry level}. They correspond to the results of the
+ standard classes. So after loading \Package{tocbasic}, you can change the
+ style of the standard classes entries to the table of contents into
+ \PValue{tocline} using \Macro{DeclareTOCEntryStyle} without obvious visual
+ changes unless you change exactly these attributes that should induce such
+ changes. Same is valid for list of figures or list of tables of the standard
+ classes.
+
+ Because of the flexibility of this style it even could be used instead of
+ the styles \PValue{dottedtocline}, \PValue{undottedtocline} or
+ \PValue{largetocline}. However it needs more effort for configuration.
+
+ {Figure~\ref*{fig:tocbasic.tocline}} illustrates some of the length
+ attributes of this style. All attributes are described in
+ \autoref{tab:tocbasic.tocstyle.attributes} from
+ \autopageref{tab:tocbasic.tocstyle.attributes}.
+ \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 Text of a part entry with style
+ \PValue{tocline} and with at least two lines of text}%
+ \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{Text of a chapter entry with style
+ \PValue{tocline} and for demonstration purpose with more than one
+ line of text}%
+ \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.}%
+ Text of a section entry with style
+ \PValue{tocline} and for demonstration purpose with more than one
+ line of text%
+ \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.}%
+ Text of a subsection entry with style
+ \PValue{tocline} and for demonstration purpose with more than one
+ line of text%
+ \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{Illustrations of some attributes of a TOC-entry with style
+ \PValue{tocline}}
+ \label{fig:tocbasic.tocline}
+ \end{figure}
+\item[\PValue{undottedtocline}] is similar to the style used by the standard
+ classes \Class{book} and \Class{report} for the \PValue{chapter} entry level
+ or by \Class{article} for the \PValue{section} entry level of the table of
+ contents. It supports the attributes \PValue{level}, \PValue{indent}, and
+ \PValue{numwidth}. The last one is already a variation of the standard
+ classes that do not support an indent of these entry levels.
+
+ Before an entry, a page break will be made easier. The entries will be
+ indented by the value of \PValue{indent} from the left. They are printed
+ using \Macro{bfseries}. \Macro{numberline} is used unchanged. The width of
+ the entry number is given by the value of \PValue{numwidth}. For multiline
+ entries the indent will be increased by the value of \PValue{numwidth} for
+ the second and following lines. \hyperref[fig:tocbasic.undottedtocline]%
+ {Figure~\ref*{fig:tocbasic.undottedtocline}} illustrates the attributes of
+ this style.
+ \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
+ Text of an entry to the table of contents with style
+ \PValue{undottedtocline} and more than one line%
+ }%
+ \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 of some attributes of style \PValue{undottedtocline}
+ by the example of a chapter title}%
+ \label{fig:tocbasic.undottedtocline}
+ \end{figure}
+\end{description}
+\hyperref[tab:tocbasic.tocstyle.attributes]%
+{Table~\ref*{tab:tocbasic.tocstyle.attributes}} describes all attributes of
+all styles defined by \Package{tocbasic}. If you want to use these attributes
+as options to \Macro{DeclareNewTOC} (see
+\autopageref{desc:tocbasic.cmd.DeclareNewTOC}) or
+\Macro{DeclareSectionCommand} (see
+\autopageref{desc:maincls-experts.cmd.DeclareSectionCommand}) and similar
+commands you have to prefix the names of the attributes by \PValue{toc}, e\,g.,
+attribute \PValue{level} becomes option \Option{toclevel}.
+
+Last but not least using \Macro{DeclareTOCStyleEntry} will define internal
+command \Macro{l@\PName{entry level}}.
+
+\begin{desclist}
+ \desccaption{%
+ Attributes of the predefined TOC-entry styles of \Package{tocbasic}%
+ \label{tab:tocbasic.tocstyle.attributes}%
+ }{%
+ Attributes of the TOC-entry styles (\emph{continuation})%
+ }%
+ \entry{\KOption{beforeskip}\PName{length}}{%
+ vertical distance, inserted before an entry of this level using style
+ \PValue{tocline} (see \autoref{fig:tocbasic.tocline}). The distance is
+ made using either \Macro{vskip} or \Macro{addvspace} depending on the
+ \PName{entry level} to adapt the differences of the standard classes and
+ former versions of \KOMAScript.
+
+ At \PName{entry level} \PValue{part} the attribute will be initialised
+ with \texttt{2.25em plus 1pt}, at \PValue{chapter} with \texttt{1em plus
+ 1pt}. If \PName{entry level} currently is unknown, rather
+ \PValue{section} is initialised with \texttt{1em plus 1pt}. The initial
+ value for all other levels is \texttt{0pt plus .2pt}.%
+ }%
+ \entry{\KOption{breakafternumber}\PName{switch}}{%
+ \PName{switch} is one of the values for simple switches from
+ \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. If the
+ switch is active with style \PValue{tocline}, there will be a line break
+ after the entry number of \Macro{numberline}\IndexCmd{numberline}. The
+ line after the entry number again starts left aligned with the number.
+
+ This switch is not active by default at style \PValue{tocline}.
+
+ If\textnote{Attention!} the feature \Option{numberline} of a list of
+ something has been activated (see \Macro{setuptoc},
+ \autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.setuptoc}),
+ i.\,e., if a \KOMAScript{} class with option
+ \OptionValue{toc}{numberline}\IndexOption{toc~=\PValue{numberline}} is
+ used, then the not numbered entries will nevertheless have a (by default
+ empty) number line using the format code of \Option{entrynumberformat}.%
+ }%
+ \entry{\KOption{dynnumwidth}\PName{switch}}{%
+ \PName{switch} is one of the values for simple switches from
+ \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. If the
+ switch is active with style \PValue{tocline}, attribute \PValue{numwidth}
+ is ignored. Instead of that the maximum number width detected at the
+ previous \LaTeX{} run increased by the value of \PValue{numsep} is used.%
+ }%
+ \entry{\KOption{entryformat}\PName{command}}{%
+ This attributes makes the format of the entry. The value should be a
+ \PName{command} with exactly one argument. The \PName{command} should not
+ expect the argument to be fully expandable. Commands like
+ \Macro{MakeUppercase}, that need a fully expandable argument, must no be
+ used here. Font changes are allowed and are relative to
+ \Macro{normalfont}\Macro{normalsize}. Please note that the output of
+ \Option{linefill} and the page number are independent from
+ \Option{entryformat}. See also attribute \Option{pagenumberformat}.
+
+ The initial value of the attribute for \PName{entry level} \PValue{part}
+ is printing the argument in \Macro{large}\Macro{bfseries} and for
+ \PValue{chapter} printing the argument in \Macro{bfseries}. If currently
+ no level \PValue{chapter} exists, \PValue{section} used
+ \Macro{bfseries}. All other levels print the argument unchanged.%
+ }%
+ \entry{\KOption{entrynumberformat}\PName{command}}{%
+ This attribute makes the format of the entry number within
+ \Macro{numberline}. The value should be a \PName{command} with exactly one
+ argument. Font changes are relative to the one of attribute
+ \Option{entryformat}.
+
+ The initial \PName{command} prints the argument unchanged. This means the
+ entry number will be printed as it is.
+
+ If\textnote{Attention!} the feature \Option{numberline} of a list of
+ something has been activated (see \Macro{setuptoc},
+ \autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.setuptoc}),
+ i.\,e., if a \KOMAScript{} class with option
+ \OptionValue{toc}{numberline}\IndexOption{toc~=\PValue{numberline}} is
+ used, then the not numbered entries will nevertheless execute the
+ \PName{command}.%
+ }%
+ \entry{\KOption{indent}\PName{length}}{%
+ Horizontal distance of the entry relative to the left margin (siehe
+ \autoref{fig:tocbasic.dottedtocline} and \autoref{fig:tocbasic.tocline}).
+
+ At style \PValue{tocline} all entry levels with a name that starts with
+ ``\texttt{sub}'' are initialised with the sum of the values of
+ \PValue{indent} and \PValue{numwidth} of the entry level without this
+ prefix. At styles \PValue{dottedtocline}, \PValue{undottedtocline} and
+ \PValue{tocline} the initial values of levels \PValue{part} down to
+ \PValue{subparagraph} and the levels \PValue{figure} and \PValue{table}
+ are compatible with the standard classes. All other levels do not have an
+ initial value. Therefore you have to set an explicit value for such
+ levels when they are defined first time.%
+ }%
+ \entry{\KOption{level}\PName{integer}}{%
+ The numerical value of the \PName{entry level}. Only those entries are
+ printed that have a numerical value less or equal to counter
+ \Counter{tocdepth}\important{\Counter{tocdepth}}\IndexCounter{tocdepth}.
+
+ This attribute is mandatory for all styles and will be defined
+ automatically at the declaration of the style.
+
+ At style \PValue{tocline} all entry levels with a name starting with
+ ``\texttt{sub}'', the initial value is the level value of the entry level
+ without this prefix increased by one. At the styles \PValue{dottedtocline},
+ \PValue{largetocline}, \PValue{tocline}, and \PValue{undottedtocline}
+ entry levels \PValue{part} down to \PValue{subparagraph}, \PValue{figure},
+ and \PValue{table} are initialised compatible with the standard
+ classes. For all other levels the initialisation is done with the value of
+ \Macro{\PName{entry level}numdepth} if this is defined.%
+ }%
+ \entry{\KOption{linefill}\PName{code}}{%
+ At style \PValue{tocline} there can be a filler between the end of the
+ entry text and the page number. The value of attribute \PName{linefill} is
+ a \PName{code} that prints this filler. For \PName{entry level}
+ \PValue{part} and \PValue{chapter} the attribute is initialised with
+ \Macro{hfill}. If currently no \PName{entry level} \PValue{chapter} has
+ been defined, \PValue{section} also uses \Macro{hfill}. All other entry
+ levels are initialised with \Macro{TOCLineLeaderFill} (see
+ \autopageref{desc:tocbasic.cmd.TOCLineLeaderFill}).
+
+ If \PName{code} does not result in filling the distance, you should also
+ activate attribute \PValue{raggedpagenumber}, to avoid ``\texttt{underfull
+ \Macro{hbox}}'' messages.%
+ }%
+ \entry{\KOption{numsep}\PName{length}}{%
+ Style \PValue{tocline} tries to ensure a minimum distance of
+ \PName{length} between the entry number and the entry text. If
+ \PValue{dynnumwidth} is active, it will correct the number width to achieve
+ this. Otherwise it simply throws a warning, if the condition is missed.
+
+ The initial \PName{length} is 0.4\Unit{em}.%
+ }%
+ \entry{\KOption{numwidth}\PName{length}}{%
+ The reserved width for the entry number (see
+ \autoref{fig:tocbasic.dottedtocline} until
+ \autoref{fig:tocbasic.undottedtocline}). At the styles
+ \PValue{dottedtocline}, \PValue{tocline}, and \PValue{undottedtocline}
+ this \PName{length} will be added to the \PName{length} of attribute
+ \PValue{indent} for the second and each following entry text line.
+
+ At style \PValue{tocline} the initial \PName{length} of all entries with
+ a name starting with ``\texttt{sub}'' is the value of the level without
+ this prefix plus 0.9\Unit{em}. At the styles \PValue{dottedtocline},
+ \PValue{undottedtocline} and \PValue{tocline} the initial \PName{length}
+ of levels \PValue{part} down to \PValue{subparagraph} and levels
+ \PName{figure} and \PName{table} is compatible to the standard
+ classes. All other levels do not have an initial value. Therefore you
+ have to explicitly set \PValue{numwidth} at the first definition of the
+ entry.%
+ }%
+ \entry{\KOption{onstarthigherlevel}\PName{code}}{%
+ Style \PValue{tocline} can execute \PName{code} at the start of an entry,
+ if the numerical level is greater than the numerical level of the previous
+ entry. Remember: The numerical level of, e.\,g., \PValue{section} is
+ greater than the numerical level of \PValue{part}. Nevertheless
+ \PValue{part} has the highest position in the entry hierarchy.
+
+ Please note that the detection of the level of the previous entry depends
+ on a valid unchanged value of \Macro{lastpenalty}.
+
+ The initial \PName{code} is \Macro{LastTOCLevelWasLower} (see
+ \autopageref{desc:tocbasic.cmd.LastTOCLevelWasLower}).%
+ }%
+ \entry{\KOption{onstartlowerlevel}\PName{code}}{%
+ Style \PValue{tocline} can execute \PName{code} at the start of an entry,
+ if the numerical level is lower than the numerical level of the previous
+ entry. Remember: The numerical level of, e.\,g., \PValue{part} is
+ lower than the numerical level of \PValue{section}. Nevertheless
+ \PValue{part} has the highest position in the entry hierarchy.
+
+ Please note that the detection of the level of the previous entry depends
+ on a valid unchanged value of \Macro{lastpenalty}.
+
+ The initial \PName{code} is \Macro{LastTOCLevelWasHigher} (see
+ \autopageref{desc:tocbasic.cmd.LastTOCLevelWasHigher}).%
+ }%
+ \entry{\KOption{onstartsamelevel}\PName{code}}{%
+ Style \PValue{tocline} can execute \PName{code} at the start of an entry,
+ if the level is same like the level of the previous entry.
+
+ Please note that the detection of the level of the previous entry depends
+ on a valid unchanged value of \Macro{lastpenalty}.
+
+ The initial \PName{code} is \Macro{LastTOCLevelWasSame} (see
+ \autopageref{desc:tocbasic.cmd.LastTOCLevelWasSame}).%
+ }%
+ \entry{\KOption{pagenumberbox}\PName{command}}{%
+ By default the page number of an entry is printed right aligned in a box
+ of width \Macro{@pnumwidth}. At style \PValue{tocline} the \PName{command}
+ to print the number can be changed using this attribute. The
+ \PName{command} should have exactly one argument, the page number.%
+ }%
+ \entry{\KOption{pagenumberformat}\PName{command}}{%
+ This attribute is the format of the page number of an entry. The
+ \PName{command} should have exactly one argument, the page number. Font
+ changes are relative to the font of \Option{entryformat} followed by
+ \Macro{normalfont}\Macro{normalsize}.
+
+ The initial \PName{command} of entry level \PValue{part} prints the
+ argument in \Macro{large}\Macro{bfseries}. The initial \PName{command} of
+ all other levels prints the argument in
+ \Macro{normalfont}\Macro{normalcolor}.%
+ }%
+ \entry{\KOption{raggedpagenumber}\PName{switch}}{%
+ \PName{switch} is one of the values for simple switches from
+ \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. If the
+ switch is active, style \PValue{tocline} does not force the page number to
+ be right aligned.
+
+ Depending on the value of \PValue{linefill}, the setting of this attribute
+ could be needed for the wanted printing of the number, or only to avoid
+ unwanted warning messages. So both attributes should correspond.
+
+ By default the switch is not activated and therefore corresponds with an
+ initial value \Macro{hfill} or \Macro{TOCLineLeaderFill} of attribute
+ \PValue{linefill}.%
+ }%
+\end{desclist}%
+%
+\EndIndex{Cmd}{DeclareTOCStyleEntry}%
+
+\begin{Declaration}
+ \Macro{DeclareTOCEntryStyle}\Parameter{style}%
+ \OParameter{initial code}%
+ \Parameter{command code}\\
+ \Macro{DefineTOCEntryOption}\Parameter{option}\OParameter{default value}%
+ \Parameter{code}\\
+ \Macro{DefineTOCEntryBooleanOption}\Parameter{option}%
+ \OParameter{default value}%
+ \Parameter{prefix}%
+ \Parameter{postfix}%
+ \Parameter{description}\\%
+ %\OParameter{initial code}\\
+ \Macro{DefineTOCEntryCommandOption}\Parameter{option}%
+ \OParameter{default value}%
+ \Parameter{prefix}%
+ \Parameter{postfix}%
+ \Parameter{description}\\%
+ %\OParameter{initial code}\\
+ \Macro{DefineTOCEntryIfOption}\Parameter{option}%
+ \OParameter{default value}%
+ \Parameter{prefix}%
+ \Parameter{postfix}%
+ \Parameter{description}\\%
+ %\OParameter{initial code}\\
+ \Macro{DefineTOCEntryLengthOption}\Parameter{option}%
+ \OParameter{default value}%
+ \Parameter{prefix}%
+ \Parameter{postfix}%
+ \Parameter{description}\\%
+ %\OParameter{initial code}\\
+ \Macro{DefineTOCEntryNumberOption}\Parameter{option}%
+ \OParameter{default value}%
+ \Parameter{prefix}%
+ \Parameter{postfix}%
+ \Parameter{description}%
+ %\OParameter{initial code}%
+\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}} is
+one of the most complex commands in \KOMAScript. It is addressed to \LaTeX{}
+developers not the \LaTeX{} users. It provides the definition of a new
+TOC-entry \PName{style}. Usually TOC-entries are made using
+\Macro{addcontentsline}\IndexCmd{addcontentsline}, or, if you use
+\Package{tocbasic}, with recommended
+\Macro{addxcontentsline}\IndexCmd{addxcontentsline} (see
+\autoref{sec:tocbasic.basics},
+\autopageref{desc:tocbasic.cmd.addxcontentsline}). In both cases \LaTeX{}
+writes a corresponding \Macro{contentsline}\IndexCmd{contentsline} into the
+given auxiliary file. Reading this auxiliary file each \Macro{contentsline}
+results in execution of a command \Macro{l@\PName{entry level}}.
+
+Whenever you assign a \PName{style} to a TOC-entry level using
+\Macro{DeclareTOCStyleEntry}, first of all the \PName{initial code} is
+executed and then \Macro{l@\PName{entry level}} is defined to be
+\PName{command code}. So \PName{command code} is the code that will be
+expanded and executed by \Macro{l@\PName{entry level}}. Inside
+\PName{command code} \texttt{\#1} is the name of the TOC-entry level and
+\texttt{\#\#1} and \texttt{\#\#2} are the arguments of
+\Macro{l@\PName{entry level}}.
+
+The \PName{initial code} should initialise all attributes of the
+\PName{style}. Developers are recommended to use \PName{initial code} to
+initialise all internal macros of the \PName{style} without the need of
+using an \PName{option list}. The second task of the \PName{initial code} is
+the definition of options to setup the attributes of the \PName{style}. Option
+\Option{level} is always defined automatically. The value of \Option{level}
+can be got in \PName{command code} using
+\Macro{@nameuse}\PParameter{\#1tocdepth}%
+\important{\Macro{\PName{entry level}tocdepth}}, e.\,g., to compare it with
+the counter \Counter{tocdepth}\IndexCounter{tocdepth}.
+
+Commands \Macro{DefineTOCEntryBooleanOption},
+\Macro{DefineTOCEntryCommandOption}, \Macro{DefineTOCEntryIfOption},
+\Macro{DefineTOCEntryLengthOption}, and \Macro{DefineTOCEntryNumberOption}
+should be used to define options for the attributes of the
+\PName{style} inside \PName{initial code} only. If you use an \PName{option}
+defined by one of these commands, a macro \Macro{\PName{prefix}\PName{entry
+ level}\PName{postfix}} will be defined to be the assigned value or the
+\PName{default value} of the option. Somehow special is
+\Macro{DefineTOCEntryIfOption}. It defines \Macro{\PName{prefix}\PName{entry
+ level}\PName{postfix}} as a command with two arguments. If the value to
+the option is an activation value of \autoref{tab:truefalseswitch},
+\autopageref{tab:truefalseswitch} the command expands to the first
+argument. If the value to the option is a deactivation value, the command
+expands to the second argument.
+
+The \PName{description} should be a real short text that describes the sense
+of the option with some catchwords. Package \Package{tocbasic} uses this text
+in error messages, warnings or information output on the terminal and into the
+\File{log}-file.
+
+The most simple style of \Package{tocbasic}, \PValue{gobble}, is defined
+using:
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \DeclareTOCEntryStyle{gobble}{}%
+\end{lstcode}
+If you would define a entry level \PValue{dummy} using:
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \DeclareTOCStyleEntry[level=1]{gobble}{dummy}
+\end{lstcode}
+among others this would do something like:
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \def\dummytocdepth{1}
+ \def\l@dummy#1#2{}
+\end{lstcode}
+
+Inside style \PValue{tocline} for example
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \DefineTOCEntryCommandOption{linefill}[\TOCLineLeaderFill]%
+ {scr@tso@}{@linefill}{filling between text and page number}%
+\end{lstcode}
+is used to define option \Option{linefill} with \PName{default value}
+\Macro{TOCLineLeaderFill}. A call like:
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \RedeclareTOCStyleEntry[linefill]{tocline}{part}
+\end{lstcode}
+would therefore result in a definition like:
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \def\scr@tso@part@linefill{\TOCLineLeaderFill}
+\end{lstcode}
+
+Whoever likes to define his own styles is recommended to first study the
+definition of style \PValue{dottedtocline}. If this definition is understood,
+the much more complex definition of style \PValue{tocline} gives a lot of
+hints of the correct usage of the described commands.
+
+In many cases it will be enough to clone an existing style using
+\Macro{CloneTOCEntryStyle} and to change the initial code of the new style
+using \Macro{TOCEntryStyleInitCode} or \Macro{TOCEntryStyleStartInitCode}.
+
+\Macro{DefineTOCEntryOption} is merely used to define the other
+commands. It is not recommended to define options directly using
+\Macro{DefineTOCEntryOption}. Normally this is even not needed. It is
+alluded only for completeness.%
+\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{style}\Parameter{new style}%
+\end{Declaration}
+\BeginIndex{Cmd}{CloneTOCEntryStyle}%
+With\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} this command you can clone
+an existing \PName{style}. This defines a \PName{new style} with the same
+attributes and settings like the existing \PName{style}. The package itself
+uses \Macro{CloneTOCEntryStyle} to declare style \PValue{default} as a clone
+of \PValue{dottedtocline}. The \KOMAScript{} classes use the command to
+declare the styles \PValue{part}, \PValue{section}, and \PValue{chapter} or
+\PValue{subsection} as a clone of \PValue{tocline} and the style
+\PValue{default} new as a clone of \PValue{section} or \PValue{subsection}.%
+\EndIndex{Cmd}{CloneTOCEntryStyle}%
+
+\begin{Declaration}
+ \Macro{TOCEntryStyleInitCode}\Parameter{style}%
+ \Parameter{initial code}\\
+ \Macro{TOCEntryStyleStartInitCode}\Parameter{style}%
+ \Parameter{initial code}
+\end{Declaration}
+\BeginIndex{Cmd}{TOCEntryStyleInitCode}%
+\BeginIndex{Cmd}{TOCEntryStyleStartInitCode}%
+Every\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} TOC-entry style has an
+initialisation code. This is used whenever a \PName{style} is assigned to an
+TOC-entry using \Macro{DeclareTOCEntryStyle}. This \PName{initial code} should
+never do anything global, because it is also used for local initialisation
+inside other commands like \Macro{DeclareNewTOC}\IndexCmd{DeclareNewTOC}. The
+\PName{initial code} not only defines all attributes of a \PName{style}. It
+also should set the defaults for those attributes.
+
+You can use \Macro{TOCEntryStyleStartInitCode} and
+\Macro{TOCEntryStyleInitCode} to extend the already existing initialisation
+code by \PName{initial code}. \Macro{TOCEntryStyleStartInitCode} adds
+\PName{initial code} in front of the existing initialisation
+code. \Macro{TOCEntryStyleInitCode} adds the \PName{initial code} at the end
+of the existing initialisation code. The \KOMAScript{} classes, e.\,g., are
+using \Macro{TOCEntryStyleStartInitCode} to change the filling, font and
+vertical distances of style \PValue{part} that is a clone of
+\PValue{tocline}. Class \Class{scrbook} and \Class{scrreprt} use
+\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
+ \CloneTOCEntryStyle{tocline}{section}
+ \TOCEntryStyleStartInitCode{section}{%
+ \expandafter\providecommand%
+ \csname scr@tso@#1@linefill\endcsname
+ {\TOCLineLeaderFill\relax}%
+ }
+\end{lstcode}
+to declare \PValue{section} as a modified clone of \PValue{tocline}.%
+\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}%
+At\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} the very beginning entries
+with style \PValue{tocline} \Package{tocbasic} executes one of these three
+commands depending on \Macro{lastpenalty}. \Macro{LastTOCLevelWasHigher} and
+\Macro{LastTOCLevelWasSame} used in vertical mode add
+\Macro{addpenalty}\PParameter{\Macro{@lowpenalty}} and therefore permit a
+page break before an entry with same or higher hierarchical
+position. \Macro{LastTOCLevelWasLower} is an empty command. Therefore page
+break between an entry and its sub-entry is not permitted.
+
+Users should not redefine these commands. Instead of a redefinition you should
+change the behaviour of single entry levels using attributes
+\PValue{onstartlowerlevel}, \PValue{onstartsamelevel}, and
+\PValue{onstarthigherlevel}.%
+\EndIndex{Cmd}{LastTOCLevelWasLower}%
+\EndIndex{Cmd}{LastTOCLevelWasSame}%
+\EndIndex{Cmd}{LastTOCLevelWasHigher}%
+
+\begin{Declaration}
+ \Macro{TOCLineLeaderFill}\OParameter{filling code}
+\end{Declaration}
+\BeginIndex{Cmd}{TOCLineLeaderFill}%
+Command\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} has been made to be used
+as value of option \Option{linefill} of assigning style \PName{tocline} to a
+TOC-entry. It is a line filler between the end of the entry text and the entry
+page number. The \PName{filling code} will be repeated with constant
+distance. The default for this optional argument is a dot.
+
+As implied by the name of the command it uses \Macro{leaders} to put the
+\PName{filling code}. The distance is defined analogous to the \LaTeX{} kernel
+command \Macro{@dottedtocline} by
+\Macro{mkern}\Macro{@dotsep}\Unit{\texttt{mu}}.%
+\EndIndex{Cmd}{TOCLineLeaderFill}%
+%
+\EndIndex{}{table of contents>entry}
+
+
\section{Internal Commands for Class and Package Authors}
\label{sec:tocbasic.internals}
@@ -771,69 +1669,60 @@ authors may use them. But even if you are a class or package author you
should not change them!
\begin{Declaration}
- \Macro{tocbasic@extend@babel}\Parameter{file extension}
+ \Macro{tocbasic@extend@babel}\Parameter{extension}
\end{Declaration}
\BeginIndex{Cmd}{tocbasic@extend@babel}%
-The Package \Package{babel}\IndexPackage{babel}
-(see \cite{package:babel})
-respectively a \LaTeX{} kernel that has been extended by the language
+The Package \Package{babel}\IndexPackage{babel} (see \cite{package:babel}),
+or more specifically a \LaTeX{} kernel that has been extended by the language
management of \Package{babel} writes instructions to change the language
-inside of the files with the file extensions \File{toc}, \File{lof}, and
-\File{lot} into those files at every change of the current language
-either at the begin of the document or inside the document. Package
-\Package{tocbasic} extends this mechanism with
-\Macro{tocbasic@extend@babel}
-to be used for other file extensions too. Argument \PName{file extension} has
-to be expandable! Otherwise the meaning of the argument may change until it
-will be used really.
-
-Normally this command will be used by default for every \PName{file extension}
-that will be added to the list of known extensions using
-\Macro{addtotoclist}. The may be suppressed using feature
+inside of the files with the file name extensions \File{toc}, \File{lof}, and
+\File{lot} into those files at every change of the current language either at
+the begin of the document or inside the document. Package \Package{tocbasic}
+extends this mechanism with \Macro{tocbasic@extend@babel} to be used for other
+file name extensions too. Argument \PName{extension} has to be expandable!
+Otherwise the meaning of the argument may change until it will be used really.
+
+Normally this command will be used by default for every file name
+\PName{extension} that will be added to the list of known extensions using
+\Macro{addtotoclist}. This may be suppressed using feature
\PValue{nobabel}\important{\PValue{nobabel}} (see \Macro{setuptoc},
-\autoref{sec:tocbasic.toc}%^^A
-, \autopageref{desc:tocbasic.cmd.setuptoc}%^^A
-). For the file extensions \File{toc}, \File{lof}, and \File{lot} this will be
-done automatically by \Package{tocbasic} to avoid double language switching in
-the corresponding files.
+\autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.setuptoc}). For the
+file name extensions \File{toc}, \File{lof}, and \File{lot} this will be done
+automatically by \Package{tocbasic} to avoid double language switching in the
+corresponding files.
Normally there isn't any reason to call this command yourself. But there may
by lists of something, that should not be under control of \Package{tocbasic},
-and to are not in \Package{tocbasic}'s list of known file extensions, but
+and so are not in \Package{tocbasic}'s list of known file name extensions, but
nevertheless should be handled by the language change mechanism of
-\Package{babel}. The command may be used explicitly for those files. But pleas
-note, that this should be done only once per file extension!%
+\Package{babel}. The command may be used explicitly for those files. But please
+note that this should be done only once per file name extension!%
\EndIndex{Cmd}{tocbasic@extend@babel}%
\begin{Declaration}
\Macro{tocbasic@starttoc}\Parameter{extension}
\end{Declaration}
\BeginIndex{Cmd}{tocbasic@starttoc}
-This command
-is something like the \LaTeX{} kernel macro
-\Macro{@starttoc}\IndexCmd{@starttoc}\important{\Macro{@starttoc}}. It's the
-command behind \Macro{listoftoc*} (siehe \autoref{sec:tocbasic.toc}%^^A
-, \autopageref{desc:tocbasic.cmd.listoftoc*}%^^A
-). Authors of classes or packages who want to participate from the advantages
-of \Package{tocbasic} should at least use this command. Nevertheless it's
-recommended to use \Macro{listoftoc}. Command \Macro{tocbasic@starttoc}
-internally uses \Macro{\@starttoc}, but sets
-\Length
-{parskip}\IndexLength{parskip}\important{\Length{parskip}\\
+This command is something like the \LaTeX{} kernel macro
+\Macro{@starttoc}\IndexCmd{@starttoc}\important{\Macro{@starttoc}}. It is the
+command behind \Macro{listoftoc*} (see \autoref{sec:tocbasic.toc},
+\autopageref{desc:tocbasic.cmd.listoftoc*}). Authors of classes or packages
+who want to participate from the advantages of \Package{tocbasic} should at
+least use this command. Nevertheless it is recommended to use
+\Macro{listoftoc}. Command \Macro{tocbasic@starttoc} internally uses
+\Macro{\@starttoc}, but sets
+\Length{parskip}\IndexLength{parskip}\important{\Length{parskip}\\
\Length{parindent}\\
- \Length{parfillskip}} and
-\Length
-{parindent}\IndexLength{parindent} to 0 and
-\Length
-{parfillskip} to 0 until infinite before. Moreover,
+ \Length{parfillskip}} and \Length {parindent}\IndexLength{parindent} to 0
+and \Length{parfillskip} to 0 until infinite before. Moreover,
\Macro{@currext}\important{\Macro{@currext}}\IndexCmd{@currext} will be set to
-the file extension of the current helper file, so this will be available while
-the execution of the hooks, that will be done before and after reading the
-helper files.
+the file name extension of the current TOC-file, so this will be available
+while the execution of the hooks, that will be done before and after reading
+the auxiliary files.
-Because\textnote{Attention!} of \LaTeX{} will immediately open a new helper
-file for writing after reading that file, the usage of
-\Macro{tocbasic@starttoc} may result in an error message like
+Because\textnote{Attention!} of \LaTeX{} will immediately open a new TOC-file
+for writing after reading that file, the usage of \Macro{tocbasic@starttoc}
+may result in an error message like
\begin{lstoutput}
! No room for a new \write .
\ch@ck ...\else \errmessage {No room for a new #3}
@@ -852,13 +1741,12 @@ See \autoref{cha:scrwfile} for more information about that package.%
\BeginIndex{Cmd}{tocbasic@@before@hook}%
\BeginIndex{Cmd}{tocbasic@@after@hook}%
The hook \Macro{tocbasic@@before@hook} will be executed immediately before
-reading a helper file for a table of contents or list of something even
-before execution of the instructions of a \Macro{BeforeStartingTOC}
-command. It is permitted to extend this hook using
-\Macro{g@addto@macro}\IndexCmd{g@addto@macro}.
+reading a auxiliary file for a TOC even before execution of the instructions
+of a \Macro{BeforeStartingTOC} command. It is permitted to extend this hook
+using \Macro{g@addto@macro}\IndexCmd{g@addto@macro}.
Similarly \Macro{tocbasic@@after@hook} will be executed immediately after
-reading such a helper file and before execution of instructions of
+reading such an auxiliary file and before execution of instructions of
\Macro{AfterStartingTOC}. It is permitted to extend this hook using
\Macro{g@addto@macro}\IndexCmd{g@addto@macro}.
@@ -866,12 +1754,12 @@ reading such a helper file and before execution of instructions of
the place needed by heading numbers. Only classes and packages should use
these hooks. Users\textnote{Attention!} should really use
\Macro{BeforeStartingTOC} and \Macro{AfterStartingTOC} instead. Authors of
-packages should also favor those commands! These hooks shouldn't be used to
+packages should also favour those commands! These hooks should not be used to
generate any output!
If neither\textnote{Attention!} \Macro{listofeachtoc} nor \Macro{listoftoc}
-nor \Macro{listoftoc*} are used for the output of a table of contents or list
-of something, the hooks should be executed explicitly.%
+nor \Macro{listoftoc*} are used for the output of a TOC, the hooks should be
+executed explicitly.%
\EndIndex{Cmd}{tocbasic@@before@hook}%
\EndIndex{Cmd}{tocbasic@@after@hook}%
@@ -882,13 +1770,13 @@ of something, the hooks should be executed explicitly.%
\BeginIndex{Cmd}{tocbasic@\PName{extension}@before@hook}%
\BeginIndex{Cmd}{tocbasic@\PName{extension}@after@hook}%
These hooks are processed after \Macro{tocbasic@@before@hook}, respectively
-before \Macro{tocbasic@@after@hook} before and after loading the helper file
-with the corresponding file \PName{extension}. Authors\textnote{Attention!}
-of classes and packages should never manipulate them! But if
+before \Macro{tocbasic@@after@hook} before and after loading the TOC-file with
+the corresponding file \PName{extension}. Authors\textnote{Attention!} of
+classes and packages should never manipulate them! But if
neither\textnote{Attention!} \Macro{listofeachtoc} nor \Macro{listoftoc} nor
-\Macro{listoftoc*} are used for the output of a table of contents or list of
-something, the hooks should be executed explicitly, if they are
-defined. Please note, that they even can be undefined.%
+\Macro{listoftoc*} are used for the output of a TOC, the hooks should be
+executed explicitly, if they are defined. Please note that they even can be
+undefined.%
\EndIndex{Cmd}{tocbasic@\PName{extension}@after@hook}%
\EndIndex{Cmd}{tocbasic@\PName{extension}@before@hook}%
@@ -896,46 +1784,87 @@ defined. Please note, that they even can be undefined.%
\Macro{tocbasic@listhead}\Parameter{title}
\end{Declaration}
\BeginIndex{Cmd}{tocbasic@listhead}%
-This command
-is used by \Macro{listoftoc} to set the heading of the list, either the
-default heading or the individually defined heading. If you define your own
-list command not using \Macro{listoftoc} you may use
+This command is used by \Macro{listoftoc} to set the heading of the TOC,
+either the default heading or the individually defined heading. If you define
+your own TOC-command not using \Macro{listoftoc} you may use
\Macro{tocbasic@listhead}. In this case you should define
\Macro{@currext}\important{\Macro{@currext}}\IndexCmd{@currext} to be the file
-extension of the corresponding helper file before using
-\Macro{tocbasic@listhead}.
+extension of the corresponding TOC-file before using
+\Macro{tocbasic@listhead}.%
\EndIndex{Cmd}{tocbasic@listhead}%
\begin{Declaration}
\Macro{tocbasic@listhead@\PName{extension}}\Parameter{title}
\end{Declaration}
\BeginIndex{Cmd}{tocbasic@listhead@\PName{extension}}%
-This command
-is used in \Macro{tocbasic@listhead} to set the individual headings, optional
-toc-entry, and running head, if it was defined. If it was not defined it will
-be defined and used in \Macro{tocbasic@listhead} automatically.
+This command is used in \Macro{tocbasic@listhead} to set the individual
+headings, optional table of contents entry, and running head, if it was
+defined. If it was not defined it will be defined and used in
+\Macro{tocbasic@listhead} automatically.
\EndIndex{Cmd}{tocbasic@listhead@\PName{extension}}%
\begin{Declaration}
\Macro{tocbasic@addxcontentsline}%
- \Parameter{extension}\Parameter{level}\Parameter{number}\Parameter{text}
+ \Parameter{extension}\Parameter{level}\Parameter{number}\Parameter{text}\\
+ \Macro{nonumberline}
\end{Declaration}
\BeginIndex{Cmd}{tocbasic@addxcontentsline}%
-This command
+\BeginIndex{Cmd}{nonumberline}%
+Command\ChangedAt{v3.12}{\Package{tocbasic}} \Macro{tocbasic@addxcontentsline}
uses \Macro{addcontentsline} to either create a numbered or not numbered text
-entry to toc-file with given \PName{extension}. Note, that all parameters of
-\Macro{tocbasic@addxcontentsline} are mandatory. But you may use an
-empty \PName{number} argument, if you don't want a number.
-\EndIndex{Cmd}{tocbasic@addxcontentsline}
+entry to the TOC-file with the given \PName{extension}. Note, all parameters
+of \Macro{tocbasic@addxcontentsline} are mandatory. But you may use an empty
+\PName{number} argument, if you do not want a number. In this case the
+\PName{text} will be prefixed by \Macro{nonumberline} without any argument. In
+the other case, if \PName{number} is not empty, \Macro{numberline} with
+argument \PName{number} will used as usual.
+
+Command \Macro{nonumberline} is redefined inside \Macro{listoftoc} (see
+\autoref{sec:tocbasic.toc}, \autopageref{desc:tocbasic.cmd.listoftoc})
+depending on feature \PValue{numberline} (see \autoref{sec:tocbasic.toc},
+\autopageref{desc:tocbasic.cmd.setuptoc}). This guarantees that changes of the
+feature results in changes of the corresponding TOC immediately at the next
+\LaTeX{} run.%
+\EndIndex{Cmd}{nonumberline}%
+\EndIndex{Cmd}{tocbasic@addxcontentsline}%
+
+\begin{Declaration}
+ \Macro{tocbasic@DependOnPenaltyAndTOCLevel}\Parameter{entry level}\\
+ \Macro{tocbasic@SetPenaltyByTOCLevel}\Parameter{entry level}
+\end{Declaration}
+\BeginIndex{Cmd}{tocbasic@DependOnPenaltyAndTOCLevel}%
+\BeginIndex{Cmd}{tocbasic@SetPenaltyByTOCLevel}%
+At\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} the end of TOC-entry style
+\PValue{tocline} (see \autoref{sec:tocbasic.tocstyle}) \Macro{penalty} is set
+to prohibit page breaks. The used penalty value depends on the \PName{entry
+ level}. This is done by \Macro{tocbasic@SetPenaltyByTOCLevel}. At the very
+beginning of an entry \Macro{tocbasic@DependOnPenaltyAndTOCLevel} is used to
+execute the value of either style option \Option{onstartlowerlevel},
+\Option{onstartsamelevel}, or \Option{onstarthigherlevel} depending on
+\Macro{lastpenalty} and the current \PName{entry level}. The default of the
+first and second option would be to permit a page break, if used in vertical
+mode.
+
+Developers of \PValue{tocline}-compatible styles should adapt this. To do so,
+they are even allowed to copy the style option declarations of
+\Option{onstartlowerlevel}, \Option{onstartsamelevel}, and
+\Option{onstarthigherlevel}. These options should even use the same internal
+macros \Macro{scr@tso@\PName{entry level}@LastTOCLevelWasHigher},
+\Macro{scr@tso@\PName{entry level}@LastTOCLevelWasSame} and
+\Macro{scr@tso@\PName{entry level}@LastTOCLevelWasLower} to store the current
+values of the options.%
+\EndIndex{Cmd}{tocbasic@SetPenaltyByTOCLevel}%
+\EndIndex{Cmd}{tocbasic@DependOnPenaltyAndTOCLevel}%
+
\section{A Complete Example}
-\label{sec:tocbasic.example}
+\seclabel{example}
This section will show you a complete example of a user defined floating
environment with list of that kind of floats and \KOMAScript{} integration
using \Package{tocbasic}. This example uses internal commands, that have a
``\texttt{@}'' in their name. This means\textnote{Attention}, that the code
-has to be put into a own package or class, or has to be placed between
+has to be put into a package or class, or has to be placed between
\Macro{makeatletter}\important[i]{\Macro{makeatletter}\\\Macro{makeatother}}%
\IndexCmd{makeatletter} and \Macro{makeatother}\IndexCmd{makeatother}.
@@ -983,12 +1912,13 @@ value. Afterwards this has been used defining the formatted output of the
counter. Last this formatted output has been used for the output of the
environment number of the \Macro{caption} command.
-Floating\textnote{file extension} environments have lists of themselves and
-those need a helper file with name \Macro{jobname} and a file extension.
+Floating\textnote{file name extension} environments have lists of themselves
+and those need a auxiliary file with name \Macro{jobname} and a file name
+extension, the TOC-file\Index{TOC-file}:
\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
\newcommand*{\ext@remarkbox}{lor}
\end{lstcode}
-The file extension of the helper file for the list of
+The file name extension of the TOC-file for the list of
\Environment{remarkbox}es is ``\File{lor}''.
This was the definition of the floating environment. But the list of this new
@@ -1009,7 +1939,8 @@ Now\textnote{extension} we register the file name extension for package
\addtotoclist[float]{lor}
\end{lstcode}
Thereby the owner \PValue{float} has been used, to allude all further
-\KOMAScript{} options for lists of something also to the new one.
+\KOMAScript{} options for list of figures and list of tables also to the new
+one.
Next\textnote{title} we define a title or heading for the list of
\Environment{remarkbox}es:
@@ -1025,10 +1956,11 @@ to the list of remarks:
\newcommand*{\l@remarkbox}{\l@figure}
\end{lstcode}
Here simply the entries to the list of remarks get the same layout like the
-entries to the list of figure. This would be the easiest solution. A more
+entries to the list of figures. This would be the easiest solution. A more
explicit would be, e.\,g.,
\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
- \newcommand*{\l@remarkbox}{\@dottedtocline{1}{1em}{1.5em}}
+ \DeclareTOCStyleEntry[level=1,indent=1em,numwidth=1.5em]%
+ {tocline}{remarkbox}
\end{lstcode}
Additionally\textnote{chapter entry} you may want structure the list of
@@ -1036,13 +1968,13 @@ remarks depending on chapters.
\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
\setuptoc{lor}{chapteratlist}
\end{lstcode}
-The \KOMAScript{} classes provide that feature and may other classes do so
+The \KOMAScript{} classes provide that feature and maybe other classes do so
too. Unfortunately the standard classes do not.
This\textnote{list of remarks} would already be enough. Now, users may already
select different kinds of headings either using the corresponding options of
the \KOMAScript{} classes, or \Macro{setuptoc}, e.\,g., with or without entry
-in the table of contents, with or without number. But a simply
+in the table of contents, with or without number. But a simple
\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
\newcommand*{\listofremarkboxes}{\listoftoc{lor}}
\end{lstcode}
@@ -1059,56 +1991,73 @@ remarks at every new \Macro{chapter}. Even changes of the current language are
handled inside the list of remarks like they will inside the list of figures
or inside the list of tables.
-Moreover.\textnote{additional features} an author of a package may add more
+Moreover,\textnote{additional features} an author of a package may add more
features. For example, options to hide \Macro{setuptoc} from the users may be
added. On the other hand, the \Package{tocbasic} manual may be referenced to
describe the corresponding features. The advantage of this would be that user
would get information about new features provides by \Package{tocbasic}. But
if the user should be able to set the features of the remarks even without
-knowledge about the file extension \File{lor} a simple
+knowledge about the file name extension \File{lor} a simple
\begin{lstcode}[belowskip=\dp\strutbox plus 1pt]
\newcommand*{\setupremarkboxes}{\setuptoc{lor}}
\end{lstcode}
would be enough to use a list of features argument to
-\Macro{setupremarkboxes} as list of features of file extension \File{lor}.
+\Macro{setupremarkboxes} as list of features of file name extension \File{lor}.
\section{Everything with One Command Only}
\label{sec:tocbasic.highlevel}
The example from the previous section shows, that using \Package{tocbasic} to
define floating environments and lists with the captions of those floating
-environments is easy. The following example will show, that is may be even
+environments is easy. The following example will show, that it may be even
easier.
\begin{Declaration}
\Macro{DeclareNewTOC}\OParameter{options}\Parameter{extension}
\end{Declaration}
\BeginIndex{Cmd}{DeclareNewTOC}%
-This command
-declares\ChangedAt{v3.06}{\Package{tocbasic}} in one step only a new list of
-something, the heading of that list, the term used for the entries to the
-list, and to manage the file name \PName{extension}. Additionally optional
-floating and non-floating environments may be defined, and inside of both such
-environments \Macro{caption}\important{\Macro{caption}}\IndexCmd{caption} may
-be used. The additional features \Macro{captionabove}\important[i]{%
+This command declares\ChangedAt{v3.06}{\Package{tocbasic}} in one step only a
+new TOC, the heading of that TOC, the term used for the TOC-entries, and to
+manage the file name \PName{extension}. Additionally optional floating and
+non-floating environments may be defined, and inside of both such environments
+\Macro{caption}\important{\Macro{caption}}\IndexCmd{caption} may be used. The
+additional features \Macro{captionabove}\important[i]{%
\Macro{captionabove}\\
\Macro{captionbelow}}, \Macro{captionbelow}, and \Environment{captionbeside}
-of the \KOMAScript{} classes
-(see \autoref{sec:maincls.floats})
-may also be used inside of those environments.
+of the \KOMAScript{} classes (see \autoref{sec:maincls.floats}) may also be
+used inside of those environments.
-Argument \PName{extension} is the file name extension of the helper file, that
+Argument \PName{extension} is the file name extension of the TOC-file, that
represents the list of something. See \autoref{sec:tocbasic.basics} for more
information about this. This argument is mandatory and must not be empty!
Argument \PName{options} is a comma separated list, like you know it from,
-e.\,g., \Macro{KOMAoptions}%
-\ (see \autoref{sec:typearea.options})%^^A
-. Nevertheless\textnote{Attention!}, those options cannot be set using
-\Macro{KOMAoptions}\IndexCmd{KOMAoptions}! An overview of all available
-options
-may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
-
+e.\,g., \Macro{KOMAoptions} (see
+\autoref{sec:typearea.options}). Nevertheless\textnote{Attention!}, those
+options cannot be set using \Macro{KOMAoptions}\IndexCmd{KOMAoptions}! An
+overview of all available options may be found in
+\autoref{tab:tocbasic.DeclareNewTOC-options}.
+
+If\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} option \Option{tocentrystyle}
+is not used, style \PValue{default} will be used. For information about this
+style see \autoref{sec:tocbasic.tocstyle}. If you do not want to define a
+command for entries to the list of something, you can use an empty argument,
+i.\,e., \OptionValue{tocentrystyle}{} or
+\OptionValue{tocentrystyle}{\PParameter{}}. Nevertheless, this would contain
+the risk to get a lot of errors while printing that list.
+
+Depending\ChangedAt[2016/03]{v3.20}{\Package{tocbasic}} on the style of the
+entries to the list of something, you can setup all valid attributes of the
+selected style as part of the \PName{options}. To do so you have to prefix the
+names of the attributes given in \autoref{tab:tocbasic.tocstyle.attributes}
+from \autopageref{tab:tocbasic.tocstyle.attributes} by prefix
+\PValue{toc}. Later changes of the style of the entries can be made using
+\Macro{DeclareTOCStyleEntry}%
+\IndexCmd{DeclareTOCStyleEntry}\important{\Macro{DeclareTOCStyleEntry}}. See
+\autoref{sec:tocbasic.tocstyle},
+\autopageref{desc:tocbasic.cmd.DeclareTOCStyleEntry} for more information
+about the styles.%
+%
\begin{desclist}
\renewcommand*{\abovecaptionskipcorrection}{-\normalbaselineskip}%
\desccaption[{Options for command \Macro{DeclareNewTOC}}]{%
@@ -1116,13 +2065,15 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
\Macro{DeclareNewTOC}\ChangedAt{v3.06}{\Package{tocbasic}}%
\label{tab:tocbasic.DeclareNewTOC-options}%
}{%
- Options for command \Macro{DeclareNewTOC} (continuation)%
+ Options for command \Macro{DeclareNewTOC} (\emph{continuation})%
}%
- \entry{\KOption{atbegin}\PName{instructions}}{%
+ \entry{\KOption{atbegin}\PName{instructions}%
+ \ChangedAt{v3.09}{\Package{tocbasic}}}{%
The \PName{instructions} will be executed at the begin of the floating or
non-floating environment.%
}%
- \entry{\KOption{atend}\PName{instructions}}{%
+ \entry{\KOption{atend}\PName{instructions}%
+ \ChangedAt{v3.09}{\Package{tocbasic}}}{%
The \PName{instructions} will be executed at the end of the floating or
non-floating environment.%
}%
@@ -1154,23 +2105,40 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
before.%
}%
\entry{\KOption{hang}\PName{length}}{%
- The amount of the hanging indent of the entries for that list. If not
- given, 1.5\,em will be used like standard classes use for entries to list
- of figures or list of tables.%
+ \ChangedAt{v3.20}{\Package{tocbasic}}%
+ This option is deprecated since \KOMAScript~3.20. Now, the amount of the
+ hanging indent of the entries for that list\index{table of contents>entry}
+ depend on attributes of the TOC-entry style given by option
+ \Option{tocentrystyle}. The styles of \KOMAScript{} provide an attribute
+ \PValue{numwidth}. If the used style has such an attribute,
+ \Macro{DeclareNewTOC} will initialise it with 1.5\Unit{em}. You can change
+ the real \PName{value} using \KOption{tocnumwidth}\PName{value}. The
+ \KOMAScript{} classed for example use \OptionValue{tocnumwidth}{2.3em}.%
}%
\entry{\KOption{indent}\PName{length}}{%
- The indent value for the entries of that list. If not given, 1\,em will be
- used like standard classes use for entries to list of figures or list of
- tables.%
+ \ChangedAt{v3.20}{\Package{tocbasic}}%
+ This option is deprecated since \KOMAScript~3.20. Now, the amount of
+ indenting the entries of that list\index{table of contents>entry} depend
+ on attributes of the TOC-entry style given by option
+ \Option{tocentrystyle}. The styles of \KOMAScript{} provide an attribute
+ \PValue{indent}. If the used style has such an attribute,
+ \Macro{DeclareNewTOC} will initialise it with 1\Unit{em}. You can change
+ the real \PName{value} using \KOption{tocindent}\PName{value}. The
+ \KOMAScript{} classed for example use \OptionValue{tocnumwidth}{1.5em}.%
}%
\entry{\KOption{level}\PName{number}}{%
- The level of the entries of that list. If not given level 1 will be used
- like standard classes use for entries to list of figures or list of
- tables.%
+ \ChangedAt{v3.20}{\Package{tocbasic}}%
+ This option is deprecated since \KOMAScript~3.20. Now, the level of the
+ entries of that list\index{table of contents>entry} depend on attributes
+ of the TOC-entry style given by option
+ \Option{tocentrystyle}. Nevertheless all styles have an attribute
+ \PValue{level} and \Macro{DeclareNewTOC} initialises it with 1. You can
+ change the real \PName{value} using \KOption{toclevel}\PName{value}.%
}%
\entry{\KOption{listname}\PName{string}}{%
- The name of the list of foo. If not given the value of \PValue{types} with
- upper case first char prefixed by ``List of '' will be used.%
+ The name of the TOC. If not given the value of \PValue{types} with upper
+ case first char using \Macro{MakeUppercase}\IndexCmd{MakeUppercase}
+ prefixed by ``List of '' will be used.%
}%
\entry{\KOption{name}\PName{string}}{%
The name of an element. If no name is given, the value of \PValue{type}
@@ -1178,20 +2146,32 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
}%
\entry{\Option{nonfloat}}{%
If set, a non floating environment will be defined. The name of the
- environment is the value of \PName{type} with postfix ``\PValue{-}''.%
+ environment is the value of \PName{type} with attached ``\PValue{-}''.%
}%
\entry{\KOption{owner}\PName{string}}{%
The owner as described in the sections before. If no owner was given owner
\PValue{float} will be used.%
}%
+ \entry{\KOption{tocentrystyle}\PName{TOC-entry style}}{%
+ \ChangedAt[2016/03]{v3.20}{\Package{tocbasic}}%
+ \PName{TOC-entry style} is the style that should be used for all entries
+ into the TOC corresponding to the \PName{extension}. The name of the entry
+ level is given by option \Option{type}. Additional to the options of this
+ table all attributes of the \PName{TOC-entry style} can be used as
+ options. To do so, you have to prefix the name of such an attribute by
+ \PValue{toc}. For example, you can change the numerical level of the
+ entries using option \Option{toclevel}. For more information about the
+ styles and their attributes see \autoref{sec:tocbasic.tocstyle} from
+ \autopageref{sec:tocbasic.tocstyle}.%
+ }%
\entry{\KOption{type}\PName{string}}{%
- sets the type of the new declared list. The type will be used e.\,g. to
+ sets the type of the new declared TOC. The type will be used e.\,g. to
defined a \Macro{listof}\PName{string}. If no type is set up the extension
from the mandatory argument will be used.%
}%
\entry{\KOption{types}\PName{string}}{%
the plural of the type. If no plural was given the value of \PValue{type}
- with addendum ``s'' will be used.%
+ with attached ``s'' will be used.%
}%
\end{desclist}
@@ -1210,9 +2190,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
\setuptoc{lor}{chapteratlist}
\end{lstcode}
Beside environments \Environment{remarkbox} and \Environment{remarkbox*} the
- counter
-\Counter
- {remarkbox}, the commands \Macro{theremarkbox},
+ counter \Counter{remarkbox}, the commands \Macro{theremarkbox},
\Macro{remarkboxname}, and \Macro{remarkboxformat} that are used for
captions; the commands \Macro{listremarkboxnames} and
\Macro{listofremarkboxes} that are used at the list of remarks; and some
@@ -1223,7 +2201,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
be also defined. You may use \Macro{caption}\IndexCmd{caption} inside of
that non-floating environment as usual for floating environments.
\hyperref[tab:tocbasic.comparison]{Figure~\ref*{tab:tocbasic.comparison}}
- showes a comparison of the commands, counters and environments of the
+ shows a comparison of the commands, counters and environments of the
example environment \Environment{remarkbox} and of the commands, counters
and environments for figures.%
\begin{table}
@@ -1250,7 +2228,7 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
& output command to the respective counters\\[1ex]
\Macro{remarkboxformat} & \Macro{figureformat}
& \Option{type}, \Option{float}
- & formating command to the respective counters used by
+ & formatting command to the respective counters used by
\Macro{caption}\\[1ex]
\Macro{remarkboxname} & \Macro{figurename}
& \Option{type}, \Option{float}, \Option{name}
@@ -1263,10 +2241,10 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
& heading text of the respective list \\[1ex]
\Macro{fps@remarkbox} & \Macro{fps@figure}
& \Option{type}, \Option{float}, \Option{floattype}
- & numeric float type for order perputation\\[1ex]
+ & numeric float type for order perpetuation\\[1ex]
\File{lor} & \File{lof}
&
- & file extension of the helper file of the respective list \\
+ & file name extension of the TOC-file of the respective list \\
\bottomrule
\end{tabularx}
\end{table}
@@ -1296,11 +2274,26 @@ may be found in \autoref{tab:tocbasic.DeclareNewTOC-options}.
\end{tabular}%
\end{center}%
\end{Example}
+
+Users of \Package{hyperref} should always use option
+\Option{listname}. Otherwise they may get an error message, because
+\Package{hyperref} usually has a problem with the
+\Macro{MakeUppercase}\IndexCmd{MakeUppercase} command that is used to change
+the case of the first letter of \Option{types} in the name of the list.%
\EndIndex{Cmd}{DeclareNewTOC}%
\EndIndex{Package}{tocbasic}%
\EndIndex{}{table of contents}%
\EndIndex{}{list>of contents}%
\EndIndex{}{file>extension}%
\endinput
-%%
-%% End of file `tocbasic.tex'.
+
+%%% Local Variables:
+%%% mode: latex
+%%% mode: flyspell
+%%% coding: us-ascii
+%%% ispell-local-dictionary: "en_GB"
+%%% TeX-master: "../guide"
+%%% End:
+
+
+% LocalWords: Multiline multiline