summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx995
1 files changed, 531 insertions, 464 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx b/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx
index b7ff8d719e..21db04d92b 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{673}
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsof.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,55 +17,18 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-listsof.dtx
-% Copyright (c) Markus Kohm, 2002-2020
-%
-% 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.
% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse
-%%% From File: $Id: scrkernel-listsof.dtx 3477 2020-04-11 07:26:26Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3733 2022-03-01 08:20:43Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
-% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-04-11 09:26:26 +0200 (Sat, 11 Apr 2020) $
+ \filedate$Date: 2022-03-01 09:20:43 +0100 (Di, 01. Mär 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3477 $
+ \filerevision$Revision: 3733 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-listsof.dtx}%
@@ -75,52 +37,60 @@
(lists of)]%
}%
\reserved@a
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-listsof.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}%
- \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
-\date{\filedate}
-\author{Markus Kohm}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\usepackage{hvlogos}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-listsof.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
+% \changes{v2.95}{2002/06/28}{first version after splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/28}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/28}{whole implementation documentation in English}
%
-% \changes{v2.95}{2002/06/28}{%
-% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
+% \GetFileInfo{scrkernel-listsof.dtx}
+% \title{Table of Contents, List of Figures, and List of Tables Within
+% \href{https://komascript.de}{\KOMAScript} Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% \LaTeX{} classes provides a number of directories like the table of
+% contents, list of figures, and list of
+% tables. \file{scrkernel-listsof.dtx} provides parts of the implementation
+% of them. But note: Since the \KOMAScript{} classes use \pkg*{tocbasic} for
+% all these tables and lists, most of the code has been moved to
+% \file{tocbasic.dtx} and \file{scrkernel-tocstyle.dtx}.
+% \end{abstract}
+% \tableofcontents
%
-% \section{Verzeichnisse}
+% \section{User Manual}
%
-% \LaTeX{} Klassen bieten eine ganze Reihe von Verzeichnissen. Thema
-% dieses Abschnitts sind die Verzeichnisse der
-% Gleitumgebungen und das Inhaltsverzeichnis. \KOMAScript{} bietet
-% selbst das Verzeichnis der Gleittabellen und der Abbildungen. Es
-% unterstützt außerdem die Verzeichnisse der mit dem \textsf{float}
-% Paket angelegten Gleitumgebungen.
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
%
-% Briefe verfügen über keine Verzeichnisse.
+% \MaybeStop{\PrintIndex}
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \section{Implementation of the table of contents and similar lists in the
+% \KOMAScript{} classes}
%
-% \iffalse
-%<*!letter>
-% \fi
+% Only \cls*{scrartcl}, \cls*{scrbook} and \cls{scrreprt} provide floats and
+% headings. So only these need to provide tables and lists of such
+% elements. Especially the letter class \cls*{scrlttr2} does not need any of
+% this code.
%
-% \subsection{Gemeinsamer Code von Inhaltsverzeichnis und Verzeichnissen der
-% Gleitumgebungen}
+% \begin{macrocode}
+%<*!letter>
+% \end{macrocode}
+%
+% \subsection{Code used by all of the tables and lists of content}
%
-% \selectlanguage{english}%^^A
-% Before doing anything with the tocs we need package \Package{tocbasic}:
+% Before doing anything with the tocs we need package \pkg*{tocbasic}:
% \begin{macrocode}
%<*prepare>
\RequirePackage{tocbasic}[%
@@ -130,9 +100,13 @@
% \end{macrocode}
%
% \begin{macro}{\numberline@numberpostfix}
-% \changes{v3.20}{2016/03/15}{\cs{autodot} wird darüber eingefügt}
-% Auch in den Verzeichnissen soll ggf. \cs{autodot} quasi als Bestandteil der
-% Nummer ausgegeben werden.
+% \changes{v3.20}{2016/03/15}{used to add \cs{autodot}}
+% We extend this macro of \pkg*{tocbasic} to add the \cs{autodot} to the
+% numbers.
+% \begin{description}
+% \item[ToDo:] Replace this by any kind of \emph{addto hook command}, maybe
+% even by a generic \LaTeX{} hook.
+% \end{description}
% \begin{macrocode}
%<*body>
\g@addto@macro{\numberline@numberpostfix}{\autodot}
@@ -140,10 +114,10 @@
% \end{macrocode}
% \end{macro}%^^A \numberline@numberpostfix
%
-% \begin{macro}{\numberline}
-% \changes{v3.20}{2016/03/15}{Definition von \textsf{tocbasic} verwenden}
-% Unabhängig vom Stil soll immer die Definition von \textsf{tocbasic}
-% verwendet werden.
+% \begin{command}{\numberline}
+% \changes{v3.20}{2016/03/15}{using definition of \pkg*{tocbasic}}
+% Just activate the usage of the \pkg*{tocbasic} definition of
+% \cs{numberline}.
% \begin{macrocode}
%<*body>
\usetocbasicnumberline[%
@@ -151,13 +125,16 @@
]
%</body>
% \end{macrocode}
-% \end{macro}%^^A \numberline
+% \end{command}%^^A \numberline
%
-% \changes{v3.06}{2010/06/02}{einschalten des \texttt{tocbasic}-Features
-% \texttt{chapteratlist} in die Datei \texttt{scrkernel-listsof.dtx} verschoben}
-% Bei Büchern wird für jedes Verzeichnis des Besitzers \texttt{float} das
-% Feature \texttt{chapteratlist} gesetzt. Das gilt auch für solche
-% Verzeichnisse, die noch gar nicht definiert sind.
+% \changes{v3.06}{2010/06/02}{activating \pkg*{tocbasic} feature
+% \texttt{chapteratlist}}
+% For classes with chapters we use the \pkg*{tocbasic} feature
+% \texttt{chapteratlist} for all directories of category/owner
+% \texttt{float}. This is done not only for already existing directories for
+% also for those, that will be added later (using \pkg*{tocbasic}). Note: By
+% default this feature is used to add a vertical distance to, e.g., the list
+% of figures and the list of tables with each new chapter.
% \begin{macrocode}
%<*body&(book|report)>
\doforeachtocfile[float]{%
@@ -169,36 +146,48 @@
%</body&(book|report)>
% \end{macrocode}
%
-% \begin{macro}{\before@starttoc}
-% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
-% Dieses Makro führt im Falle von \texttt{tocleft} oder
-% \texttt{listsleft} am Anfang eines Verzeichnisses alle notwendigen
-% Änderungen durch, um das Verzeichnis entsprechend zu handhaben.
+% \begin{macro}{\before@starttoc,\after@starttoc}
+% \changes{v2.8q}{2001/11/14}{added}
+% If either \texttt{tocleft} or \texttt{listsleft} is used, we need to collect
+% additional information about the natural width of the numbers and also have
+% to change the used width of the numbers. So we have two macros, that will be
+% added to the \pkg*{tocbasic} hooks. \cs{before@starttoc} does some internal
+% changes before \cs{@starttoc} to collect and use the
+% information. \cs{after@starttoc} writes the information to the \file{aux}
+% file after \cs{@starttoc}.
% \begin{macro}{\scr@dottedtocline}
-% \changes{v2.9k}{2003/01/03}{auch das dritte Argument wird ge"andert}%^^A
+% \changes{v2.9k}{2003/01/03}{also change the third argument}^^A
% \begin{macro}{\scr@numberline}
-% \changes{v3.06}{2010/05/18}{nicht länger benötigt}%^^A
+% \changes{v3.06}{2010/05/18}{removed}^^A
% \end{macro}
% \begin{macro}{\last@l@number}
-% Dafür werden ein paar Hilfsmakros benötigt, die vorsichtshalber
-% global vordefiniert werden.
+% The \KOMAScript{} classes themselves use the \pkg*{tocbasic} entry style
+% \texttt{tocline}. However other packages may use the \LaTeX{} kernel command
+% \cs{@dottedtocline}. Currently we support these too. But to do so, we need
+% to locally redefine \cs{@dottedtocline} to change the second and third
+% argument. The second is the \meta{indent} and has always to be 0 (with
+% \texttt{listsleft}). The third is the number width and has to be
+% \cs{last@l@number}. I do not like to redefine \LaTeX{} kernel macros, so
+% maybe the support for list entries, which use \cs{@dottedtocline}, will be
+% removed in future. However, in this case we still would need some of the
+% code or similar code to initialize values and features of \pkg*{tocbasic}.
+% At loading time we only need to \emph{reserve} the macros. The real
+% definition will be done when reading the auxiliary files of the lists or the
+% main \file{aux} file.
% \begin{macrocode}
%<*body>
\newcommand*{\scr@dottedtocline}{}
\newcommand*{\last@l@number}{}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\@l@number}
-% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
-% In diesem Makro wird während der Erstellung eines Verzeichnisses
-% Inhaltsverzeichnisses die aktuelle Breite der Nummer gespeichert.
-% \begin{macro}{\set@l@number}
-% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
-% Dieses Makro ist dafür verantwortlich, dass zum einen \cs{@tempdima}
-% für den Aufruf von \cs{numberline@box} auf den richtigen Wert gesetzt
-% wird, zum anderen wird die aktuelle größte Breite der Nummer hier
-% angepasst.
+% \end{macro}^^A \last@l@number
+% \end{macro}^^A \scr@dottedtocline
+% \begin{macro}{\@l@number,\set@l@number}
+% \changes{v2.8q}{2001/11/14}{added}
+% We also need local macros to store the currently maximal number width while
+% reading an auxiliary file. \cs{set@l@number} not only has to update
+% \cs{@l@number} but also to set \len{@temdima} to the real maximum. It is
+% used inside \cs{numberline@box}, which is used inside \cs{numberline}, if
+% the \pkg*{tocbasic} definition of \cs{numberline} is used.
% \begin{macrocode}
\newcommand*{\@l@number}{}
\newcommand*{\set@l@number}[1]{%
@@ -211,15 +200,15 @@
\fi%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% Kommen wir endlich zu \cs{before@starttoc}:
-% \changes{v2.95a}{2006/07/12}{Initialisierung im \cs{@empty}-Fall}
-% \changes{v3.06}{2010/05/18}{statt \cs{numberline} wird \cs{numberline@box}
-% umdefiniert}
+% \end{macro}^^A \@l@number,\set@l@number
+% \changes{v2.95a}{2006/07/12}{empty case initialization}
+% \changes{v3.06}{2010/05/18}{re-defining \cs{numberline} instead of
+% \cs{numberline@box}}
+% The usage of all these local macros has to be initialized in
+% \cs{before@starttoc}.
% \begin{macrocode}
\newcommand*{\before@starttoc}[1]{%
- \let\scr@dottedtocline=\@dottedtocline
+ \let\scr@dottedtocline=\@dottedtoclilne
\renewcommand*{\@dottedtocline}[3]{%
\scr@dottedtocline{##1}{\z@}{\last@l@number}}%
\renewcommand*{\numberline@box}[1]{%
@@ -236,8 +225,9 @@
\fi
}%
% \end{macrocode}
-% \changes{v3.20}{2015/11/26}{Vorbereitungen für Verzeichniseintragsstile
-% via \texttt{scrkernel-tocstyle}}%^^A
+% \changes{v3.20}{2015/11/26}{initialization of \pkg*{tocbasic} values}
+% We also have to locally change the indent and number width values of the
+% \pkg*{tocbasic} styles.
% \begin{macrocode}
\begingroup
\def\do@endgroup{\endgroup}%
@@ -264,27 +254,22 @@
\@nameuse{scr@dte@donumwidth}%
\do@endgroup
}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\after@starttoc}
-% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
-% Dieses Makro schreibt am Ende den entsprechenden Eintrag in die
-% \texttt{aux}-Datei.
-% \begin{macrocode}
\newcommand*{\after@starttoc}[1]{%
\protected@write\@auxout{}{%
\string\gdef\expandafter\string\csname#1@l@number\endcsname{%
\@l@number}}%
}
-%</body>
% \end{macrocode}
-% \end{macro}
-%
-% Dafür sorgen, dass die Verzeichnisse von \textsf{tocbasic} so gesetzt
-% werden, wie wir das gerne hätten (wird über einen Trick auch für das
-% Inhaltsverzeichnis verwendet):
+% Last but not least we have to add the code to the \pkg*{tocbasic} hooks
+% before and after \cs{@starttoc}. Note: This is also used for the table of
+% contents, but in this case \cs{if@dynlist} will be used different.
+% \begin{description}
+% \item[ToDo:] A better suggestion could be to use \meta{category} dependent
+% code here to use \cs{if@dynlist} only for \meta{category} \texttt{float}
+% but \cs{if@tocleft} for \meta{category} \texttt{ToC}. So the support for
+% things like \emph{table of appendix contents} could be benefit.
+% \end{description}
% \begin{macrocode}
-%<*body>
\g@addto@macro\tocbasic@@before@hook{%
\if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi
}
@@ -293,13 +278,13 @@
}
%</body>
% \end{macrocode}
+% \end{macro}^^A \@dottedtocline
%
%
-% \subsection{Das Inhaltsverzeichnis}
+% \subsection{The table of contents}
%
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/11}{init code moved from \texttt{tocbasic.dtx}}%^^A
-% \changes{v1.0a}{2008/11/13}{auto-activation of feature \texttt{onecolumn}}
+% \changes{v3.27}{2019/05/11}{init code moved from \file{tocbasic.dtx}}
+% \changes{v3.01}{2008/11/13}{auto-activation of feature \texttt{onecolumn}}
% Set feature \texttt{onecolumn} for every ToC file.
% \begin{macrocode}
%<*prepare&(book|report)>
@@ -308,9 +293,9 @@
%</prepare&(book|report)>
% \end{macrocode}
% Tell the package, what files are used:
-% \changes{v3.27}{2019/05/11}{use owner \texttt{ToC} for the table of
-% contents}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% \changes{v3.27}{2019/05/11}{use category \texttt{ToC} for the table of
+% contents}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}%^^A
% \begin{macrocode}
%<*prepare>
\addtotoclist[ToC]{toc}
@@ -321,84 +306,163 @@
}
%</prepare>
% \end{macrocode}
-% \selectlanguage{ngerman}%^^A
%
-% \begin{macro}{\if@tocleft}
-% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A
-% \changes{v2.98c}{2008/03/05}{wird früher definiert}%^^A
-% \begin{macro}{\@toclefttrue}
-% \begin{macro}{\@tocleftfalse}
-% Die Wahl der Darstellungsart für das Inhaltsverzeichnis wird in einem
-% Schalter gespeichert.
+% \begin{macro}{\@tocleftfalse,\@tocleftrue,\if@tocleft}
+% \changes{v2.8q}{2001/11/14}{added}
+% \changes{v2.98c}{2008/03/05}{earlier definition}
+% The switch is used to store the information whether to use a flat
+% (\cs{@toclefttrue}) or a graduated (\cs{@tocleftalse}) table of contents.
% \begin{macrocode}
%<*option>
\newif\if@tocleft
%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A … \if@tocleft
%
% \begin{option}{toc}
-% \changes{v2.98c}{2008/03/04}{Neue Option}%^^A
-% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch
-% \cs{KOMAExecuteOptions} ersetzt}%^^A
-% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch
-% \cs{KOMAoptions} ersetzt}%^^A
-% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{indexnumbered}}%^^A
-% Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses.
+% \changes{v2.98c}{2008/03/04}{added}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} replaced by
+% \cs{KOMAExecuteOptions}}
+% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by
+% \cs{KOMAoptions}}
+% \changes{v3.18}{2015/06/15}{value \opt{\quotechar=indexnumbered} added}
+% The main features of the table of contents can be configured by this
+% option.
% \begin{macrocode}
%<*option>
\KOMA@key{toc}{%
\KOMA@set@ncmdkey{toc}{@tempa}{%
% \end{macrocode}
-% Es gibt Werte, um zu bestimmen, welche Verzeichnisse ins Inhaltsverzeichis
-% aufgenommen werden. Eigentlich sind das Optionen der jeweiligen
-% Verzeichnisses, aber das muss sich der Anwender ja nicht unbedingt merken.
-% \changes{v3.28}{2019/10/21}{zusätzliche Werte}%^^A
-% Für Index und Gleitumgebungen gibt es ab Version~3.28 einige zusätzliche
-% Werte. Die \dots\texttt{listof}\dots-Werte sind allerdings nicht offiziell,
-% sondern fangen nur häufige Tippfehler auf.
+% \changes{v3.28}{2019/10/21}{several alias values added}
+% The provided values are (aliases are also available):
+% \begin{description}
+% \item[\opt{=noindex}:] (default) for the index neither add an entry to the
+% table of contents nor number the heading of the index.
+% \end{description}
% \begin{macrocode}
{noindex}{0},{noidx}{0},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=index}:] for the index add an entry to the table of contents,
+% but do not number the index.
+% \end{description}
+% \begin{macrocode}
{index}{1},{idx}{1},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=indexnumbered}:] number the index and therefore also add an
+% entry to the table of contents.
+% \end{description}
+% \begin{macrocode}
{indexnumbered}{2},{idxnumbered}{2},{numberedindex}{2},{numberedidx}{2},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=nolistof}:] (default) for any list with category/owner
+% \texttt{float} neither add an entry to the table of contents, nor
+% number the heading of the list of the floats.
+% \end{description}
+% \begin{macrocode}
{nolistof}{3},{nolistsof}{3},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=listof}:] for each list with category/owner \texttt{float} add an
+% entry to the table of contents, but do not number the list of the floats.
+% \end{description}
+% \begin{macrocode}
{listof}{4},{listsof}{4},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=listofnumbered}:] for each list of category/owner \texttt{float}
+% number the list of floats and therefore add an entry to table of contents.
+% \end{description}
+% \begin{macrocode}
{listofnumbered}{5},{numberedlistof}{5},%
{listsofnumbered}{5},{numberedlistsof}{5},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=nobibliography}:] (default) for the bibliography neither add an
+% entry to the table if contents nor number the heading.
+% \end{description}
+% \begin{macrocode}
{nobibliography}{6},{nobib}{6},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=bibliography}:] for the bibliography add an entry to the table
+% of contents, but do not number the bibliography.
+% \end{description}
+% \begin{macrocode}
{bibliography}{7},{bib}{7},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=bibliographynumbered}:] number the bibliography and therefore
+% add an entry to the table of contents.
+% \end{description}
+% \begin{macrocode}
{bibliographynumbered}{8},{bibnumbered}{8},{numberedbibliography}{8},%
{numberedbib}{8},%
% \end{macrocode}
-% Dann gibt es Optionen für die Darstellungsarten des
-% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte
-% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form
-% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander
-% stehen. Der für die Nummern benötigte Platz wird dabei automatisch
-% ermittelt.
+% \begin{description}
+% \item[\opt{=flat}:] use the flat version of the table of contents (all
+% numbers are at one column, all texts in another one).
+% \end{description}
% \begin{macrocode}
{flat}{9},{left}{9},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=graduated}:] (default) use a hierarchical indented table of
+% contents similar to the standard classes.
+% \end{description}
+% \begin{macrocode}
{graduated}{10},{indent}{10},{indented}{10},%
% \end{macrocode}
-% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und
-% \texttt{nonumberline}}%^^A
-% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit
-% \cs{numberline} eingerückt werden. Das geht über ein Feature von
-% \textsf{tocbasic}.
+% \changes{v3.12}{2014/09/24}{values \opt{\quotechar=numberline} and
+% \opt{\quotechar=nonumberline} etc. added}
+% \begin{description}
+% \item[\opt{=numberline}:] indent entries without number like entries with
+% number.
+% \end{description}
% \begin{macrocode}
{indenttextentries}{11},{indentunnumbered}{11},{numberline}{11},%
+% \end{macrocode}
+% \begin{macrocode}
+% \begin{description}
+% \item[\opt{nonumberline}:] (default) do not indent the first line of an
+% entry without number
+% \end{description}
+% \begin{macrocode}
{leftaligntextentries}{12},{leftalignunnumbered}{12},{nonumberline}{12},%
% \end{macrocode}
-% Mit Version~3.15 kommt neu die Möglichkeit hinzu, Kapiteleinträge mit
-% Pünktchen zu versehen.
+% \changes{v3.15}{2015/01/14}{values \opt{\quotechar=chapterentrywithdots},
+% \opt{\quotechar=chapterentrywithoutdot} resp.
+% \opt{\quotechar=sectionentrywithdots},
+% \opt{\quotechar=sectionentrywithoutdot} added}
+% \begin{description}
+% \item[\opt{=chapterentrywithdots}:] classes with \cs{chapter} provide a dot
+% filler also for chapter entries.
+% \end{description}
% \begin{macrocode}
%<book|report> {chapterentrywithdots}{13},{chapterentrydotfill}{13},
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=chapterentrywithoutdots}:] (default) classes with \cs{chapter} use
+% a space filler for chapter entries.
+% \end{description}
+% \begin{macrocode}
%<book|report> {chapterentrywithoutdots}{14},{chapterentryfill}{14}%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=sectionentrywithdots}:] classes without \cs{chapter} use
+% dot filler also for section entries.
+% \end{description}
+% \begin{macrocode}
%<article> {sectionentrywithdots}{13},{sectionentrydotfill}{13},
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=sectionentrywithoutdots}:] (default) classes without
+% \cs{chapter} use a space filler for section entries.
+% \end{description}
+% \begin{macrocode}
%<article> {sectionentrywithoutdots}{14},{sectionentryfill}{14}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
@@ -453,30 +517,23 @@
% \end{macrocode}
% \end{option}
%
-% \begin{option}{tocleft}
-% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% \begin{option}{tocindent}
-% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \begin{option}{tocleft,tocindent}
+% \changes{v2.8q}{2001/11/14}{added}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{tocleft}{toc=flat}
\KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated}
%</option>
% \end{macrocode}
-% \end{option}
-% \end{option}
-%
-% \subsection{Definitionen für das Inhaltsverzeichnis}
+% \end{option}^^A tocleft,tocindent
%
-% \begin{macro}{\contentsname}
-% \begin{macro}{\listoftocname}
-% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}%^^A
-% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
-% Der Name des Verzeichnisses.
+% \begin{command}{\contentsname}
+% \begin{command}{\listoftocname}
+% \changes{v3.00}{2008/07/03}{added to be used by \pkg*{tocbasic}}
+% \changes{v3.27}{2019/05/11}{language dependency added}
+% The name of the table of contents.
% \begin{macrocode}
%<*body>
\newcommand*\contentsname{Contents}
@@ -485,35 +542,31 @@
UKenglish,ukenglish,USenglish,usenglish}\contentsname{Contents}%
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \listoftocname
+% \end{command}^^A \contentsname
%
-% \begin{Counter}{tocdepth}
-% Der Zähler gibt an, bis zu welcher Gliederungebene Einträge in das
-% Inhaltsverzeichnis aufgenommen werden. Da \textsf{scrartcl} eine
-% Ebene tiefer beginnt, wird auch eine Ebene tiefer eingetragen. Damit
-% finden sich -- abgesehen von \cs{part} -- immer drei Ebenen im
-% Inhaltsverzeichnis.
+% \begin{counter}{tocdepth}
+% The counter is used to define, down to which level the entries are shown in
+% the table of contents (resp. list of floats, because the same value is used
+% there). Note: We don't use symbolic values here, because usage of symbolic
+% values would add an additional order dependency with the corresponding
+% \cs{DeclareSecionCommand}.
% \begin{macrocode}
%<*body>
%<book|report>\setcounter{tocdepth}{2}
%<article>\setcounter{tocdepth}{3}
%</body>
% \end{macrocode}
-% \end{Counter}
+% \end{counter}^^A tocdepth
%
% \begin{macro}{\toc@heading}
-% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A
-% \changes{v2.95}{2002/06/28}{auch für \textsf{scrreprt} und
-% \textsf{scrbook}}%^^A
-% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht
-% länger empfohlen}%^^A
-% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
-% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
-% Befehl, zum Setzen der Überschrift des Inhaltsverzeichnisses. Eigentlich
-% ist das überflüssig, weil es nur einmal verwendet wird. Aus Gründen der
-% Konsistenz mit den anderen Verzeichnissen machen wir das hier aber
-% genauso.
+% \changes{v2.3h}{1995/01/21}{added for \cls*{scrartcl}}
+% \changes{v2.95}{2002/06/28}{added for \cls*{scrreprt}and \cls*{scrbook}}
+% \changes{v3.00}{2008/07/04}{deprecated}
+% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}}
+% \changes{v3.30}{2020/02/24}{white space at end of warning removed}
+% This has been defined before usage of \pkg*{tocbasic}. Internally it is not
+% used any longer.
% \begin{macrocode}
%<*body>
\newcommand*\toc@heading{%
@@ -530,34 +583,29 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \toc@heading
%
% \begin{macro}{\toc@l@number}
-% \changes{v2.8q}{2001/11/14}{neu}%^^A
-% Dieses Makro wird innerhalb von \cs{tableofcontents} über
-% \cs{before@starttoc} und \cs{after@starttoc} in der
-% \texttt{aux}-Datei global definiert. Aus Sicherheitsgründen wird es
-% hier global vordefiniert.
+% \changes{v2.8q}{2001/11/14}{added}
+% The number length storage used by \cs{before@starttoc} for \meta{extension}
+% \texttt{toc}. For safety we just \emph{reserve} it.
% \begin{macrocode}
%<*body>
\newcommand*{\toc@l@number}{}
%</body>
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \toc@l@number
%
-% \begin{macro}{\tableofcontents}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{toc@heading}}
-% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
-% 0 gesetzt}
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}%
-% \cs{@parskip@indent}}
-% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} bearbeiten}
-% \changes{v2.95}{2002/06/28}{\textsf{article} beachtet ebenfalls
-% \texttt{tocleft}}
-% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
-% ersetzt}
-% \changes{v3.00}{2008/07/04}{auf \textsf{tocbasic} umgestellt}
-% Die Ausgabe des Inhaltsverzeichnisses.
+% \begin{command}{\tableofcontents}
+% \changes{v2.3h}{1995/01/21}{using \cs{toc@heading}}
+% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse} and \cs{@parskip@indent}}
+% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} changed}
+% \changes{v2.95}{2002/06/28}{\cls*{scrartcl} also uses \cs{if@tocleft}}
+% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent} replaced}
+% \changes{v3.00}{2008/07/04}{re-implementation using \pkg*{tocbasic}}
+% The table of contents. See the note above about the local change of
+% \cs{if@dynlist}.
% \begin{macrocode}
%<*body>
\newcommand*{\tableofcontents}{%
@@ -568,18 +616,27 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}^^A \tableofcontents
%
-% \begin{macro}{\addtocentrydefault}
-% \changes{v3.08}{2010/11/01}{Neu}%^^A
-% \changes{v3.12}{2013/09/24}{Verwendung der neuen
-% \texttt{tocbasic}-Anweisung \cs{tocbasic@addxcontentsline}}
-% Seit Version~3.08 werden Einträge ins Inhaltsverzeichnis in der
-% Voreinstellung über diese Anweisung vorgenommen. Das erste Argument ist
-% dabei die Gliederungsebene. Das zweite Argument ist die (formatierte)
-% Gliederungsnummer oder leer, falls die Überschrift nicht nummeriert
-% wird. Das dritte Argument ist der Überschriftentext, der in das
-% Inhaltsverzeichnis soll.
+% \begin{command}{\addtocentrydefault}
+% \changes{v3.08}{2010/11/01}{added}
+% \changes{v3.12}{2013/09/24}{using new \pkg*{tocbasic} macro
+% \cs{tocbasic@addxcontentsline}}
+% Instead of making the entries into the table of contents directly with
+% the \LaTeX{} low level command \cs{addcontentsline} we provide a class
+% specific low level user command
+% \begin{quote}
+% \cs{addtocentrydefault}\marg{level name}\marg{formatted number}\marg{entry text}
+% \end{quote}
+% that uses the \pkg*{tocbasic} package author command
+% \cs{tocbasic@addctontentsline}. We cannot use \cs{addxcontentsline} because
+% this will run \cs{add\meta{level name}\meta{toc}entry} if available and
+% \cs{addtocentrydefault} is used by the entry commands
+% \cs{addchaptertocentry}, \cs{addsectiontocentry}. So \cs{addtoentrydefault}
+% is a helper for the callbacks from \cs{addxcontentsline} and needs to use
+% the package author interface instead of the user interface. For not numbered
+% entries the \meta{formatted number} should be empty (not only expand to no
+% output). Note: Entries with empty \meta{entry text} will be omitted.
% \begin{macrocode}
%<*body>
\newcommand{\addtocentrydefault}[3]{%
@@ -587,36 +644,33 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
%
-% \subsection{Die Verzeichnisse der Gleitumgebungen}
+% \subsection{The lists of floats (or similar environments)}
%
-% Die Verzeichnisse der Gleitumgebungen ähneln dem Inhaltsverzeichnis, stellen
-% jedoch eine eigene Klasse dar und werden daher auch über eigene Optionen
-% gesteuert.
+% The list of tables, list of figures and similar lists of environments with
+% category/owner \texttt{float} are very similar to the table of contents. But
+% they use a own set of options and also some commands.
%
-% \selectlanguage{english}%^^A
-% \changes{v3.25}{2017/10/10}{extension \texttt{lof} not added explicitely}%^^A
-% \changes{v3.25}{2017/10/10}{extension \texttt{lot} not added explicitely}%^^A
+% \changes{v3.25}{2017/10/10}{extension \texttt{lof} not added explicitely}
+% \changes{v3.25}{2017/10/10}{extension \texttt{lot} not added explicitely}
% Note: We must not add extensions \texttt{lof} and \texttt{lot} explicitely,
% because these files will be prepared using \cs{DeclareNewTOC} that also
% registers the extension.
%
-% \changes{v1.00}{auto-activation of feature \texttt{onecolumn}}
+% \changes{v3.01}{2008/11/13}{auto-activation of feature \texttt{onecolumn}}
% Set feature \texttt{onecolumn} for every float list file.
% \begin{macrocode}
%<*prepare&(book|report)>
\AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}%
%</prepare&(book|report)>
% \end{macrocode}
-% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\float@@listhead}
-% \changes{v2.98c}{2008/03/05}{neu (intern)}%^^A
-% \changes{v3.01}{2008/11/14}{deprecated}%^^A
-% Setzt nur die Überschrift und sonst nichts. Dabei wird die Überschrift als
-% einziges Argument übergeben.
+% \changes{v2.98c}{2008/03/05}{added}
+% \changes{v3.01}{2008/11/14}{deprecated}
+% Prints only the heading, nothing else. The heading text is the argument.
% \begin{macrocode}
%<*option>
\newcommand*{\float@@listhead}{%
@@ -625,89 +679,143 @@
}
%</option>
% \end{macrocode}
-% \end{macro}
+% \end{macro}^^A \float@@listhead
%
-% \begin{macro}{\if@dynlist}
-% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A
-% \begin{macro}{\@dynlisttrue}
-% \begin{macro}{\@dynlistfalse}
-% Die Wahl der Darstellungsart wird in einem Schalter gespeichert.
+% \begin{macro}{\@dynlistfalse,\@dynlisttrue,\if@dynlist}
+% \changes{v2.8q}{2001/11/14}{added}
+% The switch to select the flat (\cs{@dynlisttrue}) or graduated
+% (\cs{@dynlistfalse)} list type.
% \begin{macrocode}
%<*option>
\newif\if@dynlist
%</option>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A … \if@dynlist
%
% \begin{option}{listof}
-% \changes{v2.98c}{2008/03/05}{Neue Option}%^^A
-% \changes{v3.06}{2010/06/02}{Alle über \textsf{tocbasic} realisierten
-% Einstellungen wirken sich auch auf Verzeichnisse des Besitzers
-% \texttt{float} aus, die erst später unter Kontrolle von
-% \textsf{tocbasic} gestellt werden.}%^^A
-% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit
-% \cs{FamilyKeyStateProcessed}}%^^A
-% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} durch
-% \cs{KOMAExecuteOptions} ersetzt}%^^A
-% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch
-% \cs{KOMAoptions} ersetzt}%^^A
-% Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse.
+% \changes{v2.98c}{2008/03/05}{added}
+% \changes{v3.06}{2010/06/02}{options for \pkg*{tocbasic} features do not only
+% work for the currently defined lists but all future lists of category
+% \texttt{float}}
+% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} replaced by
+% \cs{KOMAExecuteOptions}}
+% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by
+% \cs{KOMAoptions}}
+% The main features of the lists of floats can be configured by this option.
% \begin{macrocode}
%<*option>
\KOMA@key{listof}{%
\KOMA@set@ncmdkey{listof}{@tempa}{%
% \end{macrocode}
-% Es gibt Werte, die dafür sorgen, dass die Verzeichnisse der Gleitumgebungen
-% im Inhalsverzeichnis aufgeführt werden. Dazu muss nur \cs{float@@listhead}
-% umdefiniert werden.
+% The provided values are (aliases are also available):
+% \begin{description}
+% \item[\opt{=notoc}:] (default) neither number the lists of floats nor add
+% entries to them into the table of contents.
+% \end{description}
% \begin{macrocode}
{notoc}{0},{nottotoc}{0},{plainheading}{0},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=totoc}:] do not number the lists of floats but nevertheless add
+% an entry for each of them to the table of contents.
+% \end{description}
+% \begin{macrocode}
{totoc}{1},{toc}{1},{notnumbered}{1},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=numbered}:] number the lists of floats and therefore also add an
+% for each of them to the table of contents.
+% \end{description}
+% \begin{macrocode}
{numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},%
{numberedtoc}{2},%
% \end{macrocode}
-% Dann gibt es Optionen für die Darstellungsarten des
-% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte
-% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form
-% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander
-% stehen. Der für die Nummern benötigte Platz wird dabei automatisch
-% ermittelt.
+% \begin{description}
+% \item[\opt{=flat}:] use the flat version of the lists of floats (all
+% numbers are at one column, all texts in another one). Usually this only
+% removes the indent and calculates the needed width of the numbers. But,
+% e.g., if chapters are added, it does work over all levels.
+% \end{description}
% \begin{macrocode}
{flat}{3},{left}{3},%
+% \item[\opt{=graduated}:] (default) use hierarchical indented lists of
+% floats similar to the standard classes.
+% \end{description}
+% \begin{macrocode}
{graduated}{4},{indent}{4},{indented}{4},%
% \end{macrocode}
-% Dann gibt es eine Option, mit der die Gliederungsebene der Verzeichnisse
-% verändert werden kann.
-% \changes{v3.25}{2017/12/04}{neuer Wert \texttt{standardlevel}}%^^A
+% \begin{description}
+% \item[\opt{=leveldown}:] Use for the lists of floats a section hierarchy one
+% level below the standard level.
+% \end{description}
% \begin{macrocode}
{leveldown}{5},
+% \end{macrocode}
+% \changes{v3.25}{2017/12/04}{value \opt{\quotechar=standardlevel} added}
+% \begin{description}
+% \item[\opt{=standardlevel}:] (default) Use for the lists of floats the
+% standard hierarchy.
+% \end{description}
+% \begin{macrocode}
{standardlevel}{6},
% \end{macrocode}
-% \changes{v3.06}{2010/05/18}{neuer Wert \texttt{entryprefix}}
-% Dann gibt es eine Option, mit der die Einträge in die Verzeichnisse mit
-% einem Prefix versehen werden können, soweit ein solcher Prefix
-% existiert. Dieser Wert beinhaltet gleichzeitig auch den Wert \texttt{flat}.
+% \changes{v3.06}{2010/05/18}{value \opt{\quotechar=entryprefix} added}
+% \begin{description}
+% \item[\opt{=entryprefix}:] Prefix the number of each entry with
+% \cs{listof\meta{toc}entryprefix}. Note: This is more or less senseless and
+% does not work correctly with chapter entries in the lists of floats. It is
+% recommended to reconfigure the entries, e.g., using
+% \cs{DeclareTOCStyleEntry} or redefining \cs{add\meta{level
+% name}\meta{toc}entry} instead. Note: \opt{listof=entryprefix} also
+% activates \opt{listof=flat}.
+% \end{description}
% \begin{macrocode}
{entryprefix}{7},
% \end{macrocode}
-% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und
-% \texttt{nonumberline}}%^^A
-% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit
-% \cs{numberline} eingerückt werden. Das geht über ein Feature von
-% \textsf{tocbasic}.
+% \changes{v3.12}{2014/09/24}{values \opt{\quotechar=numberline} and
+% \opt{\quotechar=nonumberline} etc. added}
+% \begin{description}
+% \item[\opt{=numberline}:] indent entries without number like entries with
+% number.
+% \end{description}
% \begin{macrocode}
{indenttextentries}{8},{indentunnumbered}{8},{numberline}{8},%
+% \end{macrocode}
+% \begin{macrocode}
+% \begin{description}
+% \item[\opt{=nonumberline}:] (default) do not indent the first line of an
+% entry without number
+% \end{description}
+% \begin{macrocode}
{leftaligntextentries}{9},{leftalignunnumbered}{9},{nonumberline}{9}%
% \end{macrocode}
-% Dann gibt es Optionen, für die Unterteilung auf Kapitelebene. Allerdings nur
-% für \textsf{scrbook} und \textsf{scrreprt}.
+% \begin{description}
+% \item[\opt{=chapterentry}:] \cls*{scrbook} and \cls*{scrreprt} provides
+% chapter entries into the lists of floats.
+% \end{description}
% \begin{macrocode}
%<*book|report>
,{chapterentry}{10},{withchapterentry}{10},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=nochaptergap}:] Alternatively the lists of floats can ignore chapters.
+% \end{description}
+% \begin{macrocode}
{nochaptergap}{11},{ignorechapter}{11},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=chaptergapsmall}:] (default) chapters can add a small
+% vertical distance into the lists of floats.
+% \end{description}
+% \begin{macrocode}
{chaptergapsmall}{12},{smallchaptergap}{12},%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=chaptergapline}:] chapters can add an empty line to the lists of
+% floats.
+% \end{description}
+% \begin{macrocode}
{chaptergapline}{13},{onelinechaptergap}{13}%
%</book|report>
}{#1}%
@@ -863,73 +971,61 @@
\KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries}
%</option>
% \end{macrocode}
-% \end{option}
+% \end{option}^^A listof
%
% \begin{option}{liststotoc}
-% \changes{v2.3h}{1995/01/21}{neue Option}%^^A
-% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}}
-% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch
-% \cs{listtablename} ersetzt}
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
+% \changes{v2.3h}{1995/01/21}{added}
+% \changes{v2.8b}{2001/06/26}{using \cs{float@headings}}
+% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} relaces by \cs{listtablename}}
+% \changes{v2.8g}{2001/07/18}{\cs{float@headings} renamed to
% \cs{float@listhead}}
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc}
%</option>
% \end{macrocode}
-% \end{option}
+% \end{option}^^A liststotoc
%
% \begin{option}{liststotocnumbered}
-% \changes{v2.8q}{2002/04/08}{dem langjährigen Druck nachgegeben}%^^A
-% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}%^^A
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \changes{v2.8q}{2002/04/08}{added}
+% \changes{v2.9p}{2003/07/07}{number also in the running head}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered}
%</option>
% \end{macrocode}
-% \end{option}
+% \end{option}^^A liststotocnumbered
%
%
-% \begin{option}{listsleft}
-% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% \begin{option}{listsindent}
-% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
-% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \begin{option}{listsleft,listsindent}
+% \changes{v2.8q}{2001/11/14}{added}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat}
\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated}
%</option>
% \end{macrocode}
-% \end{option}
-% \end{option}
+% \end{option}^^A listsleft,listsindent
%
% \begin{option}{chapteratlists}
-% \changes{v2.96a}{2006/12/03}{neue Option}%^^A
-% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}}%^^A
-% \changes{v3.12a}{2014/01/17}{fehlendes \cs{FamilyKeyStateProcessed}%^^A
-% ergänzt}%^^A
-% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
-% \begin{macro}{\if@chaptertolists}
-% \changes{v2.96a}{2006/12/03}{neuer Schalter}%^^A
-% \changes{v3.12}{2013/09/24}{Verzeichnisse werden nicht in Verzeichnisse
-% eingetragen}%^^A
+% \changes{v2.96a}{2006/12/03}{added}
+% \changes{v2.98c}{2008/03/05}{not with \cls*{scrartcl}}
+% \changes{v3.12a}{2014/01/17}{missing \cs{FamilyKeyStateProcessed} added}
+% \changes{v3.17}{2015/03/12}{internal value storage}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \begin{macro}{\@chaptertolistsfalse,\@chaptertoliststrue,\if@chaptertolists}
+% \changes{v2.96a}{2006/12/03}{added}
+% \changes{v3.12}{2013/09/24}{don't add lists to lists}
% \begin{macro}{\@chapterlistsgap}
-% \changes{v2.96a}{2006/12/03}{neues Macro (intern)}%^^A
-% Option, um einzugstellen, ob Kapitel in den Verzeichnissen der
-% Gleitumgebungen Spuren hinterlassen. Man kann wahlweise Lücken einstellen
-% (Voreinstellung mit 10\,pt) oder die Kapitelüberschrift eintragen lassen.
-% Der Schalter gibt dabei an, ob die Kapitelüberschrift eingetragen werden
-% soll. Das interne Hilfsmakro \cs{@chapterlistsgap} enthält den gewünschten
-% Abstand.
+% \changes{v2.96a}{2006/12/03}{added}
+% We can do several special treatments inside the lists of floats, when a new
+% chapter starts.
% \begin{macrocode}
%<*option&(book|report)>
\newcommand*{\@chapterlistsgap}{10\p@}
@@ -940,11 +1036,23 @@
\KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergap}%
\KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapsmall}%
\KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapline}%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=entry}:] add the chapter heading also to the lists of
+% float. \cs{@chaptertolisttrue} is used and the distance \cs{@chapterlistgap}
+% is set to \len{z@}.
+% \end{description}
+% \begin{macrocode}
\Ifstr{#1}{entry}{%
\@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}%
\KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}{entry}%
\KOMA@kav@add{.\KOMAClassFileName}{listof}{chapterentry}%
}{%
+% \end{macrocode}
+% \begin{description}
+% \item[\opt{=\meta{distance}}:] use a vertical \meta{distance}.
+% \end{description}
+% \begin{macrocode}
\@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}%
\KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}%
{\@chapterlistsgap}%
@@ -969,26 +1077,26 @@
\KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
%</option&(book|report)>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \end{macro}^^A \@chapterlistgap
+% \end{macro}^^A \if@chaptertolists
+% \end{option}^^A chapteratlists
%
%
% \begin{macro}{\float@listhead}
-% \changes{v2.8b}{2001/06/26}{neu (für alle Paketautoren)}%^^A
-% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
-% \cs{float@listhead}}%^^A
-% \changes{v2.98c}{2008/03/05}{\cs{float@@listhead} wird verwendet}%^^A
-% \changes{v3.00}{2008/07/04}{Verwendung von \cs{float@listhead} ist nicht
-% länger empfohlen}%^^A
-% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
-% In Absprache mit Anselm Lingnau, dem Autor des Pakets \textsf{float}, wird
-% ab Version 2.8b \cs{float@headings} zum Setzen des Kolumnentitels bei den
-% Verzeichnissen verwendet, die \textsf{float} für neu definierte floats zur
-% Verfügung stellt. Dabei definiert \textsf{float} die Anweisung nur, wenn
-% sie nicht bereits existiert. Die Zusammenarbeit wird dadurch
-% verbessert. Da Anselm sich in letzter Minute entschlossen hat, das Makro
-% \cs{float@listhead} zu nennen, wurde dies in Version 2.8g angepasst.
+% \changes{v2.8b}{2001/06/26}{added}
+% \changes{v2.8g}{2001/07/18}{\cs{float@headings} renamed to
+% \cs{float@listhead}}
+% \changes{v2.98c}{2008/03/05}{using \cs{float@@listhead}}
+% \changes{v3.00}{2008/07/04}{deprecated}
+% \changes{v3.10}{2011/08/31}{using\cs{MakeMarkcase}}
+% In 2001 I've designed an interface to allow other package authors to set the
+% headings of lists of floats the same way \KOMAScript{} classes do. Anselm
+% Lingnau accepted this interface (but did not like may macro names, so these
+% were changed in \KOMAScript{} 2.8g). But for \KOMAScript{} 3 I've needed a
+% more powerful interface. So this became deprecated. Unfortunately Anselm is
+% not willing to use the new \pkg*{tocbasic} for \pkg{float}. See
+% \pkg*{scrhack} for a solution and how \pkg{float} could benefit from using
+% \pkg*{tocbasic}.
% \begin{macrocode}
%<*body>
\newcommand*{\float@listhead}[1]{%
@@ -996,13 +1104,8 @@
\float@@listhead{#1}%
\@mkboth{\MakeMarkcase{#1}}{\MakeMarkcase{#1}}%
% \end{macrocode}
-% \changes{v2.8q}{2001/11/14}{dynamische Anpassung an die Nummer}%^^A
-% Dies ist der passende Ort, um die Breite, die für die Nummer des
-% Gleitobjekts benötigt wird zu ermitteln und anzupassen, falls dies
-% geünscht wird. Dazu findet eine lokale Umdefinierung von
-% \cs{@starttoc} statt. Die Umdefinierung ist deshalb lokal, weil alle
-% mir bekannten Verzeichnisse von Gleitobjekten innerhalb einer Gruppe
-% ausgegeben werden.
+% \changes{v2.8q}{2001/11/14}{support for dynamic number width}
+% This is the best occasion to also add the code for the dynamic number width.
% \begin{macrocode}
\if@dynlist%
\newcommand*{\scr@starttoc}{}%
@@ -1013,14 +1116,13 @@
\fi
}
% \end{macrocode}
-% \begin{macro}{\scr@float@listhead@warning}
-% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
-% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
-% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
+% \begin{macro}{\scr@float@listhead@warning,\scr@float@addtolists@warning}
+% \changes{v3.01}{2008/11/13}{added}
+% \changes{v3.12}{2013/09/25}{text changed}
+% \changes{v3.12a}{2014/03/05}{text corrected}
% \changes{v3.30}{2020/02/25}{spurious space at end of warning message
-% removed}%^^A
-% Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition
-% irgendwann aus den Klassen verschwinden wird.
+% removed}
+% Here the warning messages, that are used for using the deprecated interface.
% \begin{macrocode}
\newcommand*{\scr@float@listhead@warning}{%
\ClassWarning{\KOMAClassName}{%
@@ -1037,16 +1139,6 @@
deprecated \string\float@listhead\space interface%
}%
}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\scr@float@addtolists@warning}
-% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
-% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
-% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
-% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
-% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen
-% Unterstützung irgendwann aus den Klassen verschwinden wird.
-% \begin{macrocode}
\newcommand*{\scr@float@addtolists@warning}{%
\ClassWarningNoLine{\KOMAClassName}{%
\string\float@addtolists\space detected!\MessageBreak
@@ -1067,28 +1159,15 @@
}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \scr@float@listhead@warning,scr@float@addtolists@warning
+% \end{macro}^^A \float@listhead
%
-% \begin{macro}{\listfigurename}
-% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
-% \begin{macro}{\listtablename}
+% \begin{command}{\listfigurename,\listtablename}
+% \begin{command}{\listoflofname,\listoflotname,
+% \listoflofentryname,\listoflotentryname}
+% \changes{v3.00}{2008/07/03}{neu für Paket \pkg*{tocbasic}}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
-% \begin{macro}{\listoflofname}
-% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
-% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% \begin{macro}{\listoflotname}
-% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
-% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% \begin{macro}{\listoflofentryname}
-% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
-% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% \begin{macro}{\listoflotentryname}
-% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
-% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
-% Die Namen der Verzeichnisse auch für das Paket \textsf{tocbasic}.
+% The names used by \pkg*{tocbasic}.
% \begin{macrocode}
%<*body>
\renewcommand*\listfigurename{List of Figures}
@@ -1103,71 +1182,59 @@
\renewcommand*\listoflotentryname{\tablename}
%</body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}^^A \listoflofname … \listoflotentryname
+% \end{command}^^A \listfigurename,\listtablename
%
-% \begin{macro}{\listoffigures}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}}%^^A
-% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei
-% \textsf{scrartcl}}%^^A
-% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
-% 0 gesetzt}%^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
-% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
-% ersetzt}%^^A
-% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A
-% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@figure} statt
-% \texttt{lof}}%^^A
-% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
-% definiert}%^^A
-% Die Ausgabe des Abbildungsverzeichnisses.
-% \end{macro}
+% \begin{command}{\listoffigures}
+% \changes{v2.3h}{1995/01/21}{using \cs{lof@heading}}
+% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} for all classes}
+% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent}
+% replaced}
+% \changes{v3.00}{2008/07/04}{using \pkg*{tocbasic}}
+% \changes{v3.23}{2017/03/24}{using \cs{ext@figure} instead of \file{lof}}
+% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}}
+% The list of figures.
+% \end{command}^^A \listoffigures
%
% \begin{macro}{\l@figure}
-% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
-% im \texttt{default}-Stil definiert}%^^A
-% Befehl zur Formatierung eines Verzeichniseintrags.
-% \end{macro}
+% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}}
+% Entry command for the list of figures.
+% \end{macro}^^A \l@figure
%
-% \begin{macro}{\listoftables}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}}%^^A
-% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei
-% \textsf{scrartcl}}%^^A
-% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
-% 0 gesetzt}%^^A
-% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}%
-% \cs{@parskip@indent}}%^^A
-% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
-% ersetzt}%^^A
-% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A
-% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@table} statt
-% \texttt{lot}}%^^A
-% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
-% definiert}%^^A
-% Die Ausgabe des Tabellenverzeichnisses.
-% \end{macro}
+% \begin{command}{\listoftables}
+% \changes{v2.3h}{1995/01/21}{using \cs{lot@heading}}
+% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} for all classes}
+% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0}
+% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}
+% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent}
+% replaced}
+% \changes{v3.00}{2008/07/04}{using \pkg*{tocbasic}}
+% \changes{v3.23}{2017/03/24}{using \cs{ext@table} instead of \file{lot}}
+% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}}
+% The list of figures.
+% \end{command}^^A \listoftables
%
% \begin{macro}{\l@table}
-% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
-% im \texttt{default}-Stil definiert}%^^A
-% \end{macro}
+% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}}
+% Entry command for the list of tables.
+% \end{macro}^^A \l@table
%
-%
-% \iffalse
+% \begin{macrocode}
%</!letter>
-% \fi
-%
+% \end{macrocode}
+%
%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-listsof.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: