From ce1c001f7db86ff8f09c1203b965ed9f44531d7a Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Sun, 8 May 2022 03:00:48 +0000
Subject: CTAN sync 202205080300

---
 .../koma-script/source/scrkernel-tocstyle.dtx      | 1165 +++++++++-----------
 1 file changed, 491 insertions(+), 674 deletions(-)

(limited to 'macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx')

diff --git a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
index 4da01b388d..f092e44a3b 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 % ======================================================================
 % scrkernel-tocstyle.dtx
-% Copyright (c) Markus Kohm, 2015-2021
+% Copyright (c) Markus Kohm, 2015-2022
 %
 % This file is part of the LaTeX2e KOMA-Script bundle.
 %
@@ -17,44 +17,8 @@
 % The Current Maintainer and author of this work is Markus Kohm.
 %
 % This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-tocstyle.dtx
-% Copyright (c) Markus Kohm, 2015-2021
-%
-% 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-tocstyle.dtx 3613 2021-07-15 12:25:10Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3703 2022-02-15 07:41:54Z kohm $
 % The runs of run-time file generation:
 %<preidentify>%%%            (run: preidentify)
 % - everything that is needed before selfidentification of resulting files
@@ -75,13 +39,12 @@
 % - everything, that should be done immediately before leaving the file
 %   (unused) 
 %<*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: 2021-07-15 14:25:10 +0200 (Thu, 15 Jul 2021) $
+  \filedate$Date: 2022-02-15 08:41:54 +0100 (Di, 15. Feb 2022) $
   \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
-  \filerevision$Revision: 3613 $
+  \filerevision$Revision: 3703 $
   \edef\reserved@a{%
     \noexpand\endgroup
     \noexpand\ProvidesFile{scrkernel-tocstyle.dtx}%
@@ -89,51 +52,55 @@
                            KOMA-Script source (TOC styles)]
   }%
 \reserved@a
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[main=english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-tocstyle.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}%
-  \footnote{This is version \fileversion\ of file
-    \texttt{\filename}.}}
-\date{\filedate}
-\author{Markus Kohm}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\setcounter{StandardModuleDepth}{3}
 \begin{document}
-  \maketitle
-  \tableofcontents
-  \DocInput{\filename}
+\DocInput{scrkernel-tocstyle.dtx}
 \end{document}
 %</dtx>
 % \fi
 %
-% \selectlanguage{english}
-% \section{Directory Styles}
-%
-% Directory (or ToC) styles are provided in cooperation with sectioning
-% styles. But they are also part of the basic functions of directories aka
-% tables or lists of contents. In \KOMAScript{} this is handled by package
-% \Package{tocbasic}. See the \KOMAScript{} manuals for more information.
-%
-% \StopEventually{\PrintIndex\PrintChanges}
-%
 % \changes{v3.20}{2015/11/13}{new}
+% \changes{v3.36}{2022/02/14}{switch over from \cls*{scrdoc} to
+%   \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/14}{whole implementation documentation in English}
+%
+% \GetFileInfo{scrkernel-tocstyle.dtx}
+% \title{The Predifined Directory Styles of
+%   \href{https://komascript.de}{\KOMAScript} Package \pkg*{tocbasic} and the
+%   \href{https://komascript.de}{\KOMAScript} Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+%   \file{scrkernel-tocstyle.dtx} provides the predefined directory (or ToC)
+%   styles. The basic styles of \pkg*{tocbasic} are defined independent from
+%   the \KOMAScript{} classes. However, the \KOMAScript{} classes define their
+%   own styles depending on the styles of \pkg*{tocbasic}.
+% \end{abstract}
+% \tableofcontents
+%
+% \section{User Manual}
+%
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
+% 
+% \MaybeStop{\PrintIndex}
 %
+% \section{Implementation of the Basic ToC Styles of Package
+%  \pkg*{tocbasic} and the Specific ToC Styles of the \KOMAScript{} classes}
 %
 % \subsection{Settings independent from directories but nevertheless basis for
 % them}
 %
 % Before \KOMAScript~3.20 the commands here were part of the \KOMAScript{}
-% classes. But now they are part of package \Package{tocbasic}, because they
+% classes. But now they are part of package \pkg*{tocbasic}, because they
 % are more basic than only to be used by the \KOMAScript{} classes.
 %
-% \iffalse
-%<*package>
-% \fi
 %
-% \begin{macro}{\numberline}
+% \begin{command}{\numberline}
 % \changes{v3.20}{2016/03/10}{\cs{numberline} defined indirectly by
 %   \cs{scr@numberline}}
 % \begin{macro}{\scr@numberline}
@@ -146,7 +113,7 @@
 % This macro is used indirectly in the ToC and has to be redefined to fulfil
 % rules~5 and 6 of DUDDEN, 20th edition.
 %    \begin{macrocode}
-%<*body>
+%<*package&body>
 \newcommand*{\scr@numberline}[1]{%
   \numberline@box{%
     \numberline@prefix
@@ -157,8 +124,8 @@
   }%
 }
 %    \end{macrocode}
-% \begin{macro}{\usetocbasicnumberline}
-% \changes{v3.20}{2016/03/15}{new}
+% \begin{command}{\usetocbasicnumberline}
+% \changes{v3.20}{2016/03/15}{added}
 % The macro tests, whether \cs{numberline} used \cs{scr@numberline}. If not,
 % the optional argument is executed and a afterwards \cs{numberline} is
 % redefined.
@@ -180,26 +147,26 @@
   \if@tempswa #1\renewcommand*{\numberline}[1]{\scr@numberline{##1}}\fi
 }
 %    \end{macrocode}
-% \end{macro}%^^A \usetocbasicnumberline
+% \end{command}^^A \usetocbasicnumberline
 % \begin{macro}{\numberline@prefix}
-% \changes{v3.06}{2010/05/18}{new (internal)}
+% \changes{v3.06}{2010/05/18}{added}
 % The default is just empty. It can be used, e.g., to print something before
 % the number or to make the number right aligned.
 %    \begin{macrocode}
 \newcommand*{\numberline@prefix}{}
 %    \end{macrocode}
-% \end{macro}%^^A \numberline@prefix
+% \end{macro}^^A \numberline@prefix
 % \begin{macro}{\numberline@postfix}
-% \changes{v3.06}{2010/05/18}{neu (intern)} 
+% \changes{v3.06}{2010/05/18}{added} 
 % The default is \cs{hfil} to make the number left aligned.
 %    \begin{macrocode}
 \newcommand*{\numberline@postfix}{\hfil}
 %    \end{macrocode}
-% \end{macro}%^^A \numberline@postfix
+% \end{macro}^^A \numberline@postfix
 % \begin{macro}{\numberline@numberformat}
-% \changes{v3.06}{2010/05/18}{new (internal)}
+% \changes{v3.06}{2010/05/18}{added}
 % \changes{v3.12}{2013/11/22}{don't output anything, if argument expands to
-%   an empty string}%^^A
+%   an empty string}
 % \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}}
 % Used to fulfil rules~5 and 6 of DUDEN, 20th edition.
 %    \begin{macrocode}
@@ -208,7 +175,7 @@
 }
 %    \end{macrocode}
 % \begin{macro}{\numberline@numberprefix}
-% \changes{v3.20}{2016/03/15}{new (internal)}
+% \changes{v3.20}{2016/03/15}{added}
 % Used to prefix the number inside \cs{numberline@numberformat}. In opposite
 % to \cs{numberline@prefix} it is only used, if the argument of
 % \cs{numberline@numberformat} and therefore the argument of \cs{numberline}
@@ -216,9 +183,9 @@
 %    \begin{macrocode}
 \newcommand*{\numberline@numberprefix}{}
 %    \end{macrocode}
-% \end{macro}%^^A \numberline@numberprefix
+% \end{macro}^^A \numberline@numberprefix
 % \begin{macro}{\numberline@numberpostfix}
-% \changes{v3.20}{2016/03/15}{new (internal)}
+% \changes{v3.20}{2016/03/15}{added}
 % Used to postfix the number inside \cs{numberline@numberformat}. In opposite
 % to \cs{numberline@prefix} it is only used, if the argument of
 % \cs{numberline@numberformat} and therefore the argument of \cs{numberline}
@@ -226,33 +193,25 @@
 %    \begin{macrocode}
 \newcommand*{\numberline@numberpostfix}{}
 %    \end{macrocode}
-% \end{macro}%^^A \numberline@numberpostfix
-% \end{macro}%^^A \numberline@numberformat
+% \end{macro}^^A \numberline@numberpostfix
+% \end{macro}^^A \numberline@numberformat
 % \begin{macro}{\numberline@box}
-% \changes{v3.06}{2010/05/18}{new (internal)}
+% \changes{v3.06}{2010/05/18}{added}
 % Is used to put the sectioning number into a box.
 %    \begin{macrocode}
 \newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}}
-%</body>
+%</package&body>
 %    \end{macrocode}
-% \end{macro}%^^A \numberline@box
-% \end{macro}%^^A \scr@numberline
-%
-% \iffalse
-%</package>
-%<*class>
-% \fi
+% \end{macro}^^A \numberline@box
+% \end{macro}^^A \scr@numberline
 %
 %    \begin{macrocode}
-%<*body>
+%<*class&body>
 \let\numberline\scr@numberline
-%</body>
+%</class&body>
 %    \end{macrocode}
-% \end{macro}%^^A \numberline
+% \end{command}^^A \numberline
 %
-% \iffalse
-%</class>
-% \fi
 %
 % \subsection{The basics of the styles}
 %
@@ -261,9 +220,9 @@
 % command that defines the entry command and the corresponding options. The
 % options are used to provide configuration features.
 %
-% \iffalse
+%    \begin{macrocode}
 %<*package>
-% \fi
+%    \end{macrocode}
 %
 % \changes{v3.20}{2015/11/17}{ToC styles have the \texttt{KOMAarg} member
 %   \texttt{.dte}}
@@ -275,7 +234,7 @@
 %    \end{macrocode}
 %
 % \begin{macro}{\@DefineTOCEntryOption}
-% \changes{v3.20}{2015/04/10}{new (internal)}
+% \changes{v3.20}{2015/04/10}{added}
 % The definition of the options is done by a general interface. Important is,
 % that the definition of the option is done indirectly, which means: Here we
 % define a command, that defines the options when needed. Note, not only the
@@ -289,12 +248,10 @@
 %   \meta{definition}
 % \item[\marg{definition}: \meta{code},] definition of the option
 % \end{description}
-% \begin{macro}{\@DefineTOCEntryOptionWithoutDefault}
-% \changes{v3.20}{2015/11/10}{new (internal)}
-% \begin{macro}{\@DefineTOCEntryOptionWithDefault}
-% \changes{v3.20}{2015/11/10}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryOptionWithoutDefault,\@DefineTOCEntryOptionWithDefault}
+% \changes{v3.20}{2015/11/10}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need two
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need two
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -316,12 +273,11 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryOption
+% \end{macro}^^A \@DefineTOCEntryOptionWithoutDefault,\@DefineTOCEntryOptionWithDefault
+% \end{macro}^^A \@DefineTOCEntryOption
 %
 % \begin{macro}{\@RelaxTOCEntryOptions}
-% \changes{v3.20}{2015/04/10}{new (internal)}
+% \changes{v3.20}{2015/04/10}{added}
 % Reset all options of the current do-list back to \cs{relax}.
 %    \begin{macrocode}
 %<*body>
@@ -340,10 +296,10 @@
 \newcommand{\scr@dte@gobbleopt}[1][]{}
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@RelaxTOCEntryOptions
+% \end{macro}^^A \@RelaxTOCEntryOptions
 %
 % \begin{macro}{\@DefineTOCEntryListOption}
-% \changes{v3.31}{2020/06/11}{new (internal)}%^^A
+% \changes{v3.31}{2020/06/11}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents a list.
 % It has following parameters:
 % \begin{description}
@@ -356,9 +312,9 @@
 % \item[\oarg{init}: \meta{code},] initialization of the option
 % \end{description}
 % Between the \meta{prefix} and \meta{postfix} automatically
-% \cs{scr@dte@current} will be added. A copy option using ``\texttt{:=}''
-% instead of ``\texttt{=}'' and an add (append) option using ``\texttt{+=}''
-% instead of ``\texttt{=}'' is also defined.
+% \cs{scr@dte@current} will be added. A copy option using ``\opt{:=}''
+% instead of ``\opt{=}'' and an add (append) option using ``\opt{+=}''
+% instead of ``\opt{=}'' is also defined.
 %    \begin{macrocode}
 %<*body>
 \newcommand*{\@DefineTOCEntryListOption}[2]{%
@@ -368,7 +324,7 @@
 }
 %    \end{macrocode}
 % \begin{macro}{\@DefineTOCEntryListOptionWithoutDefault}
-% \changes{v3.31}{2020/06/11}{new (internal)}%^^A
+% \changes{v3.31}{2020/06/11}{added}
 % This is the case without default value. So we only have to define
 % the three internal options, that manipulate a macro.
 % \begin{macrocode}
@@ -396,9 +352,9 @@
   }%
 }
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryListOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryListOptionWithoutDefault
 % \begin{macro}{\@DefineTOCEntryListOptionWithDefault}
-% \changes{v3.31}{2020/06/11}{new (internal)}%^^A
+% \changes{v3.31}{2020/06/11}{added}
 % This is the case with a default value. It's almost the same, but the
 % argument numbers and using \cs{DefineFamilyKey} with optional argument.
 %    \begin{macrocode}
@@ -428,11 +384,11 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryListOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryListOption
+% \end{macro}^^A \@DefineTOCEntryListOptionWithDefault
+% \end{macro}^^A \@DefineTOCEntryListOption
 %
 % \begin{macro}{\@DefineTOCEntryLengthOption}
-% \changes{v3.20}{2015/12/04}{new (internal)}
+% \changes{v3.20}{2015/12/04}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents a length
 % macro. The parameters are:
 % \begin{description}
@@ -446,27 +402,22 @@
 % \end{description}
 % Later, when the option is defines, between \meta{prefix} and \meta{postfix}
 % will be added \cs{scr@dte@current} automatically. This is the name of the
-% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to
-% the option \marg{option} itself a copy option \marg{option}\texttt{:} will
+% entry level, e.g., |subsection| or |figure|. Additionally to
+% the option \marg{option} itself a copy option \marg{option}\opt{:} will
 % be defined. So it seems, that for the copy option a colon is before the
 % equal sign. The value of the copy option has to be the name of another entry
 % level and it copies the value of the same option of that entry
 % level. Additionally an additive option with appended plus sign is
 % defined. It adds the new value to the existing one.
-% \begin{macro}{\@DefineTOCEntryLengthOptionWithoutDefault}
-% \changes{v3.20}{2015/11/10}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryLengthOptionWithoutDefault,
+%               \@DefineTOCEntryLengthOptionWithDefault}
+% \changes{v3.20}{2015/11/10}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \changes{v3.27}{2019/10/03}{automatic definition of add option}
-% \begin{macro}{\@DefineTOCEntryLengthOptionWithDefault}
-% \changes{v3.20}{2015/11/10}{new (internal)}
-% \changes{v3.27}{2019/10/02}{automatic definition of copy option}
-% \changes{v3.27}{2019/10/03}{automatic definition of add option}
-% \begin{macro}{\@DefineTOCEntryLengthOptionMacro}
-% \changes{v3.20}{2015/11/10}{new (internal)}
-% \begin{macro}{\@DefineTOCEntryAddLengthOptionMacro}
-% \changes{v3.27}{2019/10/03}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryLengthOptionMacro,\@DefineTOCEntryAddLengthOptionMacro}
+% \changes{v3.27}{2019/10/03}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need three
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -553,14 +504,12 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryAddLengthOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryLengthOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryLengthOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryLengthOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryLengthOption
+% \end{macro}^^A \@DefineTOCEntryAddLengthOptionMacro,\@DefineTOCEntryLengthOptionMacro
+% \end{macro}^^A \@DefineTOCEntryLengthOptionWithDefault,\@DefineTOCEntryLengthOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryLengthOption
 %
 % \begin{macro}{\@DefineTOCEntryNumberOption}
-% \changes{v3.20}{2015/12/04}{new (internal)}
+% \changes{v3.20}{2015/12/04}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents a number
 % macro. The parameters are:
 % \begin{description}
@@ -574,27 +523,22 @@
 % \end{description}
 % Later, when the option is defines, between \meta{prefix} and \meta{postfix}
 % will be added \cs{scr@dte@current} automatically. This is the name of the
-% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to
-% the option \marg{option} itself a copy option \marg{option}\texttt{:} will
+% entry level, e.g., |subsection| or |figure|. Additionally to
+% the option \marg{option} itself a copy option \marg{option}\opt{:} will
 % be defined. So it seems, that for the copy option a colon is before the
 % equal sign. The value of the copy option has to be the name of another entry
 % level and it copies the value of the same option of that entry
 % level. Additionally an additive option with appended plus sign is
 % defined. It adds the new value to the existing one.
-% \begin{macro}{\@DefineTOCEntryNumberOptionWithoutDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryNumberOptionWithoutDefault,
+%               \@DefineTOCEntryNumberOptionWithDefault}
+% \changes{v3.20}{2015/11/12}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \changes{v3.27}{2019/10/03}{automatic definition of add option}
-% \begin{macro}{\@DefineTOCEntryNumberOptionWithDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
-% \changes{v3.27}{2019/10/02}{automatic definition of copy option}
-% \changes{v3.27}{2019/10/03}{automatic definition of add option}
-% \begin{macro}{\@DefineTOCEntryNumberOptionMacro}
-% \changes{v3.20}{2015/11/12}{new (internal)}
-% \begin{macro}{\@DefineTOCEntryAddNumberOptionMacro}
-% \changes{v3.27}{2019/10/03}{neu (intern)}
+% \begin{macro}{\@DefineTOCEntryNumberOptionMacro,\@DefineTOCEntryAddNumberOptionMacro}
+% \changes{v3.27}{2019/10/03}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need three
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -669,14 +613,12 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryAddNumberOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryNumberOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryNumberOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryNumberOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryNumberOption
+% \end{macro}^^A \@DefineTOCEntryAddNumberOptionMacro,\@DefineTOCEntryNumberOptionMacro
+% \end{macro}^^A \@DefineTOCEntryNumberOptionWithDefault,\@DefineTOCEntryNumberOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryNumberOption
 %
 % \begin{macro}{\@DefineTOCEntryBooleanOption}
-% \changes{v3.20}{2015/12/04}{new (internal)}
+% \changes{v3.20}{2015/12/04}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents a boolean
 % switch. The parameters are:
 % \begin{description}
@@ -690,22 +632,20 @@
 % \end{description}
 % Later, when the option is defines, between \meta{prefix} and \meta{postfix}
 % will be added \cs{scr@dte@current} automatically. This is the name of the
-% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to
-% the option \marg{option} itself a copy option \marg{option}\texttt{:} will
+% entry level, e.g., |subsection| or |figure|. Additionally to
+% the option \marg{option} itself a copy option \marg{option}\opt{:} will
 % be defined. So it seems, that for the copy option a colon is before the
 % equal sign. The value of the copy option has to be the name of another entry
 % level and it copies the value of the same option of that entry
 % level.
-% \begin{macro}{\@DefineTOCEntryBoolOptionWithoutDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
-% \changes{v3.27}{2019/10/02}{automatic definition of copy option}
-% \begin{macro}{\@DefineTOCEntryBoolOptionWithDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryBoolOptionWithoutDefault,
+%               \@DefineTOCEntryBoolOptionWithDefault}
+% \changes{v3.20}{2015/11/12}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \begin{macro}{\@DefineTOCEntryBoolOptionMacro}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need three
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -761,13 +701,12 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryBoolOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryBoolOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryBoolOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryBooleanOption
+% \end{macro}^^A \@DefineTOCEntryBoolOptionMacro
+% \end{macro}^^A \@DefineTOCEntryBoolOptionWithDefault,\@DefineTOCEntryBoolOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryBooleanOption
 %
 % \begin{macro}{\@DefineTOCEntryIfOption}
-% \changes{v3.20}{2015/12/06}{new (internal)}
+% \changes{v3.20}{2015/12/06}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents an if
 % command. The option itself is a boolean option. The parameters are:
 % \begin{description}
@@ -780,22 +719,20 @@
 % \end{description}
 % Later, when the option is defines, between \meta{prefix} and \meta{postfix}
 % will be added \cs{scr@dte@current} automatically. This is the name of the
-% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to
-% the option \marg{option} itself a copy option \marg{option}\texttt{:} will
+% entry level, e.g., |subsection| or |figure|. Additionally to
+% the option \marg{option} itself a copy option \marg{option}\opt{:} will
 % be defined. So it seems, that for the copy option a colon is before the
 % equal sign. The value of the copy option has to be the name of another entry
 % level and it copies the value of the same option of that entry
 % level.
-% \begin{macro}{\@DefineTOCEntryIfOptionWithoutDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
-% \changes{v3.27}{2019/10/02}{automatic definition of copy option}
-% \begin{macro}{\@DefineTOCEntryIfOptionWithDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryIfOptionWithoutDefault,
+%               \@DefineTOCEntryIfOptionWithDefault}
+% \changes{v3.20}{2015/11/12}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \begin{macro}{\@DefineTOCEntryIfOptionMacro}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need three
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -851,13 +788,12 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DefineTOCEntryIfOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryIfOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryIfOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryIfOption
+% \end{macro}^^A \@DefineTOCEntryIfOptionMacro
+% \end{macro}^^A \@DefineTOCEntryIfOptionWithDefault,\@DefineTOCEntryIfOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryIfOption
 %
 % \begin{macro}{\@DefineTOCEntryCommandOption}
-% \changes{v3.20}{2015/11/17}{new (internal)}
+% \changes{v3.20}{2015/11/17}{added}
 % Use \cs{DefineTOCEntryOption} to define an option that represents a
 % macro. The parameters are:
 % \begin{description}
@@ -871,31 +807,29 @@
 % \end{description}
 % Later, when the option is defines, between \meta{prefix} and \meta{postfix}
 % will be added \cs{scr@dte@current} automatically. This is the name of the
-% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to
-% the option \marg{option} itself a copy option \marg{option}\texttt{:} will
+% entry level, e.g., |subsection| or |figure|. Additionally to
+% the option \marg{option} itself a copy option \marg{option}\opt{:} will
 % be defined. So it seems, that for the copy option a colon is before the
 % equal sign. The value of the copy option has to be the name of another entry
 % level and it copies the value of the same option of that entry
 % level. Additionally an appending option with appended plus sign is
 % defined. It appends the new code to the existing one.
 % \begin{macro}{\@DefineTOCEntryCommandOptionWithoutDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % \begin{macro}{\@@DefineTOCEntryCommandOptionWithoutDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \changes{v3.27}{2019/10/03}{automatic definition of add option}
 % \begin{macro}{\@DefineTOCEntryCommandOptionWithDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % \begin{macro}{\@@DefineTOCEntryCommandOptionWithDefault}
-% \changes{v3.20}{2015/11/12}{new (internal)}
+% \changes{v3.20}{2015/11/12}{added}
 % \changes{v3.27}{2019/10/02}{automatic definition of copy option}
 % \changes{v3.27}{2019/10/03}{automatic definition of add option}
-% \begin{macro}{\@DefineTOCEntryCommandOptionMacro}
-% \changes{v3.20}{2015/11/12}{new (internal)}
-% \begin{macro}{\@@DefineTOCEntryCommandOptionMacro}
-% \changes{v3.20}{2015/11/26}{new (internal)}
+% \begin{macro}{\@DefineTOCEntryCommandOptionMacro,\@@DefineTOCEntryCommandOptionMacro}
+% \changes{v3.20}{2015/11/26}{added}
 % Because of the options argument at position 3 (and because we've made this
-% before \Package{xparse} became part of the \LaTeX{} kernel), we need three
+% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three
 % auxiliary macros.
 %    \begin{macrocode}
 %<*body>
@@ -941,9 +875,7 @@
       \unexpanded\expandafter{\scr@dte@doopts}\noexpand\do{#2:}%
     }%
   \else
-%<class>    \ClassError{\KOMAClassName
-%<package>    \PackageError{tocbasic%
-    }{only one argument supported}{%
+    \PackageError{tocbasic}{only one argument supported}{%
       \string\DefineTOCEntryCommandOption\space currently supports only
       commands with\MessageBreak
       at most one argument not #5}%
@@ -1001,9 +933,7 @@
       \unexpanded\expandafter{\scr@dte@doopts}\noexpand\do{#2:}%
     }%
   \else
-%<class>    \ClassError{\KOMAClassName
-%<package>    \PackageError{tocbasic%
-    }{only one argument supported}{%
+    \PackageError{tocbasic}{only one argument supported}{%
       \string\DefineTOCEntryCommandOption\space currently supports only
       commands with\MessageBreak
       at most two argument not #6}%
@@ -1020,18 +950,16 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@@DefineTOCEntryCommandOptionMacro
-% \end{macro}%^^A \@DefineTOCEntryCommandOptionMacro
-% \end{macro}%^^A \@@DefineTOCEntryCommandOptionWithDefault
-% \end{macro}%^^A \@DefineTOCEntryCommandOptionWithDefault
-% \end{macro}%^^A \@@DefineTOCEntryCommandOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryCommandOptionWithoutDefault
-% \end{macro}%^^A \@DefineTOCEntryCommandOption
+% \end{macro}^^A \@@DefineTOCEntryCommandOptionMacro,\@DefineTOCEntryCommandOptionMacro
+% \end{macro}^^A \@@DefineTOCEntryCommandOptionWithDefault
+% \end{macro}^^A \@DefineTOCEntryCommandOptionWithDefault
+% \end{macro}^^A \@@DefineTOCEntryCommandOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryCommandOptionWithoutDefault
+% \end{macro}^^A \@DefineTOCEntryCommandOption
 %
-% \begin{macro}{\@AddToDeclareTOCStyleEntryPreCheckNeeds}
-% \changes{v3.20}{2015/12/06}{new (internal)}
-% \begin{macro}{\@PreToDeclareTOCStyleEntryPreCheckNeeds}
-% \changes{v3.20}{2015/12/06}{new (internal)}
+% \begin{macro}{\@AddToDeclareTOCStyleEntryPreCheckNeeds,
+%               \@PreToDeclareTOCStyleEntryPreCheckNeeds}
+% \changes{v3.20}{2015/12/06}{added}
 % Before the existence of the mandatory commands can be tested in
 % \cs{DeclareTOCStyleEntry}, a hook will be executed. To add code to this hook
 % we have this command with the following parameter:
@@ -1054,11 +982,10 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@PreToDeclareTOCStyleEntryPreCheckNeeds
-% \end{macro}%^^A \@AddToDeclareTOCStyleEntryPreCheckNeeds
+% \end{macro}^^A \@AddToDeclareTOCStyleEntryPreCheckNeeds,\@PreToDeclareTOCStyleEntryPreCheckNeeds
 %
 % \begin{macro}{\@TOCEntryStyleNeedsCommandByOption}
-% \changes{v3.20}{2015/12/04}{new (internal)}
+% \changes{v3.20}{2015/12/04}{added}
 % Adds one or more commands to the list of mandatory commands. The parameters
 % are:
 % \begin{description}
@@ -1080,12 +1007,10 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@TOCEntryStyleNeedsCommandByOption
+% \end{macro}^^A \@TOCEntryStyleNeedsCommandByOption
 %
-% \begin{macro}{\TOCEntryStyleInitCode}
-% \changes{v3.20}{2015/11/19}{new}
-% \begin{macro}{\TOCEntryStyleStartInitCode}
-% \changes{v3.20}{2015/11/25}{new}
+% \begin{command}{\TOCEntryStyleInitCode,\TOCEntryStyleStartInitCode}
+% \changes{v3.20}{2015/11/25}{added}
 % Executes commands before a ToC entry level command of this style is defined
 % and before the \emph{needs} list will be executed. The parameters are:
 % \begin{description}
@@ -1113,10 +1038,9 @@
   }%
 }
 %    \end{macrocode}
-% \end{macro}%^^A \TOCEntryStyleStartInitCode
-% \end{macro}%^^A \TOCEntryStyleInitCode
+% \end{command}^^A \TOCEntryStyleInitCode,\TOCEntryStyleStartInitCode
 % \begin{macro}{\@ExecuteTOCEntryStyleInitCode}
-% \changes{v3.20}{2015/12/04}{new (internal)}
+% \changes{v3.20}{2015/12/04}{added}
 % Executes the init code of one style. The first argument is the name of the
 % style, the second the name of the ToC entry level, which will be used as
 % argument of the init code (see above).
@@ -1165,33 +1089,28 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \ExecuteTOCEntryStyleInitCode
+% \end{macro}^^A \@ExecuteTOCEntryStyleInitCode
+%
 %
-% \selectlanguage{ngerman}
-% \begin{macro}{\DeclareTOCStyleEntry}
-% \changes{v3.20}{2015/11/13}{neu}
-% Diese Anweisung definiert einen Verzeichniseintragsbefehl. Dabei wird auch
-% geprüft, ob all benötigten Befehle definiert sind. Falls das nicht der Fall
-% ist, wird der Verzeichniseintragsbefehl nicht definiert, sondern ein Fehler
-% gemeldet. Für die Definition werden folgende Argumente verwendet.
+% \begin{command}{\DeclareTOCStyleEntry}
+% \changes{v3.20}{2015/11/13}{added}
+% This user command defines a new ToC entry command. It tests, if all needed
+% style macros are already defined. Otherwise an error will be shown and the
+% ToC entry command will not be defined. The arguments are:
 % \begin{description}
-% \item[\oarg{Optionen}:] Komma separierte Liste von Optionen für die
-%   Definition des Eintrags.
-% \item[\marg{Stil}:] Der Stil \meta{string}, in dem der Verzeichniseintrag
-%   sein soll.
-% \item[\marg{Gliederungsebene}:] Der Name \meta{string} der Gliederungsebene
-%   für die ein Verzeichniseintrag definiert werden soll.
+% \item[\oarg{options}:] comma-separated list of options to specify the entry;
+% \item[\marg{style}:] a string, that specifies the style of the ToC entry;
+% \item[\marg{level name}:] a string, that specifies the name of the
+%   sectioning level (or float environment), related to the ToC entry;
 % \end{description}
-% Es wird außerdem eine Anweisung \cs{scr@dte@def@l@\meta{Stil}} benötigt,
-% über die dann die eigentliche Definition der Eintragsanweisung
-% erfolgt. Diese hat genau ein Argument: \meta{Gliederungsebene}.
+% The real macro to define a ToC entry command is
+% \cs{scr@dte@def@l@\meta{style}}. That needs exactly one argument, the
+% \meta{level name}.
 %    \begin{macrocode}
 %<*body>
 \newcommand*{\DeclareTOCStyleEntry}[3][]{%
   \scr@ifundefinedorrelax{scr@dte@def@l@#2}{%
-%<class>    \ClassError{\KOMAClassName
-%<package>    \PackageError{tocbasic%
-    }{toc entry style `#2' undefined}{%
+    \PackageError{tocbasic}{toc entry style `#2' undefined}{%
       Somebody told me to define toc entry `#3' with style `#2',\MessageBreak
       but I do not know style `#2'.\MessageBreak
       You should first define the style then define the entry.\MessageBreak
@@ -1222,9 +1141,7 @@
       \aftergroup\@tempswatrue
       \def\do##1##2##3##4{%
         \scr@ifundefinedorrelax{##1#3##2}{%
-%<class>          \ClassError{\KOMAClassName
-%<package>          \PackageError{tocbasic%
-          }{toc style `#2' needs ##4}{%
+          \PackageError{tocbasic}{toc style `#2' needs ##4}{%
             Usually the ##4 is defined using option `##3'.\MessageBreak
             In some cases it may be set defining command
             `\expandafter\string\csname ##1#3##2\endcsname'.\MessageBreak
@@ -1241,25 +1158,23 @@
     \if@tempswa
       \@nameuse{scr@dte@def@l@#2}{#3}%
 %    \end{macrocode}
-% \changes{v3.27}{2019/10/02}{macro name prefix for style information
-% changed}%^^A
+% \changes{v3.27}{2019/10/02}{macro name prefix for style information changed}
 % Note: Before \KOMAScript~3.27 the style name of an entry was stored in
 % \cs{scr@dte@\meta{level name}@style}. But this war wrong, because the prefix
-% \texttt{scr@dte} is used for attributes of the style (while declaring an
+% |scr@dte| is used for attributes of the style (while declaring an
 % entry), but the style is an attribute of the entry. So usage of the prefix
-% \texttt{scr@tso} would be much better. This means usage of
+% |scr@tso| would be much better. This means usage of
 % \cs{scr@dte@\meta{level name}@style} is deprecated and should be replaced by
 % \cs{scr@tso@\meta{level name}@style}.
 %    \begin{macrocode}
       \expandafter\edef\csname scr@dte@#3@style\endcsname{#2}%
       \expandafter\edef\csname scr@tso@#3@style\endcsname{#2}%
 %    \end{macrocode}
-% \changes{v3.21}{2016/06/09}{\cs{toclevel@\emph{ebene}} wird für
-%     \textsf{hyperref} neu gesetzt}%^^A
-% Da verschiedene Pakete davon ausgehen, dass die Ebene
-% \textsf{hyperref}-kompatibel gespeichert ist, setzen wir die hier
-% zusätzlich. Das \textsf{hyperref} die Einstellungen ggf. überschreibt,
-% machen wir das in der Dokumentpräambel auch mehrfach.
+% \changes{v3.21}{2016/06/09}{\cs{toclevel@\emph{level}} added for \pkg{hyperref}}
+% At least \pkg{hyperref}, but several other packages too, depend on a
+% \pkg{hyperref} compatible storage of the level number. So we define it here
+% additionally. Unfortunately \pkg{hyperref} overwrites this definition, so we
+% do so after loading the package and sometimes also at |\begin{document}|.
 %    \begin{macrocode}
       \expandafter\let\csname toclevel@#3\expandafter\endcsname
       \csname #3tocdepth\endcsname
@@ -1279,10 +1194,10 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \DeclareTOCStyleEntry
+% \end{command}^^A \DeclareTOCStyleEntry
 %
-% \begin{macro}{\DeclareTOCStyleEntries}
-% \changes{v3.26}{2018/08/27}{new}%^^A
+% \begin{command}{\DeclareTOCStyleEntries}
+% \changes{v3.26}{2018/08/27}{added}
 % Use \cs{DeclareTOCStyleEntry} to define a list of entries, all with the same
 % options and style.
 %    \begin{macrocode}
@@ -1305,26 +1220,24 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \DeclareTOCStyleEntries
+% \end{command}^^A \DeclareTOCStyleEntries
 %
-% \begin{macro}{\DeclareTOCEntryStyle}
-% \changes{v3.20}{2015/11/17}{neu}
+% \begin{command}{\DeclareTOCEntryStyle}
+% \changes{v3.20}{2015/11/17}{added}
 % \begin{macro}{\@DeclareTOCEntryStyle}
-% \changes{v3.20}{2015/11/17}{neu (intern)}
-% Über diese Anweisung wir ein neuer Stil für TOC-Einträge definiert. Ein Stil
-% besteht aus:
+% \changes{v3.20}{2015/11/17}{added}
+% The user command is used to define a new style for ToC entries. The
+% arguments are:
 % \begin{description}
-% \item[\marg{Stil}:] Der Stil \meta{string}, der definiert werden soll.
-% \item[\oarg{Initialisierungscode}:] Dieser Code wird bei der Definition
-%   eines Verzeichnisbefehls ausgeführt und enthält beispielsweise
-%   Optionendeklarationen. Es ist zu beachten, dass dieser Code ggf. auch
-%   mehrfach ausgeführt werden kann!
-% \item[\marg{Code}:] Der Code, der ausgeführt wird, wenn ein
-%   Verzeichniseintrag ausgegeben werden soll.
+% \item[\marg{style}:] a string, that represents the name of the style;
+% \item[\oarg{initialization code}:] code, e.g., to initialize the options,
+%   that will be used to define the ToC entry command (note: this code can be
+%   executed more than once);
+% \item[\marg{code}:] code, that will be used to generate a ToC entry while
+%   loading the auxiliary file of the ToC;
 % \end{description}
-% Unabhängig davon, ob eine \meta{Optionendeklaration} angegeben ist oder
-% nicht, wird immer eine Option \texttt{level} definiert, über die die
-% Verzeichnisebene einen nummerischen Wert erhält.
+% Independent from the \meta{initialization code}, \opt{level} is always
+% defined, because a numerical ToC level is always needed.
 %    \begin{macrocode}
 %<*body>
 \newcommand*{\DeclareTOCEntryStyle}[1]{%
@@ -1348,91 +1261,60 @@
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \@DeclareTOCEntryStyle
-% \end{macro}%^^A \DeclareTOCEntryStyle
+% \end{macro}^^A \@DeclareTOCEntryStyle
+% \end{command}^^A \DeclareTOCEntryStyle
 %
-% \begin{macro}{\TOC@EntryStartHook}
-% \changes{v3.20}{2016/01/12}{neu (intern)}
-% Bei jedem Eintrag, der über einen Eintragsstil von \KOMAScript{} definiert
-% ist, kann vor dem jeweiligen Eintrag über einen Haken eine Reihe
-% von Anweisungen ausgeführt werden. Innerhalb dieser Anweisungen ist
-% \texttt{\#1} der Name der Gliederungsebene. In der Regel dürfen diese
-% Anweisungen keinerlei Ausgaben tätigen und weder \cs{lastpenalty} noch
-% \cs{lastskip} verändern. Der Anwender ist dafür selbst verantwortlich! Weil
-% diese Einschränkung jedoch etwas kritisch ist und der Aufruf ohnehin ein
-% \cs{makeatletter} benötigt, wird nur der Haken definiert aber keine
-% Anweisung, um diesen zu ändern oder zu erweitern.
-%    \begin{macrocode}
-%<*body>
-\newcommand*{\TOC@EntryStartHook}[1]{}
-%</body>
-%    \end{macrocode}
-% \end{macro}%^^A \TOC@EntryStartHook
 %
-% \begin{macro}{\TOC@EntryEndHook}
-% \changes{v3.20}{2016/01/12}{neu (intern)}
-% Bei jedem Eintrag, der über einen Eintragsstil von \KOMAScript{} definiert
-% ist, kann nach dem jeweiligen Eintrag über einen Haken eine Reihe
-% von Anweisungen ausgeführt werden. Innerhalb dieser Anweisungen ist
-% \texttt{\#1} der Name der Gliederungsebene. In der Regel dürfen diese
-% Anweisungen keinerlei Ausgaben tätigen und weder \cs{lastpenalty} noch
-% \cs{lastskip} verändern. Der Anwender ist dafür selbst verantwortlich! Weil
-% diese Einschränkung jedoch etwas kritisch ist und der Aufruf ohnehin ein
-% \cs{makeatletter} benötigt,  wird nur der Haken definiert aber keine
-% Anweisung, um diesen zu ändern oder zu erweitern.
+% \begin{macro}{\TOC@EntryStartHook,\TOC@EntryEndHook}
+% \changes{v3.20}{2016/01/12}{added}
+% For every ToC entry, that has been defined by \KOMAScript{}, there is one
+% \emph{hook}, that will be executed before the corresponding ToC entry, and
+% another \emph{hook}, that will executed after the corresponding ToC entry. Inside
+% the \emph{hook} commands \texttt{\#1} is the name of the ToC level. Generally
+% the \emph{hook} commands should not do any output and should neither change
+% \cs{lastpenalty} nor \len{lastskip}. The user is responsible for this!
+% However, because this \emph{hook} is very dangerous, we only have two
+% internal macros for it but no user command to add new commands to the
+% hook. So it is a kind of last chance mechanism.
 %    \begin{macrocode}
 %<*body>
+\newcommand*{\TOC@EntryStartHook}[1]{}
 \newcommand*{\TOC@EntryEndHook}[1]{}
 %</body>
 %    \end{macrocode}
-% \end{macro}%^^A \TOC@EntryEndHook
+% \end{macro}^^A \TOC@EntryStartHook,\TOC@EntryEndHook
+%
 %
-% \begin{macro}{\CloneTOCEntryStyle}
-% \changes{v3.20}{2015/11/25}{neu}
-% Diese Anweisung dupliziert einen Stil samt seiner Optionen und
-% Befehle. Anschließend kann man ihn beispielsweise verändern. Das erste
-% Argument ist der Name des ursprünglichen Stils, das zweite der neue Name.
+% \begin{command}{\CloneTOCEntryStyle}
+% \changes{v3.20}{2015/11/25}{added}
+% The user command clones the style from \texttt{\#1} to style
+% \texttt{\#2}. After cloning you can change the new style.
 %    \begin{macrocode}
 %<*body>
 \newcommand*{\CloneTOCEntryStyle}[2]{%
 %    \end{macrocode}
-% Als erstes wird die Anweisung kopiert, mit der die \cs{l@\dots}-Anweisungen
-% definiert werden.
+% First of all copy the ToC entry command.
 %    \begin{macrocode}
   \expandafter\let\csname scr@dte@def@l@#2\expandafter\endcsname
   \csname scr@dte@def@l@#1\endcsname
 %    \end{macrocode}
-% Der Init-Code wird kopiert.
+% Then copy the \meta{initialization code}.
 %    \begin{macrocode}
   \expandafter\let\csname scr@dte@#2@init\expandafter\endcsname
   \csname scr@dte@#1@init\endcsname
 }
 %</body>
 %    \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Vorgefertigte Verzeichniseintragsstile}
+% \end{command}
 %
-% Hier wird quasi an Beispielen gezeigt, wie man Verzeichniseintragsstile
-% definieren kann. Einige dieser Stile sind sehr grundlegend. Andere sind
-% stellen Erweiterungen der grundlegenden Stile dar. Die Stile können über
-% mehrere \texttt{docstrip}-Durchgänge einzeln in den Quelltext gelangen.
 %
-% \begin{macro}{\@pnumwidth}
-% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A
-% \begin{macro}{\@tocrmarg}
-% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A
-% \begin{macro}{\@dotsep}
-% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A
-% Einige Makros für die Formatierung der Verzeichniseinträge:
+% \begin{macro}{\@pnumwidth,\@tocrmarg,\@dotsep}
+% \changes{v3.27}{2019/05/11}{moved from the classes to the package}
 % \begin{description}
-% \item[\cs{@pnumwidth}] ist der Platz für die Seitenzahl.
-% \item[\cs{@tocrmarg}] ist der rechte Rand bei mehrzeiligen
-%   Verzeichniseinträgen. Dieser wird hier größer als \cs{@pnumwidth}
-%   gewählt.
-% \item[\cs{\@dotsep}] ist der Abstand zwischen den einzelnen
-%   Punkten.
+% \item[\cs{@pnumwidth}] is the space of the page number.
+% \item[\cs{@tocrmarg}] is the right margin of entries with more than one
+%   line. Usually this should be larger than \cs{@pnumwidth}.
+% \item[\cs{\@dotsep}] is the space between the dots of a dotted connecting line.
 % \end{description}
 %    \begin{macrocode}
 %<*body>
@@ -1442,18 +1324,22 @@
 %</body>
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
-% \end{macro}
 %
 %
-% \iffalse
-%<*style>
-% \fi
+% \subsection{Predefined ToC entry styles}
+%
+% You can read this code as examples for defining ToC entry styles using the
+% commands from the previous sections. Some of them are very basic. Others are
+% extensions of the basic styles. \file{scrdocstrip.tex} has to process this
+% code several times to generate all the styles.
 %
+%    \begin{macrocode}
+%<*style>
+%    \end{macrocode}
+% 
 % \begin{macro}{\scr@dte@def@l@gobble}
-% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil
-%     \texttt{gobble}}%^^A
-% Der aller einfachste Verzeichniseintragsstil ist \texttt{gobble}. Er nimmt
+% \changes{v3.20}{2015/11/20}{ToC style \texttt{gobble} added}
+% Der aller einfachste Verzeichniseintragsstil ist |gobble|. Er nimmt
 % die beiden Argumente für den Verzeichniseintrag und die Seitenzahl und
 % vergisst sie unabhängig von der Ebene des Eintrags einfach. Daher benötigt
 % dieser Stil auch keinerlei Optionen oder Initialisierung.
@@ -1463,49 +1349,36 @@
 \DeclareTOCEntryStyle{gobble}{}%
 %</gobble>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@gobble
+% \end{macro}^^A \scr@dte@def@l@gobble
 %
 % \begin{macro}{\scr@dte@def@l@dottedtocline}
-% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil
-%     \texttt{dottedtocline}}%^^A
-% Der einfachste echte Verzeichniseintragsstil ist
-% \texttt{dottedtocline}. Dieser verwendet einfach nur die
-% \LaTeX-Kern-Anweisung \cs{dottedtocline}. Für \KOMAScript{} selbst sollte
-% man dieses Stil nicht verwenden. Man kann ihn aber beispielsweise mit den
-% Standardklassen verwenden, wenn man kompatibel bleiben will. Dieser benötigt
-% jedoch bereits Angaben bezüglich der Nummernbreite und des
-% Eintragseinzugs. Der ohnehin immer definierte Level wird ebenfalls
-% ausgewertet.
+% \changes{v3.20}{2015/11/20}{ToC style \texttt{dottedtocline} added}
+% The most simple real ToC entry style is |dottedtocline|. It used the
+% \LaTeX{} kernel macro \cs{@dottedtocline}. You should not use this style for
+% \KOMAScript. But it may be useful to be used with the standard
+% classes. However, in my opinion style |tocline| would always be the better one.
 % \begin{macro}{\scr@dte@def@l@undottedtocline}
-% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil
-%     \texttt{undottedtocline}}%^^A
-% Im Unterschied dazu entspricht der Verzeichniseintragsstil
-% \texttt{undottedtocline} dem der \texttt{chapter}-Ebene der
-% Standardklassen. Im Unterschied zu diesen wird jedoch ein Eintragseinzug
-% unterstützt.
+% \changes{v3.20}{2015/11/20}{ToC style \texttt{undottedtocline} added}
+% Style |undottedtocline| corresponds to the style, that is used for chapter
+% entries of the standard class \cls*{book} or \cls*{report}. In opposite to
+% that, it also supports an horizontal indent. So you can alternatively
+% interpret it as a variant of |dottedtocline| without dots.
 % \begin{macro}{\scr@dte@def@l@largetocline}
-% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil
-%     \texttt{largetocline}}%^^A
-% Im Unterschied dazu entspricht der Verzeichniseintragsstil
-% \texttt{largetocline} dem der \texttt{part}-Ebene der Standardklassen. Im
-% Unterschied zu diesen wird jedoch ein Eintragseinzug unterstützt. Eine
-% Nummernbreite gibt es hingegen nicht. Stattdessen werden die Einträge nicht
-% hängend gesetzt.
+% \changes{v3.20}{2015/11/20}{ToC style \texttt{largetocline} added}
+% Style |largetocline| corresponds to the style, that is used for part entries
+% of the standard classes. Once again and in opposite to the original code of
+% the standard classes, this style supports an entry indent. But an additional
+% number width is not supported. Instead the entries will be printed hanging.
 % \begin{macro}{\scr@dte@def@l@tocline}
-% \changes{v3.20}{2015/11/22}{neuer Verzeichniseintragsstil
-%     \texttt{tocline}}%^^A
-% Das hingegen wird der hochflexible Stil für Verzeichniseinträge, die aus
-% einer oder mehreren Zeilen bestehen. Dieser wird später über diverse
-% Hilfsmakros definiert.
+% \changes{v3.20}{2015/11/22}{ToC style \texttt{tocline} added}
+% |tocline| is a very flexible style. It is intended to be used for entries with
+% one or more line. It is used for all the ToC entries of the \KOMAScript{}
+% classes. The classes also clone this style several times.
 % \begin{macro}{\scr@dte@def@l@toctext}
-% \changes{3.27}{2019/07/08}{neuer Verzeichniseintragsstil
-%   \texttt{toctext}}%^^A
-% Während alle bisherigen Stile Zeilen oder eigentlich Absätze im Verzeichnis
-% erstellen, soll dieser Stil lediglich Text innerhalb eines Absatzes
-% erzeugen. Die einzelnen Einträge werden also hintereinander
-% ausgegeben. Dabei können auch Zeilenumbrüche innerhalb eines Eintrags
-% vorkommen. Dieser Stil teilt einige, wenige Optionen mit dem Stil
-% \texttt{tocline}. Die Stile haben aber auch eigene Optionen.
+% \changes{3.27}{2019/07/08}{ToC style \texttt{toctext} added}
+% So far all mentioned styles are intended to generate one paragraph per
+% entry. Style |toctext| generated only one paragraph for all consecutive
+% entries. So it prints \emph{text inside} a paragraph.
 %    \begin{macrocode}
 %<*dottedtocline|undottedtocline|largetocline|tocline|toctext>
 %<*dottedtocline>
@@ -1529,10 +1402,8 @@
 \DeclareTOCEntryStyle{tocline}[{%
 %</tocline>
 %    \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.31}{2020/06/09}{style \texttt{toctext} has also option
-%   \texttt{beforeskip}}%^^A
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.31}{2020/06/09}{style \texttt{toctext} also provides option
+%   \opt{beforeskip}}
 %    \begin{macrocode}
 %<*tocline|toctext>
   \DefineTOCEntryLengthOption{beforeskip}%
@@ -1544,7 +1415,7 @@
   \DefineTOCEntryIfOption{dynnumwidth}%
     {scr@tso@}{@dynnumwidth}{dynamic number width flag}%
 %    \end{macrocode}
-% \changes{v3.31}{2020/06/08}{option for indent follows list}%^^A
+% \changes{v3.31}{2020/06/08}{option for indent follows list}
 %    \begin{macrocode}
   \DefineTOCEntryListOption{indentfollows}%
     {scr@tso@}{@indentfollows}{list of levels that define the indent}%
@@ -1598,10 +1469,10 @@
     {scr@tso@}{@pagenumberformat}[1]{page number format}%
 %</tocline|toctext>  
 %    \end{macrocode}
-% \changes{v3.27}{2019/05/24}{neue Option \texttt{pagenumberwidth}}%^^A
-% \changes{v3.27}{2019/05/24}{neue Option \texttt{rightindent}}%^^A
-% Die Optionen \texttt{pagenumberwidth} und \texttt{rightindent} ersetzen
-% innerhalb des Stils \texttt{tocline} die Makros \cs{@pnumwidth} und
+% \changes{v3.27}{2019/05/24}{new option \opt{pagenumberwidth}}
+% \changes{v3.27}{2019/05/24}{new option \opt{rightindent}}
+% Die Optionen \opt{pagenumberwidth} und \opt{rightindent} ersetzen
+% innerhalb des Stils |tocline| die Makros \cs{@pnumwidth} und
 % \cs{@tocrmarg}.
 %    \begin{macrocode}
 %<*tocline>
@@ -1613,10 +1484,10 @@
     {scr@tso@}{@rightindent}{entry's text right indent}%
 %</tocline|toctext>  
 %    \end{macrocode}
-% \changes{v3.21}{2016/06/06}{neue Option \texttt{raggedentrytext}}%^^A
-% Die Option \texttt{raggedentrytext} muss leider etwas umständlich definiert
-% werden, damit sie mit der früheren Definition eines Makros
-% \cs{raggedchapterentry} halbwegs kompatibel ist.
+% \changes{v3.21}{2016/06/06}{new option \opt{raggedentrytext}}
+% Unfortunately definition of option \opt{raggedentrytext} is somehow
+% cumbersome, to be more or less compatible with former definition of
+% \cs{raggedchapterentry}.
 %    \begin{macrocode}
 %<*tocline>
   \DefineTOCEntryOption{raggedentrytext}[true]{%
@@ -1645,11 +1516,11 @@
     {scr@tso@}{@numwidth}{entry number width}%
 %</dottedtocline|undottedtocline|tocline>
 %    \end{macrocode}
-% Die Ebene, \texttt{level} bzw. \cs{\dots tocdepth}, kann auf zweierlei Arten
-% automatisch bestimmt werden. Zum einen wird für Sub-Ebenen die Elternebene
-% um eins erhöht verwendet, falls die Elternebene bereits definiert ist.
-% \changes{v3.21}{2016/06/09}{\cs{the} eingefügt}%^^A
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% Automatic setting of the numerical level of option \opt{level} resp. command
+% \cs{\meta{entry name}tocdepth} can be done either by increasing the parent
+% level number of a sub level, if the parent level has already be defined:
+% \changes{v3.21}{2016/06/09}{\cs{the} inserted}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
 %    \begin{macrocode}
 %<*tocline|toctext>
   \scr@ifundefinedorrelax{#1tocdepth}{%
@@ -1663,9 +1534,8 @@
   }{}%
 %</tocline|toctext>
 %    \end{macrocode}
-% War der Weg über Elternebenen nicht erfolgreich oder wurde er nicht
-% verwendet, so werden Standardwerte angenommen, wie sie bei den
-% Standardklassen und bei \KOMAScript{} zutreffen.
+% or, if this cannot be used, by using a standard value analogues to the
+% values of the standard classes and the \KOMAScript{} classes.
 %    \begin{macrocode}
   \@ifundefined{#1tocdepth}{%
     \Ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{%
@@ -1678,8 +1548,8 @@
                   \Ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{%
                     \Ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{%
 %    \end{macrocode}
-% Für unbekannte Anweisungen wird stattdessen eine eventuell vorhandene
-% Gliederungsebene auch als Verzeichnisebene übernommen:
+% As last chance, we can use the same number already used for a headings level
+% with the same name.
 %    \begin{macrocode}
                       \expandafter\let\csname #1tocdepth\expandafter\endcsname
                       \csname #1numdepth\endcsname
@@ -1694,7 +1564,7 @@
     }%
   }{}%
 %    \end{macrocode}
-% Der Einzug kann wie der Level aus der Elternebene gebildet werden
+% The indent can also be defined automatically by a parent level.
 %    \begin{macrocode}
 %<*tocline|toctext>
   \scr@ifundefinedorrelax{scr@tso@#1@indent}{%
@@ -1724,16 +1594,16 @@
       }{}%
     }{%
 %    \end{macrocode}
-% Kompatibilität mit älteren \KOMAScript-Klassen.
+% Former \KOMAScript{} versions use another macro name, that is also defined
+% for compatibility.
 %    \begin{macrocode}
       \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}%
     }%
   }{}%
 %</tocline|toctext>
 %    \end{macrocode}
-% Die Breite der Seitenzahlbox und der rechte Einzug können ebenfalls aus den
-% Elternelementen gebildet werden, allerdings muss hier nur der Wert
-% übernommen werden.
+% The width of the page number box and the right margin can simply be copied
+% from a parent level.
 %    \begin{macrocode}
 %<*tocline>
   \scr@ifundefinedorrelax{scr@tso@#1@pagenumberwidth}{%
@@ -1766,9 +1636,9 @@
   }{}%
 %</tocline|toctext>
 %    \end{macrocode}
-% War das nicht erfolgreich oder wird es nicht genutzt, so werden
-% Standardwerte verwendet, die sowohl für die Standardklasse als auch die
-% \KOMAScript-Klassen zutreffend sind.
+% If all the automatic setting methods were not successful, we try standard
+% values used from the standard classes or older versions of the \KOMAScript{}
+% classes.
 %    \begin{macrocode}
   \@ifundefined{scr@tso@#1@indent}{%
 %<*dottedtocline|undottedtocline|largetocline>
@@ -1779,8 +1649,9 @@
           \Ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{%
             \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{%
 %    \end{macrocode}
-% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder
-% nicht. Dazu sollte die Kapitelebene bereits definiert sein!
+% The follow code needs information about the existence of the chapter
+% level. So the chapter level should already be defined, before the first
+% usage!
 %    \begin{macrocode}
               \scr@ifundefinedorrelax{l@chapter}{%
                 \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{%
@@ -1795,7 +1666,7 @@
                           \@namedef{scr@tso@#1@indent}{10em}%
                         }{%
 %    \end{macrocode}
-% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden!
+% If nothing helps, the user has to define the values.
 %    \begin{macrocode}
                         }%
                       }%
@@ -1815,7 +1686,7 @@
                           \@namedef{scr@tso@#1@indent}{12em}%
                         }{%
 %    \end{macrocode}
-% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden!
+% Once more: if nothing helps, the user has to define the values.
 %    \begin{macrocode}
                         }%
                       }%
@@ -1830,14 +1701,14 @@
 %<*dottedtocline|undottedtocline|largetocline>
     }{%
 %    \end{macrocode}
-% Kompatibilität mit älteren \KOMAScript-Klassen.
+% Once again, for compatibility with former versions of \KOMAScript:
 %    \begin{macrocode}
       \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}%
     }%
 %</dottedtocline|undottedtocline|largetocline>
   }{}%
 %    \end{macrocode}
-% Für die Nummernbreite gibt es ebenfalls beide Wege.
+% Almost the same for the number width:
 %    \begin{macrocode}
 %<*dottedtocline|undottedtocline|tocline>
 %<*tocline>
@@ -1865,8 +1736,7 @@
         \Ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
           \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
 %    \end{macrocode}
-% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder
-% nicht. Dazu sollte die Kapitelebene bereits definiert sein!
+% Depending on existence of the chapter level:
 %    \begin{macrocode}
             \scr@ifundefinedorrelax{chapter}{%
               \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
@@ -1881,7 +1751,7 @@
                         \@namedef{scr@tso@#1@numwidth}{5m}%
                       }{%
 %    \end{macrocode}
-% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden!
+% Need option to be set.
 %    \begin{macrocode}
                       }%
                     }%
@@ -1901,7 +1771,7 @@
                         \@namedef{scr@tso@#1@numwidth}{6em}%
                       }{%
 %    \end{macrocode}
-% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden!
+% Need option to be set.
 %    \begin{macrocode}
                       }%
                     }%
@@ -1915,7 +1785,7 @@
 %<*dottedtocline|undottedtocline>
     }{%
 %    \end{macrocode}
-% Kompatibilität mit älteren \KOMAScript-Klassen.
+% Compatibility with old \KOMAScript{} versions.
 %    \begin{macrocode}
       \@namedef{scr@tso@#1@numwidth}{\@nameuse{scr@#1@tocnumwidth}}%
     }%
@@ -1924,9 +1794,8 @@
 %</dottedtocline|undottedtocline|tocline>
 %<*tocline>
 %    \end{macrocode}
-% Die Standardeinstellungen für die drei Penalty-Hooks sind einfach die
-% Standardanweisungen dafür. Dabei ist das so definiert, dass Änderungen an
-% den Standardanweisungen direkte Auswirkungen haben.
+% The three penalty hooks. Here simply the default commands are used by
+% default.
 %    \begin{macrocode}
   \expandafter\providecommand%
   \csname scr@tso@#1@LastTOCLevelWasLower\endcsname{\LastTOCLevelWasLower}%
@@ -1935,11 +1804,10 @@
   \expandafter\providecommand%
   \csname scr@tso@#1@LastTOCLevelWasHigher\endcsname{\LastTOCLevelWasHigher}%
 %    \end{macrocode}
-% Die Voreinstellung für den vertikalen Abstand ist Null mit ein klein wenig
-% Leim, um den Seitenumbruch zu optimieren. Das genügt bei einer normalen
-% A4-Seite aber gerade mal für den Ausgleich einer Zeile. Bei den höheren
-% Ebenen werden stattdessen die Voreinstellungen der Standardklassen
-% verwendet.
+% The default of the vertical distance of entries is 0 plus some glue. But
+% this is enough only for at least one line, if needed for vertical
+% justification. For the higher levels (part and chapter resp. section) the
+% defaults of the standard classes are used. These have some more glue.
 %    \begin{macrocode}
   \@ifundefined{scr@tso@#1@beforeskip}{%
     \Ifstr{#1}{part}{%
@@ -1960,12 +1828,8 @@
   }{}%
 %</tocline>
 %    \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.31}{2020/06/09}{\texttt{beforeskip} default also for style
-%   \texttt{toctext}}%^^A
-% For style \texttt{toctext} a default without glue is used to stay
-% compatible.
-% \selectlanguage{ngerman}%^^A
+% \changes{v3.31}{2020/06/09}{\opt{beforeskip} default also for style \texttt{toctext}}
+% For style |toctext| a default without glue is used to stay compatible.
 %    \begin{macrocode}
 %<*toctext>
   \expandafter\providecommand\expandafter*%
@@ -1973,8 +1837,8 @@
 %</toctext>
 %<*tocline>
 %    \end{macrocode}
-% Es ist gut zu wissen, wie breit die breiteste Nummer ist, damit wir
-% ggf. prüfen können, ob entsprechende Bedingungen eingehalten werden.
+% It would be good to know the width of the widest number. We will use this to
+% test several conditions.
 %    \begin{macrocode}
   \@ifundefined{scr@dte@#1@maxnumwidth}{%
     \expandafter\newlength\csname scr@dte@#1@maxnumwidth\endcsname
@@ -1984,17 +1848,15 @@
   \g@addto@macro{\scr@dte@donumwidth}{\do{#1}}%
 %</tocline>
 %    \end{macrocode}
-% Eine dieser Bedingungen ist, dass ein Mindestabstand zwischen Nummer und
-% Text eingehalten wird.
+% One condition is a minimum distance between number and text.
 %    \begin{macrocode}
 %<*tocline|toctext>
   \expandafter\providecommand\expandafter*%
   \csname scr@tso@#1@numsep\endcsname{.4em}%
 %</tocline|toctext>
 %    \end{macrocode}
-% Beim Absatzstil gibt es die Möglichkeit, am Anfang des Absatzes, zwischen
-% den Einträgen und am Ende der Einträge und nach dem letzten Eintrag einen
-% speziellen Text ausgeben zu lassen.
+% The |toctext| style support the output of some text before the first entry
+% of a paragraph, between the entries and after the last entry of a paragraph.
 %    \begin{macrocode}
 %<*toctext>
   \expandafter\providecommand%
@@ -2009,10 +1871,8 @@
   \csname scr@tso@#1@afterpar\endcsname{}%
 %</toctext>
 %    \end{macrocode}
-% Jede Ebene kann ihre eigene Formatierungsanweisung für die Nummer haben.
-% Jede Ebene kann auch ihre eigene Formatierungsanweisung für Nummer und Text
-% haben. Für \texttt{part} wird hier die Voreinstellung der Standardklassen
-% verwendet.
+% Formatting for only the number and formatting for number and text are
+% provided. For part we use the formatting of the standard classes as default.
 %    \begin{macrocode}
 %<*tocline|toctext>
   \expandafter\providecommand%
@@ -2041,18 +1901,16 @@
 %</tocline>
 %</tocline|toctext>
 %    \end{macrocode}
-% Nach der Nummer kann wahlweise ein Zeilenumbruch erfolgen, wobei in diesem
-% Fall der Text wieder auf Höhe der Nummer und nicht erst danach
-% erfolgt. Gesteuert wird das über einen Schalter. In der Voreinstellung
-% machen wird das nicht.
+% After the number a line break is optional. In this case the text starts
+% again at the horizontal position of the number and not behind it. The
+% default is, not to break after the number.
 %    \begin{macrocode}
 %<*tocline>
   \expandafter\providecommand
   \csname Ifscr@tso@#1@breakafternumber\endcsname[2]{##2}%
 %    \end{macrocode}
-% Die Verbindung zwischen Ende des Eintrags und den Seitenzahlen erfolgt
-% normalerweise mit Pünktchen. Das wird auch genau die Voreinstellung für die
-% Option werden. In der Voreinstellung wird mit \cs{hfill} gefüllt.
+% The default of the connection between the end of the text and the page
+% number column is a simple \cs{hfill}. Here you can optionally use dots as usual.
 %    \begin{macrocode}
   \@ifundefined{scr@tso@#1@linefill}{%
     \Ifstr{#1}{part}{%
@@ -2072,24 +1930,24 @@
     }%
   }{}%
 %    \end{macrocode}
-% Keine Verbindung bedeutet nicht automatisch, dass die Seitenzahlen nach vorn
-% rutschen. Das passiert erst, wenn die sie flatternd gesetzt werden:
+% If you don't want a connection, this does not automatically mean, that the
+% page number moves forwards to the end of the text. This only happens, if the
+% entry is set ragged.
 %    \begin{macrocode}
   \expandafter\providecommand\csname Ifscr@tso@#1@raggedpage\endcsname[2]{##2}%
 %    \end{macrocode}
-% Auch die Seitenzahl kann speziell formatiert werden, wenn das gewünscht ist.
+% Optionally you can use a formatting for the page number.
 %    \begin{macrocode}
   \Ifstr{#1}{part}{%
 %    \end{macrocode}
-% Für \texttt{part} normalerweise groß und fett:
+% With parts this is usually large and bold.
 %    \begin{macrocode}
     \expandafter\providecommand%
     \csname scr@tso@#1@pagenumberformat\endcsname[1]{\large\bfseries ##1}%
   }{%
 %    \end{macrocode}
-% \changes{v3.25}{2017/11/23}{Seitenzahlen für \texttt{chapter}-Einräge in der
-%   Voreinstellung fett}%^^A
-% Für \texttt{chapter} nur fett:
+% \changes{v3.25}{2017/11/23}{default of page numbers of chapter entries is bold}
+% With chapters it is bold.
 %    \begin{macrocode}
     \Ifstr{#1}{chapter}{%
       \expandafter\providecommand%
@@ -2098,16 +1956,16 @@
       \scr@ifundefinedorrelax{l@chapter}{%
         \Ifstr{#1}{section}{%
 %    \end{macrocode}
-% \changes{v3.25}{2017/11/23}{Seitenzahlen für \texttt{section}-Einräge in der
-%   Voreinstellung unter Umständen fett}%^^A
-% Für \texttt{section} ggf. auch fett:
+% \changes{v3.25}{2017/11/23}{default of page numbers of section entries maybe
+%   bold}
+% With sections sometimes bold.
 %    \begin{macrocode}
           \expandafter\providecommand%
           \csname scr@tso@#1@pagenumberformat\endcsname[1]{\bfseries ##1}%
         }{}%
       }{}%
 %    \end{macrocode}
-% Sonst in normaler Schrift und Farbe:
+% All others in normal font and normal color.
 %    \begin{macrocode}
       \expandafter\providecommand%
       \csname scr@tso@#1@pagenumberformat\endcsname[1]{%
@@ -2115,18 +1973,16 @@
     }%
   }%
 %    \end{macrocode}
-% Wobei die Seitenzahl normaleweise in eine Box fester Breite gesetzt wird.
-% \changes{v3.27}{2019/10/02}{Breite der Seitenzahlbox verallgemeinert}%^^A
+% Sometimes the page number has a box with defined width.
+% \changes{v3.27}{2019/10/02}{consequent use of width of page number box}
 %    \begin{macrocode}
   \expandafter\providecommand%
   \csname scr@tso@#1@pagenumberbox\endcsname[1]{%
     \hb@xt@\@nameuse{scr@dte@pagenumberwidth}{\hfil ##1}}%
   \expandafter\providecommand\csname Ifscr@tso@#1@dynnumwidth\endcsname[2]{##2}%
 %    \end{macrocode}
-% \selectlanguage{english}%
-% \changes{v3.31}{2020/06/08}{init indent follows list}%^^A
+% \changes{v3.31}{2020/06/08}{init indent follows list}
 % This command defines a list of levels that specify the indent (if not empty).
-% \selectlanguage{ngerman}%^^A
 %    \begin{macrocode}
   \expandafter\providecommand\csname Ifscr@tso@#1@dynindent\endcsname[2]{##2}%
   \scr@ifundefinedorrelax{scr@tso@#1@indentfollows}{%
@@ -2140,12 +1996,11 @@
   }{}%
 %</tocline>
 %    \end{macrocode}
-% \changes{v3.27}{2019/07/08}{Initialisierung von \texttt{raggedentry}}%^^A
-% \changes{v3.27}{2019/07/08}{Initialisierung von \texttt{prepagenumber}}%^^A
-% Im Stil \texttt{toctext} muss außerdem initialisiert werden, ob der Eintrag
-% im Flattersatz oder im Blocksatz gesetzt werden soll und was unmittelbar vor
-% der Seitenzahl auszugeben ist (\texttt{linefill} wäre dafür eine unpassende
-% Bezeichnung).
+% \changes{v3.27}{2019/07/08}{initialization of \opt{raggedentry}}
+% \changes{v3.27}{2019/07/08}{initialization of \opt{prepagenumber}}
+% With style |toctext| we have to initialize ragged or justified text and what
+% to print immediately before the page number (\opt{linefill} wouldn't have
+% been a suitable term).
 %    \begin{macrocode}
 %<*toctext>
   \expandafter\providecommand%
@@ -2155,12 +2010,10 @@
 %</toctext>
 }]{%
 %    \end{macrocode}
-% \changes{v3.27}{2019/05/12}{Berücksichtigung von Verzeichniseigenschaft
-%   \texttt{noindent}}%^^A
+% \changes{v3.27}{2019/05/12}{support for \opt{noindent}}
 % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
-%   \cs{Iftocfeature}}%^^A
-% Damit ist die Initialisierung abgeschlossen und wir kommen zur
-% Eintragsanweisung selbst:
+%   \cs{Iftocfeature}}
+% Initialization complete. Next we have the output code or macro.
 %    \begin{macrocode}
 %<*dottedtocline>
   \Iftocfeature{\@currext}{noindent}{%
@@ -2174,9 +2027,9 @@
 %<*undottedtocline|largetocline>
   \ifnum \c@tocdepth >\numexpr \@nameuse{#1tocdepth}-\@ne\relax
 %    \end{macrocode}
-% An dieser Stelle gibt es einen kleinen Unterschied zwischen der
-% \texttt{chapter}-Ebene und der \texttt{section}-Ebene von
-% \textsf{article}. Diesen machen wir hier an der nummerischen Ebene fest.
+% Here we have a little difference between chapters and the sections of
+% \cls*{article}. We do this by the level. So if you change the levels, the
+% result would change too.
 %    \begin{macrocode}
     \ifnum \@nameuse{#1tocdepth}<\@ne
       \scr@ifundefinedorrelax{chapter}{%
@@ -2197,35 +2050,30 @@
 %<largetocline>    \setlength\@tempdima{3em}%
     \begingroup
 %    \end{macrocode}
-% Es sei darauf hingewiesen, dass hier eigentlich zweimal \cs{@tocrmarg}
-% statt \cs{@pnumwidth} verwendet werden müsste. Allerdings habe ich
-% beschlossen, diesen schon vor Jahren gemeldeten Fehler aus
-% Kompatibilitätsgründen vorerst von den Standardklassen zu übernehmen.
+% Note: Here we should use two \cs{@tocrmarg} correctly. I've reported this
+% bug in the standard classes years ago without any change. So for
+% compatibility I've decided to accept it as feature and two times
+% \cs{@pnumwith} like the standard classes.
 %    \begin{macrocode}
       \parindent \z@ \rightskip \@pnumwidth
       \parfillskip -\@pnumwidth
 %    \end{macrocode}
-% Die Standardklassen fügen an dieser Stelle noch eine Gruppe ein, die dann
-% leider vor dem abschließenden \cs{par} bereits beendet wird. Das führt
-% natürlich zu falschen Zeilenabständen bei mehrzeiligen Einträgen. Ich habe
-% lange überlegt, aber schließlich beschlossen, diesen Fehler nicht aus den
-% Standardklassen zu übernehmen. Das war mir dann doch zu krass! Schlimmer
-% noch, würde man den Fehler übernehmen, müsste man das Setzen von
-% \cs{leftskip} abändern, weil natürlich auch das erst am Absatzende
-% wirklich zur Geltung kommt.
+% The standard classes use a group at this point. This group ends before the
+% final \cs{par}. This can result in wrong baseline skip for multi line
+% entries. It was a hard decision, but I've decided to avoid this bug, because
+% it was much too strange. Moreover, with the bug, the setting of
+% \len{leftskip} would have to be changed, because here also the value at the
+% end of the paragraph is used.
 %    \begin{macrocode}
       \leavevmode
 %<largetocline>      \large
       \bfseries
 %    \end{macrocode}
-% Es sei darauf hingewiesen, dass hier eigentlich auch bei
-% \texttt{largetocline} \cs{@tempdima} mit berücksichtigt werden
-% müsste. Das geht nur deshalb nicht, weil bei den Standardklassen \cs{part}
-% kein \cs{numberline} verwendet. Deshalb werden mehrzeilige Einträge auch
-% nicht korrekt eingerückt. Auch das habe ich aus Kompatibilitätsgründen
-% beibehalten.
-% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
-%   \cs{Iftocfeature}}%^^A
+% Note, here we also should use \cs{@tempdima} with style |largetocline|. But
+% we cannot do so, only because the standard classes do not use
+% \cs{numberline} for parts. Because of this, multi line entries are not
+% correctly indented. To do this same is also because of compatibility.
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by \cs{Iftocfeature}}
 %    \begin{macrocode}
 %<undottedtocline>      \advance\leftskip\@tempdima
       \Iftocfeature{\@currext}{noindent}{%
@@ -2239,11 +2087,10 @@
       ##1%
 %<undottedtocline>      \nobreak
 %    \end{macrocode}
-% Hier schließlich ist \cs{@pnumwidth} aufgrund des vorherigen
-% \cs{large} nicht mehr derselbe absolute Wert wie bei Einträgen ohne
-% \cs{large}. Deshalb müsste eigentlich noch vor dem \cs{large} der Wert
-% beispielsweise in eine Länge wie \cs{@tempdimb} übertragen und dann hier
-% verwendet werden. Auch das habe ich aus Kompatibilitätsgründen übernommen.
+% Here \cs{@pnumwidth} is not the same absolute value for entries with
+% \cs{large} as for entries without \cs{large}. So correctly, e.g., the value
+% should be transferred via \len{@temdimb}. But because of compatibility this
+% bug hat also been interpreted as feature.
 %    \begin{macrocode}
       \hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}%
       \par
@@ -2268,14 +2115,13 @@
 }
 %</dottedtocline|undottedtocline|largetocline|tocline|toctext>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@toctext
-% \end{macro}%^^A \scr@dte@def@l@tocline
-% \end{macro}%^^A \scr@dte@def@l@largetocline
-% \end{macro}%^^A \scr@dte@def@l@undottedtocline
-% \end{macro}%^^A \scr@dte@def@l@dottedtocline
+% \end{macro}^^A \scr@dte@def@l@toctext
+% \end{macro}^^A \scr@dte@def@l@tocline
+% \end{macro}^^A \scr@dte@def@l@largetocline
+% \end{macro}^^A \scr@dte@def@l@undottedtocline
+% \end{macro}^^A \scr@dte@def@l@dottedtocline
 %
-% Für den Stil \texttt{tocline} werden diverse weitere Einstellungen und
-% Befehle benötigt:
+% Style |tocline| needs several additional settings and macros:
 %    \begin{macrocode}
 %<*tocline>
 \AtBeginDocument{%
@@ -2300,39 +2146,34 @@
   }%
 }
 %    \end{macrocode}
-% \begin{macro}{\scr@dte@nosub}
-% \changes{v3.20}{2015/11/23}{neu (intern)}
-% \begin{macro}{\@scr@dte@nosub}
-% \changes{v3.20}{2015/11/23}{neu (intern)}
-% Über diese Hilfsmacros werden die Buchstaben \texttt{sub} am Anfang des
-% Arguments entfernt. Stehen diese gar nicht am Anfang, so wird ein Fehler
-% wegen falscher Verwendung von \cs{@scr@de@nosub} gemeldet.
+% \begin{macro}{\scr@dte@nosub,\@scr@dte@nosub}
+% \changes{v3.20}{2015/11/23}{added}
+% These helper macros are used to recognize the |sub| prefix at the start of
+% an argument and remove it. If there isn't a |sub| at the very beginning, we
+% report an error, because of wrong usage of \cs{@scr@de@nusub}.
 %    \begin{macrocode}
 \newcommand*{\scr@dte@nosub}[1]{\@scr@dte@nosub #1\relax}
 \newcommand*{\@scr@dte@nosub}{}
 \def\@scr@dte@nosub sub#1\relax{#1}
 %    \end{macrocode}
-% \end{macro}%^^A \@scr@dte@nosub
-% \end{macro}%^^A \scr@dte@nosub
+% \end{macro}^^A \scr@dte@nosub,\@scr@dte@nosub
 % \begin{macro}{\scr@dte@tocline}
-% \changes{v3.20}{2015/11/22}{neu (intern)}%^^A
-% \changes{v3.27}{2019/05/12}{Berücksichtigun von Verzeichniseigenschaft
-%   \texttt{noindent}}%^^A
-% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
-%   \cs{Iftocfeature}}%^^A
-% In gewisser Weise entspricht diese Anweisung der \LaTeX-Kern-Anweisung
-% \cs{dottedtocline}. Allerdings werden hier vielfältige
-% Eingriffsmöglichkeiten untersützt, die jeweils durch Optionen gesteuert
-% werden können. Daher hat der Befehl auch nur drei Argumente:
+% \changes{v3.20}{2015/11/22}{added}
+% \changes{v3.27}{2019/05/12}{support for \opt{noindent}}
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by \cs{Iftocfeature}}
+% This is somehow like the \LaTeX{} kernel macro \cs{@dottedtocline}. But it
+% supports a lot of more attributes, not only the level, the numberwidth, the
+% indent and the text. The attributes are handled by options. So we need only
+% three arguments:
 % \begin{description}
-% \item[\marg{Ebene}:] Der Name \meta{string} der Verzeichnisebene.
-% \item[\marg{Eintrag}:] Der Verzeichniseintrag \meta{string}.
-% \item[\marg{Seite}:] Die Seitenzahl \meta{string} des Verzeichniseintrags.
+% \item[\marg{level name}:] the name of the ToC entry level;
+% \item[\marg{entry}:] the ToC entry;
+% \item[\marg{page number}:] the page number of the ToC entry.
 % \end{description}
-% \begin{Length}{\scr@dte@tocline@numberwidth}
-% \changes{v3.20}{2016/01/15}{neu (intern)}
-% Für alle, die es interessiert, gibt diese Länge die tatsächliche Breite der
-% formatierten Nummer an.
+% \begin{length}{\scr@dte@tocline@numberwidth}
+% \changes{v3.20}{2016/01/15}{added}
+% Sometimes the real width of a formatted number is of interest. So we store
+% it in \len{scr@dte@tocline@numberwidth}.
 %    \begin{macrocode}
 \newlength\scr@dte@tocline@numberwidth
 \newcommand*{\scr@dte@tocline}[3]{%
@@ -2341,12 +2182,10 @@
     \tocbasic@DependOnPenaltyAndTOCLevel{#1}%
     \addvspace{\@nameuse{scr@tso@#1@beforeskip}}\relax
 %    \end{macrocode}
-% \selectlanguage{english}%
-% \changes{v3.31}{2020/06/08}{code for indent following list processing}%^^A
+% \changes{v3.31}{2020/06/08}{code for indent following list processing}
 % If a indent following list exists and the depth of an entry is lower than
 % the depth of the current entry, use the maximum of the ident + number width
 % for the indent of this entry.
-% \selectlanguage{ngerman}%^^A
 %    \begin{macrocode}
     \@nameuse{Ifscr@tso@#1@dynindent}{%
       \expandafter\ifx\csname scr@tso@#1@indentfollows\endcsname\@empty
@@ -2402,8 +2241,7 @@
       \@afterindenttrue
       \interlinepenalty\@M
 %    \end{macrocode}
-% \changes{v3.21}{2016/06/06}{\cs{ragged\dots entry} wird (wieder)
-%     ausgewertet}%^^A
+% \changes{v3.21}{2016/06/06}{\cs{ragged\dots entry} is supported (again)}
 %    \begin{macrocode}
       \expandafter\ifx\csname ragged#1entry\endcsname\raggedright
         \addtolength\rightskip\@flushglue
@@ -2431,26 +2269,23 @@
       \null\nobreak\hskip -\leftskip
       {%
 %    \end{macrocode}
-% An dieser Stelle wenden wir einen Trick an, um die Breite einer eventuell
-% vorhandenen Nummer während deren Ausgabe auszumessen. Dazu ist es eine
-% schlichte Notwendigkeit, dass \cs{numberline} die interne Definition
-% verwendet.
+% Here we use a trick to detect the width of an eventually existing number
+% while printing it. For this it is a must to use the internal definition of
+% \cs{numberline}.
 %    \begin{macrocode}
         \usetocbasicnumberline
         \let\scr@dte@numberline@box\numberline@box
         \def\numberline@box##1{%
           \sbox\scr@dte@tocline@numbox{\@nameuse{scr@tso@#1@numberformat}{##1}}%
 %    \end{macrocode}
-% Die Zuweisung an die aktuelle Länge der Nummer muss global erfolgen, weil
-% wir hier in einer Gruppe sind.
-% \changes{v3.22}{2016/12/02}{fehlendes zweites \cs{relax} ergänzt}%^^A
+% We are inside a group, so we have to set the length globally.
 %    \begin{macrocode}
           \global\scr@dte@tocline@numberwidth
           \dimexpr\wd\scr@dte@tocline@numbox+\@nameuse{scr@tso@#1@numsep}\relax
 %    \end{macrocode}
-% \changes{v3.22}{2016/12/02}{fehlendes zweites \cs{relax} ergänzt}%^^A
-% Achtung: Hier braucht es ein zweites \cs{relax}, weil das erste von
-% \cs{dimexpr} aufgezehrt wird.
+% \changes{v3.22}{2016/12/02}{missing second \cs{relax} added}
+% Attention: We need two \cs{relax}, because the first one is eaten by
+% \cs{dimexpr}.
 %    \begin{macrocode}
           \relax
           \ifdim \scr@dte@tocline@numberwidth
@@ -2461,9 +2296,7 @@
             \ifdim \scr@dte@tocline@numberwidth
                   >\dimexpr \@nameuse{scr@tso@#1@numwidth}%
                            +\@nameuse{scr@tso@#1@numsep}\relax\relax
-%<class>              \ClassWarning{\KOMAClassName
-%<package>              \PackageWarning{tocbasic%
-              }{%
+              \PackageWarning{tocbasic}{%
                 number width of #1 toc entries should be
                 increased!\MessageBreak
                 Currently used number width =
@@ -2488,12 +2321,11 @@
             \normalfont\normalsize\@nameuse{scr@tso@#1@linefill}%
             \nobreak
 %    \end{macrocode}
-% \changes{v3.27}{2019/10/02}{\cs{scr@dte@pagenumberwidth} wird definiert}%
-% Damit hier keine Abhängigkeit eine Eintragsvariablen von einer
-% Eintragsvariablen existiert wird lokal \cs{scr@dte@pagenumberwidth} zu
-% \cs{scr@tso@\meta{Eintragsname}@pagenumberwidth}, so dass in der Definition
-% von \cs{scr@tso@\meta{Eintragsname}@pagenumberbox} dieses lokale Makro
-% verwendet werden kann.
+% \changes{v3.27}{2019/10/02}{\cs{scr@dte@pagenumberwidth} is defined}
+% We don't want a dependency of entry variable from entry variables. So
+% locally \cs{scr@dte@pagenumberwidth} will become
+% \cs{scr@tso@\meta{Eintragsname}@pagenumberwidth} and in the definition of
+% \cs{scr@tso@\meta{Eintragsname}@pagenumberbox} we use this local macro.
 %    \begin{macrocode}
             \expandafter\let\expandafter\scr@dte@pagenumberwidth
             \csname scr@tso@#1@pagenumberwidth\endcsname
@@ -2509,40 +2341,30 @@
   \fi
 }
 %    \end{macrocode}
-% \end{Length}%^^A \scr@dte@tocline@numberwidth
+% \end{length}^^A \scr@dte@tocline@numberwidth
 % \begin{macro}{\scr@dte@tocline@numbox}
-% \changes{v3.20}{2015/11/25}{neue Box (intern)}
-% Wird benötigt, um die Breite der Nummer auszumessen und die Nummer später
-% wieder zu verwenden.
+% \changes{v3.20}{2015/11/25}{new (\emph{box})}
+% Needed to measure the width of the number and use the number later.
 %    \begin{macrocode}
 \newsavebox\scr@dte@tocline@numbox
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@tocline@numbox
-% \begin{macro}{\tocbasic@DependOnPenaltyAndTOCLevel}
-% \changes{v3.20}{2015/11/23}{neu}%^^A
-% \changes{v3.20}{2016/03/12}{Anpassung an \textsf{tocbasic}-Syntax für
-%     Befehle für Paketautoren}%^^A
-% Führt eine gespeicherte Aktion in Abhängigkeit davon aus, ob der aktuelle
-% Penalty-Wert darauf schließen lässt, dass zuvor ein Eintrag mit einem
-% höheren, demselben oder einem tieferen Wert für die Ebene erfolgte.
-% \begin{macro}{\tocbasic@SetPenaltyByTOCLevel}
-% \changes{v3.20}{2015/11/23}{neu}
-% \changes{v3.20}{2016/03/12}{Anpassung an \textsf{tocbasic}-Syntax für
-%     Befehle für Paketautoren}%^^A
-% Setze die Strafpunkte für einen Umbruch entsprechend der aktuellen
-% Verzeichnisebene.
-% \begin{macro}{\LastTOCLevelWasHigher}
-% \changes{v3.20}{2015/11/23}{neu}
-% Standardaktion, falls der vorherige Level einen größeren Wert hatte: Umbruch
-% erlauben.
-% \begin{macro}{\LastTOCLevelWasSame}
-% \changes{v3.20}{2015/11/23}{neu}
-% Standardaktion, falls der vorherige Level denselben Wert hatte: Umbruch
-% erlauben.
-% \begin{macro}{\LastTOCLevelWasLower}
-% Standardaktion, falls der vorherige Level einen kleineren Wert hatte:
-% Penalty beibehalten und damit den Umbruch verbieten.
-% \changes{v3.20}{2015/11/23}{neu}
+% \end{macro}^^A \scr@dte@tocline@numbox
+% \begin{macro}{\tocbasic@DependOnPenaltyAndTOCLevel,
+%               \tocbasic@SetPenaltyByTOCLevel}
+% \changes{v3.20}{2015/11/23}{added}
+% \changes{v3.20}{2016/03/12}{changed for \pkg*{tocbasic} syntax of package
+%   author macros}
+% \cs{tocbasic@DepenedOnPenaltyAndTOCLevel} executes a saved action depending
+% on whether the current penalty value stands for an entry with higher, same,
+% or lower entry level.
+% \cs{tocbasic@SetPenaltyByTOCLevel} sets the penalty for the page break
+% depending on the current entry level.
+% \begin{command}{\LastTOCLevelWasHigher,\LastTOCLevelWasSame,
+%                 \LastTOCLevelWasLower}
+% \changes{v3.20}{2015/11/23}{added}
+% Standard action, if the previous entry level was higher (allow page break),
+% same (allow page break), or lower (keep penalty and therefore prevent page
+% break).
 %    \begin{macrocode}
 \newcommand*{\tocbasic@DependOnPenaltyAndTOCLevel}[1]{%
   \ifnum \lastpenalty<\numexpr 20009-\@nameuse{#1tocdepth}\relax
@@ -2561,15 +2383,12 @@
 \newcommand*{\LastTOCLevelWasSame}{\ifvmode\addpenalty{\@lowpenalty}\fi}
 \newcommand*{\LastTOCLevelWasLower}{}
 %    \end{macrocode}
-% \end{macro}%^^A \tocbasic@SetPenaltyByTOCLevel
-% \end{macro}%^^A \tocbasic@DependOnPenaltyAndTOCLevel
-% \end{macro}%^^A \LastTOCLevelWasLower
-% \end{macro}%^^A \LastTOCLevelWasSame
-% \end{macro}%^^A \LastTOCLevelWasHigher
-% \begin{macro}{\TOCLineLeaderFill}
-% \changes{v3.20}{2015/11/14}{neu}
-% Füllt den Abstand zwischen Text und Seitenzahl komplett. Hat als einziges
-% optionales Argument das Füllzeichen.
+% \end{command}^^A \LastTOCLevelWasHigher … \LastTOCLevelWasLower
+% \end{macro}^^A \tocbasic@SetPenaltyByTOCLevel,\tocbasic@DependOnPenaltyAndTOCLevel
+% \begin{command}{\TOCLineLeaderFill}
+% \changes{v3.20}{2015/11/14}{added}
+% Filler between the last text line and the page number. The optional argument
+% \texttt{\#1} is the character used for filling.
 %    \begin{macrocode}
 \newcommand*{\TOCLineLeaderFill}[1][.]{%
   \leaders\hbox{$\m@th
@@ -2578,14 +2397,13 @@
 }
 %</tocline>
 %    \end{macrocode}
-% \end{macro}%^^A \TOCLineLeaderFill
-% \end{macro}%^^A \scr@dte@tocline
+% \end{command}^^A \TOCLineLeaderFill
+% \end{macro}^^A \scr@dte@tocline
 %
-% \selectlanguage{english}
 % \begin{macro}{\scr@dte@toctext}
-% \changes{v3.27}{2019/07/08}{new (internal)}%^^A
+% \changes{v3.27}{2019/07/08}{added}
 % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
-%   \cs{Iftocfeature}}%^^A
+%   \cs{Iftocfeature}}
 % This is the command to format entries that will be accumalted into a single
 % paragraph. This is somehow special, because the settings of one entrie can
 % influence another one. The three arguments are:
@@ -2609,7 +2427,7 @@
       \@nameuse{scr@tso@#1@onstartentry}%
     \else
 %    \end{macrocode}
-% \changes{v3.31}{2020/06/09}{use of option \texttt{beforeskip}}%^^A
+% \changes{v3.31}{2020/06/09}{use of option \opt{beforeskip}}
 % In v-mode it is a new text entry. Before leaving v-mode the vertical space
 % is added.
 %    \begin{macrocode}
@@ -2642,9 +2460,9 @@
       \rightskip \@nameuse{scr@tso@#1@rightindent}\relax
       \parfillskip \z@ \@plus 1fill\relax
 %    \end{macrocode}
-% \changes{v3.31}{2020/06/09}{redefinition of \cs{addvspace}}%^^A
-% \changes{v3.31}{2020/06/09}{redefinition of \cs{addpenalty}}%^^A
-% Now, make sure, that the first non-\texttt{toctext} entry does do a \cs{par}
+% \changes{v3.31}{2020/06/09}{redefinition of \cs{addvspace}}
+% \changes{v3.31}{2020/06/09}{redefinition of \cs{addpenalty}}
+% Now, make sure, that the first non-|toctext| entry does do a \cs{par}
 % before it uses \cs{addpenalty} or \cs{addvspace}. Before version~3.31 this
 % has been done by redefining \cs{@noitemerr} but this does not work, because
 % it ignores the argument of \cs{addpenalty} or \cs{addvspace}. So, this more
@@ -2707,9 +2525,8 @@
   \fi
 }
 %    \end{macrocode}
-% \begin{macro}{\scr@dte@toctext@raggedright}
-% \begin{macro}{\scr@dte@toctext@parend}
-% \begin{macro}{\scr@dte@toctext@lastend}
+% \begin{macro}{\scr@dte@toctext@raggedright,\scr@dte@toctext@parend,
+%               \scr@dte@toctext@lastend}
 % Helper macros to store some information for later usage.
 %    \begin{macrocode}
 \newcommand*{\scr@dte@toctext@raggedright}{}
@@ -2717,17 +2534,15 @@
 \newcommand*{\scr@dte@toctext@lastend}{}
 %</toctext>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@toctext@lastend
-% \end{macro}%^^A \scr@dte@toctext@parend
-% \end{macro}%^^A \scr@dte@toctext@raggedright
-% \end{macro}%^^A \scr@dte@toctext
-% \selectlanguage{ngerman}
+% \end{macro}^^A \scr@dte@toctext@raggedright … \scr@dte@toctext@lastend
+% \end{macro}^^A \scr@dte@toctext
+%
 %
 % \begin{macro}{\scr@dte@def@l@default}
-% \changes{v3.20}{2015/12/16}{neu im Paket}%^^A
-% Bereits im Paket gibt es einen Standardstil. Anderen Paketen ist es nicht
-% gestattet diesen umzudefinieren. Klassen ist das hingegen gestattet, damit
-% sie einen Dokument weiten Standardstil festlegen können.
+% \changes{v3.20}{2015/12/16}{new for the package}
+% The package \pkg*{tocbasic} already has a standard style. Other packages
+% should not change the standard style. But classes are allowed to clone (or
+% define) another standard style for documents made with that class.
 %    \begin{macrocode}
 %<*default>
 %%%            (run: style,dottedtocline)
@@ -2736,27 +2551,28 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \iffalse
+%    \begin{macrocode}
 %</style>
 %</package>
-% \fi
+%    \end{macrocode}
 %
-% \subsubsection{Von den \KOMAScript-Klassen genutzte Stile}
 %
-% \iffalse
+% \subsubsection{The styles used by the \KOMAScript{} classes}
+%
+%    \begin{macrocode}
 %<*class>
 %<*style>
-% \fi
+%    \end{macrocode}
 %
-% Einige Stile sollen nur definiert werden, wenn die Definition in die Klasse
-% geschrieben wird:
+% Some styles are defined by the classes only. They are only defined for the
+% classes, that use them. So not all styles are available by all classes and
+% even not all styles are the same with every class.
 %
 % \begin{macro}{\scr@dte@def@l@part}
-% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{part}}%^^A
-% Dieser Verzeichnisstil existiert bei \textsf{scrbook}, \textsf{scrreprt} und
-% \textsf{scrartcl}. Das Format des Eintrags und der Seitenzahl wird dabei
-% über die Elemente \texttt{partentry} und \texttt{partentrypagenumber}
-% realisiert.
+% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{part} added}
+% This style exists with \cls*{scrbook}, \cls*{scrreprt} and
+% \cls*{scrartcl}. The formatting of the entry and the page number is defined
+% by the font elements \fnt{partentry} and \fnt{partentrypagenumber}.
 %    \begin{macrocode}
 %<*part>
 %%%            (run: class,style,part)
@@ -2774,13 +2590,12 @@
 }
 %</part>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@part
+% \end{macro}^^A \scr@dte@def@l@part
 %
 % \begin{macro}{\scr@dte@def@l@chapter}
-% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{chapter}}%^^A
-% \changes{v3.27}{2019/10/28}{Font Element \texttt{chapterentrydots} wird
-%   angewendet}%^^A
-% Dieser Verzeichnisstil existier bei \textsf{scrbook} und \textsf{scrreprt}.
+% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{chapter} added}
+% \changes{v3.27}{2019/10/28}{using font element \fnt{chapterentrydots}}
+% This style exists with \cls*{scrbook} and \cls*{scrreprt} only.
 %    \begin{macrocode}
 %<*chapter>
 %%%            (run: class,style,chapter)
@@ -2804,16 +2619,15 @@
 }
 %</chapter>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@chapter
+% \end{macro}^^A \scr@dte@def@l@chapter
 %
 % \begin{macro}{\scr@dte@def@l@section}
-% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{section}}%^^A
-% \changes{v3.27}{2019/10/28}{Font Element \texttt{sectionentrydots} wird
-%   angewendet}%^^A
-% Bei den Klassen \textsf{scrbook} und \textsf{scrreprt} ist das der Stil für
-% die \emph{kleinen} Verzeichnisebenen. Bei \textsf{scrartcl} ist es dagegen
-% der Stil für die obere Verzeichnisebene und entspricht damit obigem Stil
-% \texttt{chapter}.
+% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{section} added}
+% \changes{v3.27}{2019/10/28}{using font element \fnt{sectionentrydots}}
+% With classes \cls*{scrbook} and \cls*{scrreprt} this is the style of the
+% \emph{minor} entry level. With \cls*{scrartcl} this is the style of the top
+% entry level (below the part level). So with \cls*{scrartcl} it is similar
+% to the chapter style of \cls*{scrbook} or \cls*{scrreprt}.
 %    \begin{macrocode}
 %<*section>
 %%%            (run: class,style,section)
@@ -2847,12 +2661,12 @@
 %</article>
 %</section>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@section
+% \end{macro}^^A \scr@dte@def@l@section
 %
 % \begin{macro}{\scr@dte@def@l@subsection}
-% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{subsection}}%^^A
-% Dieser Stil existiert nur bei \textsf{scrartcl} und entspricht dann dem Stil
-% \texttt{section} bei \textsf{scrbook} und \textsf{scrreprt}.
+% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{subsection} added}
+% This style exists with \cls*{scrartcl} only. It is the minor level style
+% similar to the section style with \cls*{scrbook} and \cls*{scrreprt}.
 %    \begin{macrocode}
 %<*subsection&article>
 %%%            (run: class,style,subsection)
@@ -2863,12 +2677,12 @@
 }
 %</subsection&article>
 %    \end{macrocode}
-% \end{macro}%^^A \scr@dte@def@l@subsection
+% \end{macro}^^A \scr@dte@def@l@subsection
 %
 % \begin{macro}{\scr@dte@def@l@default}
-% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{default}}%^^A
-% Dieser Stil entspricht bei \textsf{scrbook} und \textsf{scrreprt} dem Stil
-% \texttt{section} und bei \textsf{scrartcl} dem Stil \textsf{subsection}.
+% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{default} added}
+% With classes \cls*{scrbook} and \cls*{scrreprt} this is a clone of the
+% section style. With \cls*{scrartcl} this is a clone of the subsection style.
 %    \begin{macrocode}
 %<*default>
 %%%            (run: class,style,default)
@@ -2878,18 +2692,21 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \iffalse
+%    \begin{macrocode}
 %</style>
 %</class>
-% \fi
+%    \end{macrocode}
 %
 % \Finale
-%
+% \PrintChanges
+% 
 \endinput
-%
-% end of file `scrkernel-tocstyle.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% coding: utf-8
-%%% 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:
+
-- 
cgit v1.2.3

