summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx961
1 files changed, 961 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
new file mode 100644
index 00000000000..f5433c50b07
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-listsof.dtx
@@ -0,0 +1,961 @@
+% \CheckSum{457}
+% \iffalse meta-comment
+% ======================================================================
+% scrkernel-listsof.dtx
+% Copyright (c) Markus Kohm, 2002-2013
+%
+% 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-2013
+%
+% 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 1522 2013-11-22 08:11:42Z mjk $
+%<*driver>
+% \fi
+\ProvidesFile{scrkernel-listsof.dtx}[2013/11/22 v3.12 KOMA-Script
+ (lists of)]
+% \iffalse
+\documentclass[halfparskip-]{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\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}
+%</driver>
+% \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
+%
+% \iffalse
+%<*option>
+% \fi
+%
+%
+% \subsection{Optionen für das Inhaltsverzeichnis}
+%
+% Einige Anweisungen und Einstellungen werden bereits für die Optionen
+% benötigt und deshalb vorab definiert.
+%
+% \begin{macro}{\if@tocleft}
+% \changes{v2.8q}{2001/11/14}{neuer Schalter}
+% \changes{v2.98c}{2008/03/05}{wird früher definiert}
+% \begin{macro}{\@toclefttrue}
+% \begin{macro}{\@tocleftfalse}
+% Die Wahl der Darstellungsart für das Inhaltsverzeichnis wird in einem
+% Schalter gespeichert.
+% \begin{macrocode}
+\newif\if@tocleft
+% \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
+% Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses.
+% \begin{macrocode}
+\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.
+% \begin{macrocode}
+ {noindex}{0},{noidx}{0},%
+ {index}{1},{idx}{1},%
+ {nolistof}{2},%
+ {listof}{3},%
+ {listofnumbered}{4},{numberedlistof}{4},%
+ {nobibliography}{5},{nobib}{5},%
+ {bibliography}{6},{bib}{6},%
+ {bibliographynumbered}{7},{bibnumbered}{7},{numberedbibliography}{7},%
+ {numberedbib}{7},%
+% \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}{8},{left}{8},%
+ {graduated}{9},{indent}{9},{indented}{9},%
+% \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}{10},{indentunnumbered}{10},{numberline}{10},%
+ {leftaligntextentries}{11},{leftalignunnumbered}{11},{nonumberline}{11}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifcase \@tempa\relax
+ \KOMAExecuteOptions{index=notoc}%
+ \or
+ \KOMAExecuteOptions{index=totoc}%
+ \or
+ \KOMAExecuteOptions{listof=notoc}%
+ \or
+ \KOMAExecuteOptions{listof=totoc}%
+ \or
+ \KOMAExecuteOptions{listof=numbered}%
+ \or
+ \KOMAExecuteOptions{bibliography=nottotoc}%
+ \or
+ \KOMAExecuteOptions{bibliography=totoc}%
+ \or
+ \KOMAExecuteOptions{bibliography=totocnumbered}%
+ \or
+ \@toclefttrue
+ \or
+ \@tocleftfalse
+ \or
+ \setuptoc{toc}{numberline}%
+ \or
+ \unsettoc{toc}{numberline}%
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{option}
+%
+% \begin{option}{tocleft}
+% \changes{v2.8q}{2001/11/14}{neue Option}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{option}{tocindent}
+% \changes{v2.8q}{2001/11/14}{neue Option}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{tocleft}{toc=flat}
+\KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated}
+% \end{macrocode}
+% \end{option}
+% \end{option}
+%
+%
+% \subsection{Optionen für die Gleitumgebungen}
+%
+% Einige Anweisungen und Einstellungen werden bereits für die Optionen
+% benötigt und deshalb vorab definiert.
+%
+% \begin{macro}{\float@@listhead}
+% \changes{v2.98c}{2008/03/05}{neu (intern)}
+% Setzt nur die Überschrift und sonst nichts. Dabei wird die Überschrift als
+% einziges Argument übergeben.
+% \begin{macrocode}
+\newcommand*{\float@@listhead}{%
+%<article> \section*
+%<report|book> \chapter*
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@dynlist}
+% \changes{v2.8q}{2001/11/14}{neuer Schalter}
+% \begin{macro}{\@dynlisttrue}
+% \begin{macro}{\@dynlistfalse}
+% Die Wahl der Darstellungsart wird in einem Schalter gespeichert.
+% \begin{macrocode}
+\newif\if@dynlist
+% \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
+% Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse.
+% \begin{macrocode}
+\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.
+% \begin{macrocode}
+ {leveldown}{5},
+% \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}{6},
+% \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}{7},{indentunnumbered}{7},{numberline}{7},%
+ {leftaligntextentries}{8},{leftalignunnumbered}{8},{nonumberline}{8},%
+% \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}{9},{withchapterentry}{9},%
+ {nochaptergap}{10},{ignorechapter}{10},%
+ {chaptergapsmall}{11},{smallchaptergap}{11},%
+ {chaptergapline}{12},{onelinechaptergap}{12}%
+%</book|report>
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifcase \@tempa\relax
+ \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
+ \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
+ \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
+ \@dynlisttrue
+ \or% graduated
+ \@dynlistfalse
+ \or% leveldown
+ \doforeachtocfile[float]{%
+ \setuptoc{\@currext}{leveldown}%
+ }%
+ \AtAddToTocList[float]{%
+ \setuptoc{\@currext}{leveldown}%
+ }%
+ \or% 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% numberline
+ \doforeachtocfile[float]{%
+ \setuptoc{\@currext}{numberline}%
+ }%
+ \AtAddToTocList[float]{%
+ \setuptoc{\@currext}{numberline}%
+ }
+ \or% nonumberline
+ \doforeachtocfile[float]{%
+ \unsettoc{\@currext}{numberline}%
+ }%
+ \AtAddToTocList[float]{%
+ \unsettoc{\@currext}{numberline}%
+ }
+%<*book|report>
+ \or% chapterentry
+ \KOMAExecuteOptions{chapteratlists=entry}%
+ \or% chaptergap
+ \KOMAExecuteOptions{chapteratlists=\z@}%
+ \or% chaptergapsmall
+ \KOMAExecuteOptions{chapteratlists=10\p@}%
+ \or% chaptergapline
+ \KOMAExecuteOptions{chapteratlists=\baselineskip}%
+%</book|report>
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{option}
+%
+% \begin{option}{liststotoc}
+% \changes{v2.3h}{1995/01/21}{neue Option}
+% \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}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc}
+% \end{macrocode}
+% \end{option}
+%
+% \begin{option}{liststotocnumbered}
+% \changes{v2.8q}{2002/04/08}{dem langjährigen Druck nachgegeben}
+% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered}
+% \end{macrocode}
+% \end{option}
+%
+%
+% \begin{option}{listsleft}
+% \changes{v2.8q}{2001/11/14}{neue Option}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{option}{listsindent}
+% \changes{v2.8q}{2001/11/14}{neue Option}
+% \changes{v2.98c}{2008/03/05}{obsolet}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat}
+\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated}
+% \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
+% \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}
+%<*book|report>
+\newcommand*{\@chapterlistsgap}{10\p@}
+\newif\if@chaptertolists\@chaptertolistsfalse
+\KOMA@key{chapteratlists}[entry]{%
+ \ifstr{#1}{entry}{%
+ \@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}%
+ }{%
+ \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}%
+ }%
+}
+\BeforeTOCHead{\@chaptertolistsfalse}
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{option}
+%
+% \iffalse
+%</option>
+%<*body>
+% \fi
+%
+% \subsection{Definitionen für alle Verzeichnisse}
+%
+% Einige Definitionen werden von unterschiedlichen Verzeichnissen
+% verwendet. Diese sind hier zu finden.
+%
+% \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}
+%<*book|report>
+\doforeachtocfile[float]{%
+ \setuptoc{\@currext}{chapteratlist}%
+}
+\AtAddToTocList[float]{%
+ \setuptoc{\@currext}{chapteratlist}%
+}
+%</book|report>
+% \end{macrocode}
+% \begin{macro}{\numberline}
+% \changes{v2.3c}{1995/08/06}{\cs{numberline} umdefiniert}^^A
+% \changes{v3.06}{2010/05/18}{Verwendung von \cs{numberline@prefix} und
+% \cs{numberline@postfix}}^^A
+% \changes{v3.12}{2013/11/22}{use \cs{numberline@numberformat} only, if the
+% argument expands to a non-empty string}^^A
+% Dieses Makro wird indirekt im Inhaltsverzeichnis verwendet und muss
+% umdefiniert werden, um Duden, 20.~Auflage, Regel~5 und Regel~6 zu
+% implementieren.
+% \begin{macrocode}
+\renewcommand*{\numberline}[1]{%
+ \numberline@box{%
+ \numberline@prefix
+ \ifstr{#1}{}{#1}{\numberline@numberformat{#1}}%
+ \numberline@postfix
+ }%
+}
+% \end{macrocode}
+% \begin{macro}{\numberline@prefix}
+% \changes{v3.06}{2010/05/18}{neu (intern)}
+% Das ist in der Voreinstellung einfach leer. Es könnte verwendet werden, um
+% etwas vor die Nummer zu setzen oder die Nummer rechtsbündig zu setzen.
+% \begin{macrocode}
+\newcommand*{\numberline@prefix}{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\numberline@postfix}
+% \changes{v3.06}{2010/05/18}{neu (intern)}
+% Das ist in der Voreinstellung einfach \cs{hfil} und dient dazu die Nummer
+% linksbündig zu platzieren.
+% \begin{macrocode}
+\newcommand*{\numberline@postfix}{\hfil}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\numberline@numberformat}
+% \changes{v3.06}{2010/05/18}{neu (intern)}^^A
+% \changes{v3.12}{2013/11/22}{don't output anything, if argument expands to
+% an empty string}^^A
+% Das dient in der Voreinstellung dazu, Regel~5 und 6 aus der 20.~Auflage des
+% DUDENs umzusetzen.
+% \begin{macrocode}
+\newcommand*{\numberline@numberformat}[1]{\ifstr{#1}{}{}{#1\autodot}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\numberline@box}
+% \changes{v3.06}{2010/05/18}{neu (intern)}
+% Das dient in der Voreinstellung dazu, die Gliederungsnummer in eine Box zu
+% setzen.
+% \begin{macrocode}
+\newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@pnumwidth}
+% \begin{macro}{\@tocrmarg}
+% \begin{macro}{\@dotsep}
+% Einige Makros für die Formatierung der Verzeichniseinträge:
+% \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.
+% \end{description}
+% \begin{macrocode}
+\newcommand*\@pnumwidth{1.55em}
+\newcommand*\@tocrmarg {2.55em}
+\newcommand*\@dotsep{4.5}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\before@starttoc}
+% \changes{v2.8q}{2001/11/14}{neu (intern)}
+% 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}
+% \begin{macro}{\scr@numberline}
+% \changes{v3.06}{2010/05/18}{nicht länger benötigt}
+% \begin{macro}{\last@l@number}
+% Dafür werden ein paar Hilfsmakros benötigt, die vorsichtshalber
+% global vordefiniert werden.
+% \begin{macrocode}
+\newcommand*{\scr@dottedtocline}{}
+\newcommand*{\last@l@number}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\@l@number}
+% \changes{v2.8q}{2001/11/14}{neu (intern)}
+% 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)}
+% 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}
+% \end{macro}
+% \begin{macro}{\after@starttoc}
+% \changes{v2.8q}{2001/11/14}{neu (intern)}
+% 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}}%
+ }
+% \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}
+\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
+}
+% \end{macrocode}
+%
+%
+% \subsection{Definitionen für das Inhaltsverzeichnis}
+%
+% \begin{macro}{\contentsname}
+% \begin{macro}{\listoftocname}
+% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
+% Der Name des Verzeichnisses.
+% \begin{macrocode}
+\newcommand*\contentsname{Contents}
+\newcommand*\listoftocname{\contentsname}
+% \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}
+%<book|report>\setcounter{tocdepth}{2}
+%<article>\setcounter{tocdepth}{3}
+% \end{macrocode}
+% \end{Counter}
+%
+% \begin{macro}{\toc@heading}
+% \changes{v2.3h}{1995/01/21}{neu (intern)}
+% \changes{v2.95}{2002/06/28}{auch für \textsf{scrreprt} und
+% \textsf{scrbook}}
+% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht
+% länger empfohlen}
+% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%
+% 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}
+\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 my 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}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\toc@l@number}
+% \changes{v2.8q}{2001/11/14}{neu}
+% 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}
+\newcommand*{\toc@l@number}{}
+% \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}
+\newcommand*{\tableofcontents}{%
+ \begingroup\let\if@dynlist\if@tocleft\listoftoc{toc}\endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\addtocentrydefault}
+% \changes{v3.08}{2010/11/01}{Neu}
+% \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}
+\newcommand{\addtocentrydefault}[3]{%
+ \tocbasic@addxcontentsline{toc}{#1}{#2}{#3}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Definitionen für die Verzeichnisse der
+% Gleitumgebungen}
+%
+% \begin{macro}{\float@listhead}
+% \changes{v2.8b}{2001/06/26}{neu (für alle Paketautoren)}%
+% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in
+% \cs{float@listhead}}%
+% \changes{v2.98c}{2008/03/05}{\cs{float@@listhead} wird verwendet}%
+% \changes{v3.00}{2008/07/04}{Verwendung von \cs{float@listhead} ist nicht
+% länger empfohlen}%
+% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%
+% 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}
+\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}
+% 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)}
+% \changes{v3.12}{2013/09/25}{Text geändert}
+% 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 more 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)}
+% \changes{v3.12}{2013/09/25}{Text geändert}
+% 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 more 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
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\listfigurename}
+% \begin{macro}{\listtablename}
+% \begin{macro}{\listoflofname}
+% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
+% \begin{macro}{\listotlofname}
+% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}
+% Die Namen der Verzeichnisse auch für das Paket \textsf{tocbasic}.
+% \begin{macrocode}
+\newcommand*\listfigurename{List of Figures}
+\newcommand*\listoflofname{\listfigurename}
+\newcommand*\listoflofentryname{\figurename}
+\newcommand*\listtablename{List of Tables}
+\newcommand*\listoflotname{\listtablename}
+\newcommand*\listoflotentryname{\tablename}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\listoffigures}
+% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}}
+% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei
+% \textsf{scrartcl}}
+% \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.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
+% ersetzt}
+% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}
+% Die Ausgabe des Abbildungsverzeichnisses.
+% \begin{macrocode}
+\newcommand*\listoffigures{\listoftoc{lof}}
+% \end{macrocode}
+%
+% \begin{macro}{\l@figure}
+% Befehl zur Formatierung eines Verzeichniseintrags.
+% \begin{macrocode}
+\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\listoftables}
+% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}}
+% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei
+% \textsf{scrartcl}}
+% \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.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent}
+% ersetzt}
+% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}
+% Die Ausgabe des Tabellenverzeichnisses.
+% \begin{macrocode}
+\newcommand*\listoftables{\listoftoc{lot}}
+% \end{macrocode}
+%
+% \begin{macro}{\l@table}
+% Befehl zur Formatierung eines Verzeichniseintrags.
+% \begin{macrocode}
+\let\l@table\l@figure
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \iffalse
+%</body>
+% \fi
+%
+% \iffalse
+%</!letter>
+% \fi
+%
+%
+% \Finale
+%
+\endinput
+%
+% end of file `scrkernel-listsof.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: