You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1173 lines
43 KiB
1173 lines
43 KiB
% \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:
|
|
|