summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/scrkernel-index.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/scrkernel-index.dtx')
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-index.dtx64
1 files changed, 48 insertions, 16 deletions
diff --git a/macros/latex/contrib/koma-script/scrkernel-index.dtx b/macros/latex/contrib/koma-script/scrkernel-index.dtx
index 9e298cbb63..44199215b2 100644
--- a/macros/latex/contrib/koma-script/scrkernel-index.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-index.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-index.dtx 4032 2023-04-17 09:45:11Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 4052 2023-05-05 11:41:51Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2023-04-17 11:45:11 +0200 (Mo, 17. Apr 2023) $
+ \filedate$Date: 2023-05-05 13:41:51 +0200 (Fr, 05. Mai 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 4032 $
+ \filerevision$Revision: 4052 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-index.dtx}%
@@ -137,6 +137,42 @@
\fi*%
}
% \end{macrocode}
+% \begin{macro}{\idx@@mark,\idx@@forcemark,\idx@@forcemarknumbered}
+% \changes{v3.41}{2023/05/05}{new}
+% We also need a command to do the mark for the running head to be used if a
+% sectioning command without automatic usage of \cs{chaptermark},
+% \cs{sectionmark} or \cs{subsectionmark} is used. For headings with automatic
+% usage of \cs{chaptermark}, \cs{sectionmark} or \cs{subsectionmark} it should
+% not be used, despite the fact, that this usually would result in not setting
+% both marks. The command has the same argument as \cs{idx@@heading}. This is
+% the same code, previously used in \cs{idx@heading}.
+% \begin{macrocode}
+\newcommand*{\idx@@forcemark}[1]{%
+ \ifidx@leveldown
+%<report|book> \addsecmark{#1}%
+%<*article>
+ \begingroup
+ \value{secnumdepth}=-\maxdimen
+ \subsectionmark{#1}%
+ \endgroup
+%</article>
+ \else
+ \@mkdouble{\MakeMarkcase{#1}}%
+ \fi
+}
+\newcommand*{\idx@@forcemarknumbered}[1]{%
+ \ifidx@leveldown
+%<report|book> \sectionmark{#1}%
+%<article> \subsectionmark{#1}%
+ \else
+%<report|book> \chaptermark{#1}%
+%<article> \sectionmark{#1}%
+ \fi
+}
+\newcommand*{\idx@@mark}{}
+\let\idx@@mark\idx@@forcemark
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\idx@leveldowntrue,\idx@leveldownfalse,\ifidx@leveldown}
% \changes{v3.18}{2015/06/15}{added}
% The boolean switch \cs{ididx@leveldown} is needed to distinguish the heading
@@ -171,6 +207,7 @@
%<book|report> \expandafter\chapter
\fi*%
}%
+ \let\idx@@mark\idx@@forcemark
\or
\KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}%
\KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}%
@@ -182,13 +219,14 @@
\KOMA@kav@add{\KOMAClassFileName}{index}{toc}%
\renewcommand*{\idx@@heading}{%
\ifidx@leveldown
-%<article> \expandafter\subsection\expandafter*
+%<article> \expandafter\expandafter\expandafter\subsection\expandafter*%
%<book|report> \expandafter\addsec
\else
%<article> \expandafter\addsec
%<book|report> \expandafter\addchap
\fi
}%
+ \let\idx@@mark\idx@@forcemark
\or
\KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}%
\KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}%
@@ -207,6 +245,7 @@
%<book|report> \expandafter\chapter
\fi
}%
+ \let\idx@@mark\idx@@forcemarknumbered
\or
\KOMA@kav@remove{\KOMAClassFileName}{index}{leveldown}%
\KOMA@kav@remove{\KOMAClassFileName}{index}{standardlevel}%
@@ -277,24 +316,17 @@
% \changes{v3.25}{2017/10/13}{using \cs{@mkright} and \cs{@mkdouble}}
% \changes{v3.26}{2018/09/03}{usage of \cs{addsecmark} or \cs{subsectionmark}
% instead of \cs{@mkright}}
+% \changes{v3.41}{2023/05/05}{using \cs{idx@@mark}}
+% \changes{v3.41}{2023/05/05}{\cs{cleardoublepage} or \cs{clearpage} only, if
+% not \opt{leveldown}}
% Macro to make the index heading and preamble.
% \begin{macrocode}
\newcommand*{\idx@heading}{%
-%<report|book> \if@openright\cleardoublepage\else\clearpage\fi%
+%<report|book> \ifidx@leveldown\else\if@openright\cleardoublepage\else\clearpage\fi\fi
\twocolumn[%
%<report|book> \@chaptertolistsfalse
\idx@@heading{\indexname}]%
- \ifidx@leveldown
-%<report|book> \addsecmark{\indexname}%
-%<*article>
- \begingroup
- \c@secnumdepth=-\maxdimen
- \subsectionmark{\indexname}%
- \endgroup
-%</article>
- \else
- \@mkdouble{\MakeMarkcase{\indexname}}%
- \fi
+ \idx@@mark{\indexname}%
}
% \end{macrocode}
% \end{macro}