summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx151
1 files changed, 84 insertions, 67 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
index b0eba60c05..c42af21aeb 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{1934}
+% \CheckSum{1936}
% \iffalse meta-comment
% ======================================================================
% scrkernel-tocstyle.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-tocstyle.dtx 3262 2019-10-10 08:25:29Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3392 2019-11-19 09:37:46Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -80,7 +80,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $
+ \filedate$Date: 2019-11-19 10:37:46 +0100 (Tue, 19 Nov 2019) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 2254 $
\edef\reserved@a{%
@@ -146,6 +146,7 @@
% \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
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
% Dieses Makro wird indirekt im Inhaltsverzeichnis verwendet und muss
% umdefiniert werden, um Duden, 20.~Auflage, Regel~5 und Regel~6 zu
% implementieren.
@@ -154,7 +155,7 @@
\newcommand*{\scr@numberline}[1]{%
\numberline@box{%
\numberline@prefix
- \ifstr{#1}{}{#1}{%
+ \Ifstr{#1}{}{#1}{%
\numberline@numberformat{#1}%
}%
\numberline@postfix
@@ -205,12 +206,13 @@
% \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
+% an empty string}%^^A
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^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}{}{}{\numberline@numberprefix#1\numberline@numberpostfix}%
+ \Ifstr{#1}{}{}{\numberline@numberprefix#1\numberline@numberpostfix}%
}
% \end{macrocode}
% \begin{macro}{\numberline@numberprefix}
@@ -1553,10 +1555,11 @@
% automatisch bestimmt werden. Zum einen wird für Sub-Ebenen die Elternebene
% um eins erhöht verwendet, falls die Elternebene bereits definiert ist.
% \changes{v3.21}{2016/06/09}{\cs{the} eingefügt}%^^A
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
% \begin{macrocode}
%<*tocline|toctext>
\scr@ifundefinedorrelax{#1tocdepth}{%
- \ifstrstart{#1}{sub}{%
+ \Ifstrstart{#1}{sub}{%
\scr@ifundefinedorrelax{\scr@dte@nosub{#1}tocdepth}{}{%
\expandafter\edef\csname #1tocdepth\endcsname{%
\the\numexpr \noexpand\@nameuse{\scr@dte@nosub{#1}tocdepth}+\@ne\relax
@@ -1571,15 +1574,15 @@
% Standardklassen und bei \KOMAScript{} zutreffen.
% \begin{macrocode}
\@ifundefined{#1tocdepth}{%
- \ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{%
- \ifstr{#1}{chapter}{\@namedef{#1tocdepth}{0}}{%
- \ifstr{#1}{section}{\@namedef{#1tocdepth}{1}}{%
- \ifstr{#1}{subsection}{\@namedef{#1tocdepth}{2}}{%
- \ifstr{#1}{subsubsection}{\@namedef{#1tocdepth}{3}}{%
- \ifstr{#1}{paragraph}{\@namedef{#1tocdepth}{4}}{%
- \ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{%
- \ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{%
- \ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{%
+ \Ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{%
+ \Ifstr{#1}{chapter}{\@namedef{#1tocdepth}{0}}{%
+ \Ifstr{#1}{section}{\@namedef{#1tocdepth}{1}}{%
+ \Ifstr{#1}{subsection}{\@namedef{#1tocdepth}{2}}{%
+ \Ifstr{#1}{subsubsection}{\@namedef{#1tocdepth}{3}}{%
+ \Ifstr{#1}{paragraph}{\@namedef{#1tocdepth}{4}}{%
+ \Ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{%
+ \Ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{%
+ \Ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{%
% \end{macrocode}
% Für unbekannte Anweisungen wird stattdessen eine eventuell vorhandene
% Gliederungsebene auch als Verzeichnisebene übernommen:
@@ -1602,7 +1605,7 @@
%<*tocline|toctext>
\scr@ifundefinedorrelax{scr@tso@#1@indent}{%
\@ifundefined{scr@#1@tocindent}{%
- \ifstrstart{#1}{sub}{%
+ \Ifstrstart{#1}{sub}{%
\scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@indent}{%
\scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@numwidth}{}{%
\expandafter\edef\csname scr@tso@#1@indent\endcsname{%
@@ -1640,7 +1643,7 @@
% \begin{macrocode}
%<*tocline>
\scr@ifundefinedorrelax{scr@tso@#1@pagenumberwidth}{%
- \ifstrstart{#1}{sub}{%
+ \Ifstrstart{#1}{sub}{%
\scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@pagenumberwidth}{%
\@namedef{scr@tso@#1@pagenumberwidth}{\@pnumwidth}%
}{%
@@ -1655,7 +1658,7 @@
%</tocline>
%<*tocline|toctext>
\scr@ifundefinedorrelax{scr@tso@#1@rightindent}{%
- \ifstrstart{#1}{sub}{%
+ \Ifstrstart{#1}{sub}{%
\scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@rightindent}{%
\@namedef{scr@tso@#1@rightindent}{\@tocrmarg}%
}{%
@@ -1677,24 +1680,24 @@
%<*dottedtocline|undottedtocline|largetocline>
\@ifundefined{scr@#1@tocindent}{%
%</dottedtocline|undottedtocline|largetocline>
- \ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{%
- \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{%
+ \Ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{%
+ \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{%
% \end{macrocode}
% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder
% nicht. Dazu sollte die Kapitelebene bereits definiert sein!
% \begin{macrocode}
\scr@ifundefinedorrelax{l@chapter}{%
- \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{%
- \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \ifstr{#1}{subsubsection}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{subsubsection}{%
\@namedef{scr@tso@#1@indent}{3.8em}%
}{%
- \ifstr{#1}{paragraph}{%
+ \Ifstr{#1}{paragraph}{%
\@namedef{scr@tso@#1@indent}{7em}%
}{%
- \ifstr{#1}{subparagraph}{%
+ \Ifstr{#1}{subparagraph}{%
\@namedef{scr@tso@#1@indent}{10em}%
}{%
% \end{macrocode}
@@ -1706,15 +1709,15 @@
}%
}%
}{%
- \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{%
- \ifstr{#1}{subsubsection}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{%
+ \Ifstr{#1}{subsubsection}{%
\@namedef{scr@tso@#1@indent}{7.0em}%
}{%
- \ifstr{#1}{paragraph}{%
+ \Ifstr{#1}{paragraph}{%
\@namedef{scr@tso@#1@indent}{10em}%
}{%
- \ifstr{#1}{subparagraph}{%
+ \Ifstr{#1}{subparagraph}{%
\@namedef{scr@tso@#1@indent}{12em}%
}{%
% \end{macrocode}
@@ -1746,7 +1749,7 @@
%<*tocline>
\scr@ifundefinedorrelax{scr@tso@#1@numwidth}{%
\scr@ifundefinedorrelax{scr@#1@tocnumwidth}{%
- \ifstrstart{#1}{sub}{%
+ \Ifstrstart{#1}{sub}{%
\scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@numwidth}{}{%
\expandafter\edef\csname scr@tso@#1@numwidth\endcsname{%
\glueexpr \noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@numwidth}%
@@ -1764,23 +1767,23 @@
%<*dottedtocline|undottedtocline>
\@ifundefined{scr@#1@tocnumwidth}{%
%</dottedtocline|undottedtocline>
- \ifstr{#1}{figure}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
+ \Ifstr{#1}{figure}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
% \end{macrocode}
% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder
% nicht. Dazu sollte die Kapitelebene bereits definiert sein!
% \begin{macrocode}
\scr@ifundefinedorrelax{chapter}{%
- \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
- \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \ifstr{#1}{subsubsection}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{subsubsection}{%
\@namedef{scr@tso@#1@numwidth}{3.2em}%
}{%
- \ifstr{#1}{paragraph}{%
+ \Ifstr{#1}{paragraph}{%
\@namedef{scr@tso@#1@numwidth}{4.1em}%
}{%
- \ifstr{#1}{subparagraph}{%
+ \Ifstr{#1}{subparagraph}{%
\@namedef{scr@tso@#1@numwidth}{5m}%
}{%
% \end{macrocode}
@@ -1792,15 +1795,15 @@
}%
}%
}{%
- \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{%
- \ifstr{#1}{subsubsection}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{%
+ \Ifstr{#1}{subsubsection}{%
\@namedef{scr@tso@#1@numwidth}{3.1em}%
}{%
- \ifstr{#1}{paragraph}{%
+ \Ifstr{#1}{paragraph}{%
\@namedef{scr@tso@#1@numwidth}{5em}%
}{%
- \ifstr{#1}{subparagraph}{%
+ \Ifstr{#1}{subparagraph}{%
\@namedef{scr@tso@#1@numwidth}{6em}%
}{%
% \end{macrocode}
@@ -1845,13 +1848,13 @@
% verwendet.
% \begin{macrocode}
\@ifundefined{scr@tso@#1@beforeskip}{%
- \ifstr{#1}{part}{%
+ \Ifstr{#1}{part}{%
\@namedef{scr@tso@#1@beforeskip}{\glueexpr 2.25em \@plus\p@\relax}%
}{%
- \ifstr{#1}{chapter}{%
+ \Ifstr{#1}{chapter}{%
\@namedef{scr@tso@#1@beforeskip}{\glueexpr 1.0em \@plus\p@\relax}%
}{%
- \ifstr{#1}{section}{%
+ \Ifstr{#1}{section}{%
\scr@ifundefinedorrelax{l@chapter}{%
\@namedef{scr@tso@#1@beforeskip}{\glueexpr 1.0em \@plus\p@\relax}%
}{}%
@@ -1907,16 +1910,16 @@
\expandafter\providecommand%
\csname scr@tso@#1@numberformat\endcsname[1]{##1}%
%<*tocline>
- \ifstr{#1}{part}{%
+ \Ifstr{#1}{part}{%
\expandafter\providecommand%
\csname scr@tso@#1@entryformat\endcsname[1]{\large\bfseries ##1}%
}{%
- \ifstr{#1}{chapter}{%
+ \Ifstr{#1}{chapter}{%
\expandafter\providecommand%
\csname scr@tso@#1@entryformat\endcsname[1]{\bfseries ##1}%
}{%
\scr@ifundefinedorrelax{l@chapter}{%
- \ifstr{#1}{section}{%
+ \Ifstr{#1}{section}{%
\expandafter\providecommand%
\csname scr@tso@#1@entryformat\endcsname[1]{\bfseries ##1}%
}{}%
@@ -1944,14 +1947,14 @@
% Option werden. In der Voreinstellung wird mit \cs{hfill} gefüllt.
% \begin{macrocode}
\@ifundefined{scr@tso@#1@linefill}{%
- \ifstr{#1}{part}{%
+ \Ifstr{#1}{part}{%
\@namedef{scr@tso@#1@linefill}{\hfill}%
}{%
- \ifstr{#1}{chapter}{%
+ \Ifstr{#1}{chapter}{%
\@namedef{scr@tso@#1@linefill}{\hfill}%
}{%
\scr@ifundefinedorrelax{l@chapter}{%
- \ifstr{#1}{section}{%
+ \Ifstr{#1}{section}{%
\@namedef{scr@tso@#1@linefill}{\hfill}%
}{}%
}{}%
@@ -1968,7 +1971,7 @@
% \end{macrocode}
% Auch die Seitenzahl kann speziell formatiert werden, wenn das gewünscht ist.
% \begin{macrocode}
- \ifstr{#1}{part}{%
+ \Ifstr{#1}{part}{%
% \end{macrocode}
% Für \texttt{part} normalerweise groß und fett:
% \begin{macrocode}
@@ -1980,12 +1983,12 @@
% Voreinstellung fett}%^^A
% Für \texttt{chapter} nur fett:
% \begin{macrocode}
- \ifstr{#1}{chapter}{%
+ \Ifstr{#1}{chapter}{%
\expandafter\providecommand%
\csname scr@tso@#1@pagenumberformat\endcsname[1]{\bfseries ##1}%
}{%
\scr@ifundefinedorrelax{l@chapter}{%
- \ifstr{#1}{section}{%
+ \Ifstr{#1}{section}{%
% \end{macrocode}
% \changes{v3.25}{2017/11/23}{Seitenzahlen für \texttt{section}-Einräge in der
% Voreinstellung unter Umständen fett}%^^A
@@ -2030,11 +2033,13 @@
% \end{macrocode}
% \changes{v3.27}{2019/05/12}{Berücksichtigung von Verzeichniseigenschaft
% \texttt{noindent}}%^^A
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}%^^A
% Damit ist die Initialisierung abgeschlossen und wir kommen zur
% Eintragsanweisung selbst:
% \begin{macrocode}
%<*dottedtocline>
- \iftocfeature{\@currext}{noindent}{%
+ \Iftocfeature{\@currext}{noindent}{%
\@dottedtocline{\@nameuse{#1tocdepth}}{\z@}%
{\@nameuse{scr@tso@#1@numwidth}}{##1}{##2}%
}{%
@@ -2095,9 +2100,11 @@
% kein \cs{numberline} verwendet. Deshalb werden mehrzeilige Einträge auch
% nicht korrekt eingerückt. Auch das habe ich aus Kompatibilitätsgründen
% beibehalten.
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}%^^A
% \begin{macrocode}
%<undottedtocline> \advance\leftskip\@tempdima
- \iftocfeature{\@currext}{noindent}{%
+ \Iftocfeature{\@currext}{noindent}{%
%<undottedtocline> \hskip -\leftskip
}{%
\advance\leftskip\@nameuse{scr@tso@#1@indent}%
@@ -2187,6 +2194,8 @@
% \changes{v3.20}{2015/11/22}{neu (intern)}%^^A
% \changes{v3.27}{2019/05/12}{Berücksichtigun von Verzeichniseigenschaft
% \texttt{noindent}}%^^A
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}%^^A
% In gewisser Weise entspricht diese Anweisung der \LaTeX-Kern-Anweisung
% \cs{dottedtocline}. Allerdings werden hier vielfältige
% Eingriffsmöglichkeiten untersützt, die jeweils durch Optionen gesteuert
@@ -2208,7 +2217,7 @@
\tocbasic@DependOnPenaltyAndTOCLevel{#1}%
\addvspace{\@nameuse{scr@tso@#1@beforeskip}}\relax
{%
- \iftocfeature{\@currext}{noindent}{%
+ \Iftocfeature{\@currext}{noindent}{%
\leftskip \z@
}{%
\leftskip \@nameuse{scr@tso@#1@indent}\relax
@@ -2218,7 +2227,7 @@
\@nameuse{Ifscr@tso@#1@raggedpage}{%
\addtolength{\parfillskip}{\z@ \@plus 1fil}%
}{}%
- \iftocfeature{\@currext}{noindent}{%
+ \Iftocfeature{\@currext}{noindent}{%
\parindent \z@
}{%
\parindent \@nameuse{scr@tso@#1@indent}\relax
@@ -2408,6 +2417,8 @@
% \selectlanguage{english}
% \begin{macro}{\scr@dte@toctext}
% \changes{v3.27}{2019/07/08}{new (internal)}%^^A
+% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}%^^A
% This is the command to format entries that will be accumalted into a single
% paragraph. This is somehow special, because the settings of one entrie can
% influence another one. The three arguments are:
@@ -2453,7 +2464,7 @@
% margins) and if any of the text entries has to be printed ragged right, all
% of them should be ragged right.
% \begin{macrocode}
- \iftocfeature{\@currext}{noindent}{%
+ \Iftocfeature{\@currext}{noindent}{%
\leftskip \z@
}{%
\leftskip \@nameuse{scr@tso@#1@indent}\relax
@@ -2578,6 +2589,8 @@
%
% \begin{macro}{\scr@dte@def@l@chapter}
% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{chapter}}%^^A
+% \changes{v3.27}{2019/10/28}{Font Element \texttt{chapterentrydots} wird
+% angewendet}%^^A
% Dieser Verzeichnisstil existier bei \textsf{scrbook} und \textsf{scrreprt}.
% \begin{macrocode}
%<*chapter>
@@ -2587,7 +2600,7 @@
\expandafter\providecommand%
\csname scr@tso@#1@linefill\endcsname{%
\if@chapterentrywithdots
- \TOCLineLeaderFill\relax
+ {\usekomafont{chapterentrydots}{\TOCLineLeaderFill}}\relax
\else
\hfill
\fi
@@ -2606,6 +2619,8 @@
%
% \begin{macro}{\scr@dte@def@l@section}
% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{section}}%^^A
+% \changes{v3.27}{2019/10/28}{Font Element \texttt{sectionentrydots} wird
+% angewendet}%^^A
% Bei den Klassen \textsf{scrbook} und \textsf{scrreprt} ist das der Stil für
% die \emph{kleinen} Verzeichnisebenen. Bei \textsf{scrartcl} ist es dagegen
% der Stil für die obere Verzeichnisebene und entspricht damit obigem Stil
@@ -2625,12 +2640,14 @@
\expandafter\providecommand%
\csname scr@tso@#1@linefill\endcsname{%
\if@sectionentrywithdots
- \TOCLineLeaderFill\relax
+ {\usekomafont{sectionentrydots}{\TOCLineLeaderFill}}\relax
\else
\hfill
\fi
}%
- % Für die Einträge die Schrift von Element sectionentry verwenden.
+% \end{macrocode}
+% Für die Einträge die Schrift von Element sectionentry verwenden.
+% \begin{macrocode}
\expandafter\providecommand%
\csname scr@tso@#1@entryformat\endcsname{\usekomafont{sectionentry}}%
\expandafter\providecommand%