% \CheckSum{673}
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsof.dtx
% Copyright (c) Markus Kohm, 2002-2020
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3c of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX 
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-listsof.dtx
% Copyright (c) Markus Kohm, 2002-2020
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
% 
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
% \fi
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%%% From File: $Id: scrkernel-listsof.dtx 3477 2020-04-11 07:26:26Z kohm $
%<prepare>%%%            (run: prepare)
%<option>%%%            (run: option)
%<body>%%%            (run: body)
%<*dtx>
% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
  \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
  \filedate$Date: 2020-04-11 09:26:26 +0200 (Sat, 11 Apr 2020) $
  \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
  \filerevision$Revision: 3477 $
  \edef\reserved@a{%
    \noexpand\endgroup
    \noexpand\ProvidesFile{scrkernel-listsof.dtx}%
                          [\filedate\space\filerevision\space
                           KOMA-Script source
                           (lists of)]%
  }%
\reserved@a
% \iffalse
\documentclass[parskip=half-]{scrdoc}
\usepackage[english,ngerman]{babel}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkernel-listsof.dtx}
\title{\KOMAScript{} \partname\ \texttt{\filename}%
  \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
\date{\filedate}
\author{Markus Kohm}

\begin{document}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v2.95}{2002/06/28}{%
%   erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
%
% \section{Verzeichnisse}
%
% \LaTeX{} Klassen bieten eine ganze Reihe von Verzeichnissen. Thema
% dieses Abschnitts sind die Verzeichnisse der
% Gleitumgebungen und das Inhaltsverzeichnis. \KOMAScript{} bietet
% selbst das Verzeichnis der Gleittabellen und der Abbildungen. Es
% unterstützt außerdem die Verzeichnisse der mit dem \textsf{float}
% Paket angelegten Gleitumgebungen.
%
% Briefe verfügen über keine Verzeichnisse.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*!letter>
% \fi
%
% \subsection{Gemeinsamer Code von Inhaltsverzeichnis und Verzeichnissen der
%   Gleitumgebungen}
%
% \selectlanguage{english}%^^A
% Before doing anything with the tocs we need package \Package{tocbasic}:
%    \begin{macrocode}
%<*prepare>
\RequirePackage{tocbasic}[%
%!KOMAScriptVersion
]
%</prepare>
%    \end{macrocode}
%
% \begin{macro}{\numberline@numberpostfix}
% \changes{v3.20}{2016/03/15}{\cs{autodot} wird darüber eingefügt}
% Auch in den Verzeichnissen soll ggf. \cs{autodot} quasi als Bestandteil der
% Nummer ausgegeben werden.
%    \begin{macrocode}
%<*body>
\g@addto@macro{\numberline@numberpostfix}{\autodot}
%</body>
%    \end{macrocode}
% \end{macro}%^^A \numberline@numberpostfix
%
% \begin{macro}{\numberline}
% \changes{v3.20}{2016/03/15}{Definition von \textsf{tocbasic} verwenden}
% Unabhängig vom Stil soll immer die Definition von \textsf{tocbasic}
% verwendet werden.
%    \begin{macrocode}
%<*body>
\usetocbasicnumberline[%
  \ClassInfo{\KOMAClassName}{Redefining `\string\numberline'}%
]
%</body>  
%    \end{macrocode}
% \end{macro}%^^A \numberline
%
% \changes{v3.06}{2010/06/02}{einschalten des \texttt{tocbasic}-Features
%   \texttt{chapteratlist} in die Datei \texttt{scrkernel-listsof.dtx} verschoben}
% Bei Büchern wird für jedes Verzeichnis des Besitzers \texttt{float} das
% Feature \texttt{chapteratlist} gesetzt. Das gilt auch für solche
% Verzeichnisse, die noch gar nicht definiert sind.
%    \begin{macrocode}
%<*body&(book|report)>
\doforeachtocfile[float]{%
  \setuptoc{\@currext}{chapteratlist}%
}
\AtAddToTocList[float]{%
  \setuptoc{\@currext}{chapteratlist}%
}
%</body&(book|report)>
%    \end{macrocode}
%
% \begin{macro}{\before@starttoc}
% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
% Dieses Makro führt im Falle von \texttt{tocleft} oder
% \texttt{listsleft} am Anfang eines Verzeichnisses alle notwendigen
% Änderungen durch, um das Verzeichnis entsprechend zu handhaben.
% \begin{macro}{\scr@dottedtocline}
% \changes{v2.9k}{2003/01/03}{auch das dritte Argument wird ge"andert}%^^A
% \begin{macro}{\scr@numberline}
% \changes{v3.06}{2010/05/18}{nicht länger benötigt}%^^A
% \end{macro}
% \begin{macro}{\last@l@number}
% Dafür werden ein paar Hilfsmakros benötigt, die vorsichtshalber
% global vordefiniert werden.
%    \begin{macrocode}
%<*body>
\newcommand*{\scr@dottedtocline}{}
\newcommand*{\last@l@number}{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\@l@number}
% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
% In diesem Makro wird während der Erstellung eines Verzeichnisses
% Inhaltsverzeichnisses die aktuelle Breite der Nummer gespeichert.
% \begin{macro}{\set@l@number}
% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
% Dieses Makro ist dafür verantwortlich, dass zum einen \cs{@tempdima}
% für den Aufruf von \cs{numberline@box} auf den richtigen Wert gesetzt
% wird, zum anderen wird die aktuelle größte Breite der Nummer hier
% angepasst.
%    \begin{macrocode}
\newcommand*{\@l@number}{}
\newcommand*{\set@l@number}[1]{%
  \settowidth{\@tempdima}{#1\enskip}%
  \ifdim\@tempdima >\@l@number
    \xdef\@l@number{\the\@tempdima}%
  \fi%
  \ifdim\@tempdima >\last@l@number \else
    \setlength{\@tempdima}{\last@l@number}%
  \fi%
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% Kommen wir endlich zu \cs{before@starttoc}:
% \changes{v2.95a}{2006/07/12}{Initialisierung im \cs{@empty}-Fall}
% \changes{v3.06}{2010/05/18}{statt \cs{numberline} wird \cs{numberline@box}
%     umdefiniert} 
%    \begin{macrocode}
\newcommand*{\before@starttoc}[1]{%
  \let\scr@dottedtocline=\@dottedtocline
  \renewcommand*{\@dottedtocline}[3]{%
    \scr@dottedtocline{##1}{\z@}{\last@l@number}}%
  \renewcommand*{\numberline@box}[1]{%
    \set@l@number{##1}\hb@xt@\@tempdima{##1}}%
  \gdef\@l@number{\z@}%
  \@ifundefined{#1@l@number}{%
    \def\last@l@number{2em}%
  }{%
    \expandafter\ifx\csname #1@l@number\endcsname\@empty
      \let\last@l@number\z@
    \else
      \expandafter\let\expandafter\last@l@number
      \expandafter=\csname#1@l@number\endcsname
    \fi
  }%
%    \end{macrocode}
% \changes{v3.20}{2015/11/26}{Vorbereitungen für Verzeichniseintragsstile
%     via \texttt{scrkernel-tocstyle}}%^^A
%    \begin{macrocode}
  \begingroup
    \def\do@endgroup{\endgroup}%
    \def\do##1{%
      \scr@ifundefinedorrelax{scr@tso@##1@numwidth}{}{%
%<*trace>
        \ClassInfo{\KOMAClassName}{%
          Setting numwidth of `##1' to \last@l@number}%
%</trace>
        \l@addto@macro\do@endgroup{%
          \@namedef{scr@tso@##1@numwidth}{\last@l@number}%
        }%
      }%
      \scr@ifundefinedorrelax{scr@tso@##1@indent}{}{%
%<*trace>
        \ClassInfo{\KOMAClassName}{%
          Setting indent of `##1' to \string\z@}%
%</trace>
        \l@addto@macro\do@endgroup{%
          \@namedef{scr@tso@##1@indent}{\z@}%
        }%
      }%
    }%
    \@nameuse{scr@dte@donumwidth}%
  \do@endgroup
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\after@starttoc}
% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A
% Dieses Makro schreibt am Ende den entsprechenden Eintrag in die
% \texttt{aux}-Datei.
%    \begin{macrocode}
\newcommand*{\after@starttoc}[1]{%
  \protected@write\@auxout{}{%
    \string\gdef\expandafter\string\csname#1@l@number\endcsname{%
      \@l@number}}%
}
%</body>
%    \end{macrocode}
% \end{macro}
%
% Dafür sorgen, dass die Verzeichnisse von \textsf{tocbasic} so gesetzt
% werden, wie wir das gerne hätten (wird über einen Trick auch für das
% Inhaltsverzeichnis verwendet):
%    \begin{macrocode}
%<*body>
\g@addto@macro\tocbasic@@before@hook{%
  \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi
}
\g@addto@macro\tocbasic@@after@hook{%
  \if@dynlist\expandafter\after@starttoc\expandafter{\@currext}\fi
}
%</body>
%    \end{macrocode}
%
%
% \subsection{Das Inhaltsverzeichnis}
%
% \selectlanguage{english}%^^A
% \changes{v3.27}{2019/05/11}{init code moved from \texttt{tocbasic.dtx}}%^^A
% \changes{v1.0a}{2008/11/13}{auto-activation of feature \texttt{onecolumn}}
% Set feature \texttt{onecolumn} for every ToC file.
%    \begin{macrocode}
%<*prepare&(book|report)>
\AtAddToTocList[\@currname.\@currext]{\setuptoc{\@currext}{onecolumn}}%
\AtAddToTocList[ToC]{\setuptoc{\@currext}{onecolumn}}%
%</prepare&(book|report)>
%    \end{macrocode}
% Tell the package, what files are used:
% \changes{v3.27}{2019/05/11}{use owner \texttt{ToC} for the table of
%   contents}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
%    \begin{macrocode}
%<*prepare>
\addtotoclist[ToC]{toc}
\Ifstr{\ext@toc}{toc}{}{%
  \expandafter\addtotoclist
  \expandafter[\expandafter T\expandafter o\expandafter C\expandafter ]%
  \expandafter{\ext@toc}%
}
%</prepare>
%    \end{macrocode}
% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\if@tocleft}
% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A
% \changes{v2.98c}{2008/03/05}{wird früher definiert}%^^A
% \begin{macro}{\@toclefttrue}
% \begin{macro}{\@tocleftfalse}
% Die Wahl der Darstellungsart für das Inhaltsverzeichnis wird in einem
% Schalter gespeichert.
%    \begin{macrocode}
%<*option>
\newif\if@tocleft
%</option>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{option}{toc}
% \changes{v2.98c}{2008/03/04}{Neue Option}%^^A
% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit
%   \cs{FamilyKeyStateProcessed}}%^^A
% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch
%   \cs{KOMAExecuteOptions} ersetzt}%^^A
% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch
%   \cs{KOMAoptions} ersetzt}%^^A
% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{indexnumbered}}%^^A
% Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses.
%    \begin{macrocode}
%<*option>
\KOMA@key{toc}{%
  \KOMA@set@ncmdkey{toc}{@tempa}{%
%    \end{macrocode}
% Es gibt Werte, um zu bestimmen, welche Verzeichnisse ins Inhaltsverzeichis
% aufgenommen werden. Eigentlich sind das Optionen der jeweiligen
% Verzeichnisses, aber das muss sich der Anwender ja nicht unbedingt merken.
% \changes{v3.28}{2019/10/21}{zusätzliche Werte}%^^A
% Für Index und Gleitumgebungen gibt es ab Version~3.28 einige zusätzliche
% Werte. Die \dots\texttt{listof}\dots-Werte sind allerdings nicht offiziell,
% sondern fangen nur häufige Tippfehler auf.
%    \begin{macrocode}
    {noindex}{0},{noidx}{0},%
    {index}{1},{idx}{1},%
    {indexnumbered}{2},{idxnumbered}{2},{numberedindex}{2},{numberedidx}{2},%
    {nolistof}{3},{nolistsof}{3},%
    {listof}{4},{listsof}{4},%
    {listofnumbered}{5},{numberedlistof}{5},%
    {listsofnumbered}{5},{numberedlistsof}{5},%
    {nobibliography}{6},{nobib}{6},%
    {bibliography}{7},{bib}{7},%
    {bibliographynumbered}{8},{bibnumbered}{8},{numberedbibliography}{8},%
    {numberedbib}{8},%
%    \end{macrocode}
% Dann gibt es Optionen für die Darstellungsarten des
% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte
% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form
% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander
% stehen. Der für die Nummern benötigte Platz wird dabei automatisch
% ermittelt.
%    \begin{macrocode}
    {flat}{9},{left}{9},%
    {graduated}{10},{indent}{10},{indented}{10},%
%    \end{macrocode}
% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und
%     \texttt{nonumberline}}%^^A
% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit
% \cs{numberline} eingerückt werden. Das geht über ein Feature von
% \textsf{tocbasic}.
%    \begin{macrocode}
    {indenttextentries}{11},{indentunnumbered}{11},{numberline}{11},%
    {leftaligntextentries}{12},{leftalignunnumbered}{12},{nonumberline}{12},%
%    \end{macrocode}
% Mit Version~3.15 kommt neu die Möglichkeit hinzu, Kapiteleinträge mit
% Pünktchen zu versehen.
%    \begin{macrocode}
%<book|report>    {chapterentrywithdots}{13},{chapterentrydotfill}{13},
%<book|report>    {chapterentrywithoutdots}{14},{chapterentryfill}{14}%
%<article>    {sectionentrywithdots}{13},{sectionentrydotfill}{13},
%<article>    {sectionentrywithoutdots}{14},{sectionentryfill}{14}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed
    \ifcase \@tempa\relax % noindex
      \KOMAoptions{index=notoc}%
    \or % index
      \KOMAoptions{index=totoc}%
    \or % indexnumbered
      \KOMAoptions{index=numbered}%
    \or % listof
      \KOMAoptions{listof=notoc}%
    \or % nolistof
      \KOMAoptions{listof=totoc}%
    \or % listofnumbered
      \KOMAoptions{listof=numbered}%
    \or % nobibliography
      \KOMAoptions{bibliography=nottotoc}%
    \or % bibliography
      \KOMAoptions{bibliography=totoc}%
    \or % bibliographynumbered
      \KOMAoptions{bibliography=totocnumbered}%
    \or % flat
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{flat}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{graduated}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{flat}%
      \@toclefttrue
    \or % graduated
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{flat}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{graduated}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{graduated}%
      \@tocleftfalse
    \or % indenttextentries
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indenttextentries}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{leftaligntextentries}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{indenttextentries}%
      \expandafter\setuptoc\expandafter{\ext@toc}{numberline}%
    \or % leftaligntextentries
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indenttextentries}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{leftaligntextentries}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{leftaligntextentries}%
      \expandafter\unsettoc\expandafter{\ext@toc}{numberline}%
    \or % chapterentrywithdots/sectionentrywithdots
%<book|report>      \KOMAoptions{chapterentrydots=true}%
%<article>      \KOMAoptions{sectionentrydots=true}%
    \or % chapterentrywithoutdots/sectionentrywithoutdots
%<book|report>      \KOMAoptions{chapterentrydots=false}%
%<article>      \KOMAoptions{sectionentrydots=false}%
    \fi
  \fi
}
%</option>
%    \end{macrocode}
% \end{option}
%
% \begin{option}{tocleft}
% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
% \begin{option}{tocindent}
% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
%    \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{tocleft}{toc=flat}
\KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated}
%</option>
%    \end{macrocode}
% \end{option}
% \end{option}
%
% \subsection{Definitionen für das Inhaltsverzeichnis}
%
% \begin{macro}{\contentsname}
% \begin{macro}{\listoftocname}
% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}%^^A
% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
% Der Name des Verzeichnisses.
%    \begin{macrocode}
%<*body>
\newcommand*\contentsname{Contents}
\newcommand*\listoftocname{\contentsname}
\providecaptionname{american,australian,british,canadian,english,newzealand,%
  UKenglish,ukenglish,USenglish,usenglish}\contentsname{Contents}%
%</body>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{Counter}{tocdepth}
% Der Zähler gibt an, bis zu welcher Gliederungebene Einträge in das
% Inhaltsverzeichnis aufgenommen werden. Da \textsf{scrartcl} eine
% Ebene tiefer beginnt, wird auch eine Ebene tiefer eingetragen. Damit
% finden sich -- abgesehen von \cs{part} -- immer drei Ebenen im
% Inhaltsverzeichnis.
%    \begin{macrocode}
%<*body>
%<book|report>\setcounter{tocdepth}{2}
%<article>\setcounter{tocdepth}{3}
%</body>
%    \end{macrocode}
% \end{Counter}
%
% \begin{macro}{\toc@heading}
% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A
% \changes{v2.95}{2002/06/28}{auch für \textsf{scrreprt} und
%   \textsf{scrbook}}%^^A
% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht
%   länger empfohlen}%^^A
% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
% Befehl, zum Setzen der Überschrift des Inhaltsverzeichnisses. Eigentlich
% ist das überflüssig, weil es nur einmal verwendet wird. Aus Gründen der
% Konsistenz mit den anderen Verzeichnissen machen wir das hier aber
% genauso.
%    \begin{macrocode}
%<*body>
\newcommand*\toc@heading{%
  \ClassWarning{\KOMAClassName}{%
    usage of deprecated \string\toc@heading!\MessageBreak
    You should use the features of package `tocbasic'\MessageBreak
    instead of \string\toc@heading.\MessageBreak
    Definition of \string\toc@heading\space may be removed from\MessageBreak
    KOMA-Script soon, so it should not be used%
  }%
%<article>  \section*{\contentsname}%
%<book|report>  \chapter*{\contentsname}%
  \@mkboth{\MakeMarkcase{\contentsname}}{\MakeMarkcase{\contentsname}}%
}
%</body>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\toc@l@number}
% \changes{v2.8q}{2001/11/14}{neu}%^^A
% Dieses Makro wird innerhalb von \cs{tableofcontents} über
% \cs{before@starttoc} und \cs{after@starttoc} in der
% \texttt{aux}-Datei global definiert. Aus Sicherheitsgründen wird es
% hier global vordefiniert.
%    \begin{macrocode}
%<*body>
\newcommand*{\toc@l@number}{}
%</body>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\tableofcontents}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{toc@heading}}
% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
%     0 gesetzt}
% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}%
%     \cs{@parskip@indent}}
% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} bearbeiten}
% \changes{v2.95}{2002/06/28}{\textsf{article} beachtet ebenfalls
%     \texttt{tocleft}}
% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
%     ersetzt}
% \changes{v3.00}{2008/07/04}{auf \textsf{tocbasic} umgestellt}
% Die Ausgabe des Inhaltsverzeichnisses.
%    \begin{macrocode}
%<*body>
\newcommand*{\tableofcontents}{%
  \begingroup
    \let\if@dynlist\if@tocleft
    \expandafter\listoftoc\expandafter{\ext@toc}%
  \endgroup
}
%</body>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\addtocentrydefault}
% \changes{v3.08}{2010/11/01}{Neu}%^^A
% \changes{v3.12}{2013/09/24}{Verwendung der neuen
%     \texttt{tocbasic}-Anweisung \cs{tocbasic@addxcontentsline}}
% Seit Version~3.08 werden Einträge ins Inhaltsverzeichnis in der
% Voreinstellung über diese Anweisung vorgenommen. Das erste Argument ist
% dabei die Gliederungsebene. Das zweite Argument ist die (formatierte)
% Gliederungsnummer oder leer, falls die Überschrift nicht nummeriert
% wird. Das dritte Argument ist der Überschriftentext, der in das
% Inhaltsverzeichnis soll.
%    \begin{macrocode}
%<*body>
\newcommand{\addtocentrydefault}[3]{%
  \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}%
}
%</body>
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{Die Verzeichnisse der Gleitumgebungen}
%
% Die Verzeichnisse der Gleitumgebungen ähneln dem Inhaltsverzeichnis, stellen
% jedoch eine eigene Klasse dar und werden daher auch über eigene Optionen
% gesteuert.
%
% \selectlanguage{english}%^^A
% \changes{v3.25}{2017/10/10}{extension \texttt{lof} not added explicitely}%^^A
% \changes{v3.25}{2017/10/10}{extension \texttt{lot} not added explicitely}%^^A
% Note: We must not add extensions \texttt{lof} and \texttt{lot} explicitely,
% because these files will be prepared using \cs{DeclareNewTOC} that also
% registers the extension.
%
% \changes{v1.00}{auto-activation of feature \texttt{onecolumn}}
% Set feature \texttt{onecolumn} for every float list file.
%    \begin{macrocode}
%<*prepare&(book|report)>
\AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}%
%</prepare&(book|report)>
%    \end{macrocode}
% \selectlanguage{ngerman}%^^A
%
% \begin{macro}{\float@@listhead}
% \changes{v2.98c}{2008/03/05}{neu (intern)}%^^A
% \changes{v3.01}{2008/11/14}{deprecated}%^^A
% Setzt nur die Überschrift und sonst nichts. Dabei wird die Überschrift als
% einziges Argument übergeben.
%    \begin{macrocode}
%<*option>
\newcommand*{\float@@listhead}{%
%<article>  \section*
%<report|book>  \chapter*
}
%</option>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\if@dynlist}
% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A
% \begin{macro}{\@dynlisttrue}
% \begin{macro}{\@dynlistfalse}
% Die Wahl der Darstellungsart wird in einem Schalter gespeichert.
%    \begin{macrocode}
%<*option>
\newif\if@dynlist
%</option>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{option}{listof}
% \changes{v2.98c}{2008/03/05}{Neue Option}%^^A
% \changes{v3.06}{2010/06/02}{Alle über \textsf{tocbasic} realisierten
%     Einstellungen wirken sich auch auf Verzeichnisse des Besitzers
%     \texttt{float} aus, die erst später unter Kontrolle von
%     \textsf{tocbasic} gestellt werden.}%^^A
% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit
%     \cs{FamilyKeyStateProcessed}}%^^A
% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} durch
%     \cs{KOMAExecuteOptions} ersetzt}%^^A
% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch
%     \cs{KOMAoptions} ersetzt}%^^A
% Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse.
%    \begin{macrocode}
%<*option>
\KOMA@key{listof}{%
  \KOMA@set@ncmdkey{listof}{@tempa}{%
%    \end{macrocode}
% Es gibt Werte, die dafür sorgen, dass die Verzeichnisse der Gleitumgebungen
% im Inhalsverzeichnis aufgeführt werden. Dazu muss nur \cs{float@@listhead}
% umdefiniert werden.
%    \begin{macrocode}
    {notoc}{0},{nottotoc}{0},{plainheading}{0},%
    {totoc}{1},{toc}{1},{notnumbered}{1},%
    {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},%
    {numberedtoc}{2},%
%    \end{macrocode}
% Dann gibt es Optionen für die Darstellungsarten des
% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte
% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form
% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander
% stehen. Der für die Nummern benötigte Platz wird dabei automatisch
% ermittelt.
%    \begin{macrocode}
    {flat}{3},{left}{3},%
    {graduated}{4},{indent}{4},{indented}{4},%
%    \end{macrocode}
% Dann gibt es eine Option, mit der die Gliederungsebene der Verzeichnisse
% verändert werden kann.
% \changes{v3.25}{2017/12/04}{neuer Wert \texttt{standardlevel}}%^^A
%    \begin{macrocode}
    {leveldown}{5},
    {standardlevel}{6},
%    \end{macrocode}
% \changes{v3.06}{2010/05/18}{neuer Wert \texttt{entryprefix}}
% Dann gibt es eine Option, mit der die Einträge in die Verzeichnisse mit
% einem Prefix versehen werden können, soweit ein solcher Prefix
% existiert. Dieser Wert beinhaltet gleichzeitig auch den Wert \texttt{flat}.
%    \begin{macrocode}
    {entryprefix}{7},
%    \end{macrocode}
% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und
%     \texttt{nonumberline}}%^^A
% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit
% \cs{numberline} eingerückt werden. Das geht über ein Feature von
% \textsf{tocbasic}.
%    \begin{macrocode}
    {indenttextentries}{8},{indentunnumbered}{8},{numberline}{8},%
    {leftaligntextentries}{9},{leftalignunnumbered}{9},{nonumberline}{9}%
%    \end{macrocode}
% Dann gibt es Optionen, für die Unterteilung auf Kapitelebene. Allerdings nur
% für \textsf{scrbook} und \textsf{scrreprt}.
%    \begin{macrocode}
%<*book|report>
    ,{chapterentry}{10},{withchapterentry}{10},%
    {nochaptergap}{11},{ignorechapter}{11},%
    {chaptergapsmall}{12},{smallchaptergap}{12},%
    {chaptergapline}{13},{onelinechaptergap}{13}%
%</book|report>
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed
    \ifcase \@tempa\relax % notoc
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{nolistof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{notoc}%
      \renewcommand*{\float@@listhead}{%
%<article>      \section*
%<report|book>      \chapter*
      }%
      \doforeachtocfile[float]{%
        \unsettoc{\@currext}{numbered}%
        \unsettoc{\@currext}{totoc}%
      }%
      \AtAddToTocList[float]{%
        \unsettoc{\@currext}{numbered}%
        \unsettoc{\@currext}{totoc}%
      }%
    \or% totoc
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{listof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{totoc}%
      \renewcommand*{\float@@listhead}{%
%<article>      \addsec
%<report|book>      \addchap
      }%
      \doforeachtocfile[float]{%
        \unsettoc{\@currext}{numbered}%
        \setuptoc{\@currext}{totoc}%
      }%
      \AtAddToTocList[float]{%
        \unsettoc{\@currext}{numbered}%
        \setuptoc{\@currext}{totoc}%
      }%
    \or% numbered
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
      \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{toc}{listofnumbered}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{numbered}%
      \renewcommand*{\float@@listhead}{%
%<article>      \section
%<report|book>      \chapter
      }%
      \doforeachtocfile[float]{%
        \setuptoc{\@currext}{numbered}%
        \setuptoc{\@currext}{totoc}%
      }%
      \AtAddToTocList[float]{%
        \setuptoc{\@currext}{numbered}%
        \setuptoc{\@currext}{totoc}%
      }%
    \or% flat
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{flat}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{graduated}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{flat}%
      \@dynlisttrue
    \or% graduated
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{flat}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{graduated}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{graduated}%
      \@dynlistfalse
    \or% leveldown
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{standardlevel}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{leveldown}%
      \doforeachtocfile[float]{%
        \setuptoc{\@currext}{leveldown}%
      }%
      \AtAddToTocList[float]{%
        \setuptoc{\@currext}{leveldown}%
      }%
    \or% standardlevel
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leveldown}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{standardlevel}%
      \doforeachtocfile[float]{%
        \unsettoc{\@currext}{leveldown}%
      }%
      \AtAddToTocList[float]{%
        \unsettoc{\@currext}{leveldown}%
      }%
    \or% entryprefix
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{entryprefix}%
      \@dynlisttrue
      \doforeachtocfile[float]{%
        \BeforeStartingTOC[\@currext]{%
          \scr@ifundefinedorrelax{listof\@currext entryname}{}{%
            \expandafter\def\expandafter\numberline@prefix
            \expandafter{\csname listof\@currext entryname\endcsname
              \nobreakspace}%
          }%
        }%
      }%
      \AtAddToTocList[float]{%
        \BeforeStartingTOC[\@currext]{%
          \scr@ifundefinedorrelax{listof\@currext entryname}{}{%
            \expandafter\def\expandafter\numberline@prefix
            \expandafter{\csname listof\@currext entryname\endcsname
              \nobreakspace}%
          }%
        }%
      }%
    \or% indenttextentries
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{indenttextentries}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leftaligntextentries}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{indenttextentries}%
      \doforeachtocfile[float]{%
        \setuptoc{\@currext}{numberline}%
      }%
      \AtAddToTocList[float]{%
        \setuptoc{\@currext}{numberline}%
      }
    \or% leftaligntextentries
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{indenttextentries}%
      \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leftaligntextentries}%
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries}%
      \doforeachtocfile[float]{%
        \unsettoc{\@currext}{numberline}%
      }%
      \AtAddToTocList[float]{%
        \unsettoc{\@currext}{numberline}%
      }
%<*book|report>
    \or% chapterentry
      \KOMAoptions{chapteratlists=entry}%
    \or% chaptergap
      \KOMAoptions{chapteratlists=\z@}%
    \or% chaptergapsmall
      \KOMAoptions{chapteratlists=10\p@}%
    \or% chaptergapline
      \KOMAoptions{chapteratlists=\baselineskip}%
%</book|report>
    \fi
  \fi
}
\KOMA@kav@add{.\KOMAClassFileName}{toc}{nolistof}
\KOMA@kav@add{.\KOMAClassFileName}{listof}{notoc}
\KOMA@kav@add{.\KOMAClassFileName}{listof}{graduated}
\KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries}
%</option>
%    \end{macrocode}
% \end{option}
%
% \begin{option}{liststotoc}
% \changes{v2.3h}{1995/01/21}{neue Option}%^^A
% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}}
% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch
%     \cs{listtablename} ersetzt}
% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
%     \cs{float@listhead}} 
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
%    \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc}
%</option>
%    \end{macrocode}
% \end{option}
%
% \begin{option}{liststotocnumbered}
% \changes{v2.8q}{2002/04/08}{dem langjährigen Druck nachgegeben}%^^A
% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}%^^A
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
%    \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered}
%</option>
%    \end{macrocode}
% \end{option}
%
%
% \begin{option}{listsleft}
% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
% \begin{option}{listsindent}
% \changes{v2.8q}{2001/11/14}{neue Option}%^^A
% \changes{v2.98c}{2008/03/05}{obsolet}%^^A
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
%    \begin{macrocode}
%<*option>
\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat}
\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated}
%</option>
%    \end{macrocode}
% \end{option}
% \end{option}
%
% \begin{option}{chapteratlists}
% \changes{v2.96a}{2006/12/03}{neue Option}%^^A
% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}}%^^A
% \changes{v3.12a}{2014/01/17}{fehlendes \cs{FamilyKeyStateProcessed}%^^A
%     ergänzt}%^^A
% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
% \begin{macro}{\if@chaptertolists}
% \changes{v2.96a}{2006/12/03}{neuer Schalter}%^^A
% \changes{v3.12}{2013/09/24}{Verzeichnisse werden nicht in Verzeichnisse
%     eingetragen}%^^A
% \begin{macro}{\@chapterlistsgap}
% \changes{v2.96a}{2006/12/03}{neues Macro (intern)}%^^A
% Option, um einzugstellen, ob Kapitel in den Verzeichnissen der
% Gleitumgebungen Spuren hinterlassen. Man kann wahlweise Lücken einstellen
% (Voreinstellung mit 10\,pt) oder die Kapitelüberschrift eintragen lassen.
% Der Schalter gibt dabei an, ob die Kapitelüberschrift eingetragen werden
% soll. Das interne Hilfsmakro \cs{@chapterlistsgap} enthält den gewünschten
% Abstand.
%    \begin{macrocode}
%<*option&(book|report)>
\newcommand*{\@chapterlistsgap}{10\p@}
\newif\if@chaptertolists\@chaptertolistsfalse
\KOMA@key{chapteratlists}[entry]{%
  \FamilyKeyStateProcessed
  \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chapterentry}%
  \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergap}%
  \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapsmall}%
  \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapline}%
  \Ifstr{#1}{entry}{%
    \@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}%
    \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}{entry}%
    \KOMA@kav@add{.\KOMAClassFileName}{listof}{chapterentry}%
  }{%
    \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}%
    \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}%
                                               {\@chapterlistsgap}%
    \def\reserved@a{\z@}%
    \ifx\@chapterlistsgap\reserved@a
      \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergap}%
    \else
      \def\reserved@a{10\p@}%
      \ifx\@chapterlistsgap\reserved@a
        \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
      \else
        \def\reserved@a{\baselineskip}%
        \ifx\@chapterlistsgap\reserved@a
          \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapline}%
        \fi
      \fi
    \fi
  }%
}
\BeforeTOCHead{\@chaptertolistsfalse}
\KOMA@kav@add{.\KOMAClassFileName}{chapteratlists}{10\p@}%
\KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
%</option&(book|report)>
%    \end{macrocode}
% \end{macro}  
% \end{macro}  
% \end{option}
%
%
% \begin{macro}{\float@listhead}
% \changes{v2.8b}{2001/06/26}{neu (für alle Paketautoren)}%^^A
% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
%   \cs{float@listhead}}%^^A
% \changes{v2.98c}{2008/03/05}{\cs{float@@listhead} wird verwendet}%^^A
% \changes{v3.00}{2008/07/04}{Verwendung von \cs{float@listhead} ist nicht
%   länger empfohlen}%^^A
% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A
% In Absprache mit Anselm Lingnau, dem Autor des Pakets \textsf{float}, wird
% ab Version 2.8b \cs{float@headings} zum Setzen des Kolumnentitels bei den
% Verzeichnissen verwendet, die \textsf{float} für neu definierte floats zur
% Verfügung stellt. Dabei definiert \textsf{float} die Anweisung nur, wenn
% sie nicht bereits existiert. Die Zusammenarbeit wird dadurch
% verbessert. Da Anselm sich in letzter Minute entschlossen hat, das Makro
% \cs{float@listhead} zu nennen, wurde dies in Version 2.8g angepasst.
%    \begin{macrocode}
%<*body>
\newcommand*{\float@listhead}[1]{%
  \scr@float@listhead@warning
  \float@@listhead{#1}%
  \@mkboth{\MakeMarkcase{#1}}{\MakeMarkcase{#1}}%
%    \end{macrocode}
% \changes{v2.8q}{2001/11/14}{dynamische Anpassung an die Nummer}%^^A
% Dies ist der passende Ort, um die Breite, die für die Nummer des
% Gleitobjekts benötigt wird zu ermitteln und anzupassen, falls dies
% geünscht wird. Dazu findet eine lokale Umdefinierung von
% \cs{@starttoc} statt. Die Umdefinierung ist deshalb lokal, weil alle
% mir bekannten Verzeichnisse von Gleitobjekten innerhalb einer Gruppe
% ausgegeben werden.
%    \begin{macrocode}
  \if@dynlist%
    \newcommand*{\scr@starttoc}{}%
    \let\scr@starttoc=\@starttoc
    \renewcommand*{\@starttoc}[1]{%
      \before@starttoc{##1}\scr@starttoc{##1}\after@starttoc{##1}%
    }%
  \fi
}
%    \end{macrocode}
% \begin{macro}{\scr@float@listhead@warning}
% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
% \changes{v3.30}{2020/02/25}{spurious space at end of warning message
%   removed}%^^A
% Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition
% irgendwann aus den Klassen verschwinden wird.
%    \begin{macrocode}
\newcommand*{\scr@float@listhead@warning}{%
  \ClassWarning{\KOMAClassName}{%
    \string\float@listhead\space detected!\MessageBreak
    Implementation of \string\float@listhead\space became\MessageBreak
    deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak
    has been replaced by several more flexible\MessageBreak
    features of package `tocbasic`.\MessageBreak
    Maybe implementation of \string\float@listhead\space will\MessageBreak
    be removed from KOMA-Script soon.\MessageBreak
    Loading of package `scrhack' may help to\MessageBreak
    avoid this warning, if you are using a\MessageBreak
    a package that still implements the\MessageBreak
    deprecated \string\float@listhead\space interface%
  }%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\scr@float@addtolists@warning}
% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A
% \changes{v3.12}{2013/09/25}{Text geändert}%^^A
% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A
% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A
% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen
% Unterstützung irgendwann aus den Klassen verschwinden wird.
%    \begin{macrocode}
\newcommand*{\scr@float@addtolists@warning}{%
  \ClassWarningNoLine{\KOMAClassName}{%
    \string\float@addtolists\space detected!\MessageBreak
    Implementation of \string\float@addtolist\space became\MessageBreak
    deprecated in KOMA-Script v3.01 2008/11/14 and\MessageBreak
    has been replaced by several more flexible\MessageBreak
    features of package `tocbasic`.\MessageBreak
    Since Version 3.12 support for deprecated\MessageBreak
    \string\float@addtolist\space interface has been\MessageBreak
    restricted to only some of the KOMA-Script\MessageBreak
    features and been removed from others.\MessageBreak
    Loading of package `scrhack' may help to\MessageBreak
    avoid this warning, if you are using a\MessageBreak
    a package that still implements the\MessageBreak
    deprecated \string\float@addtolist\space interface%
  }%
  \global\let\scr@float@addtolists@warning\relax
}
%</body>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\listfigurename}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
% \begin{macro}{\listtablename}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A
% \begin{macro}{\listoflofname}
% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% \begin{macro}{\listoflotname}
% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% \begin{macro}{\listoflofentryname}
% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% \begin{macro}{\listoflotentryname}
% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A
% Die Namen der Verzeichnisse auch für das Paket \textsf{tocbasic}.
%    \begin{macrocode}
%<*body>
\renewcommand*\listfigurename{List of Figures}
\providecaptionname{american,australian,british,canadian,english,newzealand,%
  UKenglish,ukenglish,USenglish,usenglish}\listfigurename{List of Figures}
\renewcommand*\listoflofname{\listfigurename}
\renewcommand*\listoflofentryname{\figurename}
\renewcommand*\listtablename{List of Tables}
\providecaptionname{american,australian,british,canadian,english,newzealand,%
  UKenglish,ukenglish,USenglish,usenglish}\listtablename{List of Tables}
\renewcommand*\listoflotname{\listtablename}
\renewcommand*\listoflotentryname{\tablename}
%</body>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\listoffigures}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}}%^^A
% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei
%   \textsf{scrartcl}}%^^A
% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
%   0 gesetzt}%^^A
% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A
% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
%   ersetzt}%^^A
% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A
% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@figure} statt
%   \texttt{lof}}%^^A
% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
%   definiert}%^^A
% Die Ausgabe des Abbildungsverzeichnisses.
% \end{macro}
%
% \begin{macro}{\l@figure}
% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
%   im \texttt{default}-Stil definiert}%^^A
% Befehl zur Formatierung eines Verzeichniseintrags.
% \end{macro}
%
% \begin{macro}{\listoftables}
% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}}%^^A
% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei
%     \textsf{scrartcl}}%^^A
% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf
%     0 gesetzt}%^^A
% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}%
%     \cs{@parskip@indent}}%^^A
% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
%     ersetzt}%^^A
% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A
% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@table} statt
%     \texttt{lot}}%^^A
% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
%   definiert}%^^A
% Die Ausgabe des Tabellenverzeichnisses.
% \end{macro}
%
% \begin{macro}{\l@table}
% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC}
%   im \texttt{default}-Stil definiert}%^^A
% \end{macro}
%
%
% \iffalse
%</!letter>
% \fi
%
%
% \Finale
%
\endinput
%
% end of file `scrkernel-listsof.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End:
