summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-21 03:01:00 +0000
committerNorbert Preining <norbert@preining.info>2021-03-21 03:01:00 +0000
commit86a0e007d01f87228d2363faf90a2a3b65cf758f (patch)
tree50ff3b4e1bfbe05e95441645de9d55048feb01bc /macros/latex/contrib/koma-script/source
parentd3b06b2254431c03e127876a07ae654091314c72 (diff)
CTAN sync 202103210300
Diffstat (limited to 'macros/latex/contrib/koma-script/source')
-rw-r--r--macros/latex/contrib/koma-script/source/Makefile14
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-basics.dtx225
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx10
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx16
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx68
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx14
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx22
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx115
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-sections.dtx30
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-version.dtx4
-rw-r--r--macros/latex/contrib/koma-script/source/scrlayer-fancyhdr.dtx553
-rw-r--r--macros/latex/contrib/koma-script/source/scrlayer.dtx93
-rw-r--r--macros/latex/contrib/koma-script/source/scrlfile-hook.dtx34
-rw-r--r--macros/latex/contrib/koma-script/source/scrlfile.dtx45
14 files changed, 529 insertions, 714 deletions
diff --git a/macros/latex/contrib/koma-script/source/Makefile b/macros/latex/contrib/koma-script/source/Makefile
index cd385982da..1fc53353d7 100644
--- a/macros/latex/contrib/koma-script/source/Makefile
+++ b/macros/latex/contrib/koma-script/source/Makefile
@@ -1,6 +1,6 @@
# ======================================================================
# Makefile
-# Copyright (c) Markus Kohm, 2002-2020
+# Copyright (c) Markus Kohm, 2002-2021
#
# This file is part of the LaTeX2e KOMA-Script bundle.
#
@@ -18,7 +18,7 @@
# This work consists of all files listed in manifest.txt.
# ----------------------------------------------------------------------
# Makefile
-# Copyright (c) Markus Kohm, 2002-2020
+# Copyright (c) Markus Kohm, 2002-2021
#
# Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
# Version 1.3c, verteilt und/oder veraendert werden.
@@ -138,8 +138,7 @@ CLS_MAIN = scrbook.cls \
KakuLL.lco \
scrlayer.sty \
scrlayer-scrpage.sty \
- scrlayer-notecolumn.sty \
- scrlayer-fancyhdr.sty
+ scrlayer-notecolumn.sty
CLS_MAIN_DTX = scrkernel-basics.dtx \
scrkernel-bibliography.dtx \
@@ -178,8 +177,7 @@ CLS_MAIN_DTX = scrkernel-basics.dtx \
tocbasic.dtx \
scrlayer.dtx \
scrlayer-scrpage.dtx \
- scrlayer-notecolumn.dtx \
- scrlayer-fancyhdr.dtx
+ scrlayer-notecolumn.dtx
STATIC_DOC = README \
INSTALL.txt \
@@ -195,9 +193,9 @@ CLS_MAIN_INS = scrmain.ins
CLS_MAIN_SUBINS = scrstrip.inc scrstrop.inc scrdocstrip.tex
-ALPHA_INS = scrlayer-fancyhdr.dtx
+ALPHA_INS =
-ALPHA_DOC = scrlayer-fancyhdr.pdf
+ALPHA_DOC =
ALPHA_DTX = $(subst .pdf,.dtx,$(ALPHA_DOC))
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
index 6a65c8fc81..fa5cb5e9a6 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -36,7 +36,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrkernel-basics.dtx 3527 2020-09-11 09:44:32Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 3578 2021-03-12 16:50:00Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -46,7 +46,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-11 11:44:32 +0200 (Fri, 11 Sep 2020) $
+ \filedate$Date: 2021-03-12 17:50:00 +0100 (Fri, 12 Mar 2021) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\xdef\fileinfo{\filedate\space\filerevision\space}
@@ -139,6 +139,15 @@
% unabhängig voneinander verwendet werden. Selbstverständlich kann man dieses
% Paket auch ohne den Rest von \KOMAScript{} zum Einsatz bringen.
%
+% \selectlanguage{english}
+% \subsection{Functions not yet in the Manual}
+%
+% \DescribeMacro\IfLTXAtLeastTF
+% \marginpar{\raggedleft\tiny New: 2021-01-31}%
+% This is the same like \cs{IfFormatAtLeast} of \LaTeX{} from 2020/10/01, but
+% works also with older \LaTeX{} kernels.
+%
+% \selectlanguage{ngerman}
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
@@ -265,6 +274,22 @@
%</base>
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\IfLTXAtLeastTF}
+% \changes{v3.33}{2021/01/21}{new}
+% This is the same like \cs{IfFormatAtLeastTF} of the current \LaTeX{} kernel,
+% but does also work, if \cs{IfFormatAtLeastTF} is not defined because of
+% very old \LaTeX{} kernel.
+% \begin{macrocode}
+%<*base>
+\newcommand*{\IfLTXAtLeastTF}{\@ifl@t@r\fmtversion}
+\ifcsname IfFormatAtLeastTF\endcsname
+ \let\IfLTXAtLeastTF\IfFormatAtLeastTF
+\fi
+\@onlypreamble\IfLTXAtLeastTF
+%</base>
+% \end{macrocode}
+% \end{macro}
% \selectlanguage{ngerman}
%
%
@@ -550,8 +575,8 @@
\expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{\do{{#2}{#3}}}%
}%
}
-% \end{macrocode}
%</koma>
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\KOMA@kav@xadd}
@@ -570,8 +595,8 @@
\expandafter{\expandafter\do\expandafter{\reserved@a}}%
}%
}
-% \end{macrocode}
%</koma>
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\KOMA@kav@remove}
@@ -826,19 +851,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\FamilyProcessOptions}
-% \changes{v3.00}{2008/04/30}{Neue Anweisung}%
-% \changes{v3.11a}{2012/06/11}{Klassen melden falsche Werte nicht
-% selbst als Fehler, sondern informieren nur darüber}%^^A
-% \changes{v3.12}{2013/03/04}{Fehlerbehandlung}%^^A
-% Es ist zu beachten, dass falsche Werte für Optionen grundsätzlich nicht in
-% der Verarbeitung der Optionen per Info, Warnung oder Fehler gemeldet werden
-% sollten, sondern über setzen von \cs{FamilyKeyState}. Erst, wenn auch andere
-% Familienmitglieder den Wert nicht verarbeiten können, ergibt sich daraus
-% ggf. eine Meldung, die dann von der Verarbeitung hier erzeugt wird.
-% Es wird darauf hingewiesen, dass diese Anweisung nicht reentrant ist. Das
-% bedeutet, dass man es innerhalb der eigenen Ausführung nicht erneut aufrufen
-% darf.
% \begin{macro}{\scr@removeunused}
% \changes{v3.10}{2011/09/12}{neu (intern)}%
% \changes{v3.12}{2013/03/04}{entfernt}%^^A
@@ -851,8 +863,136 @@
% \changes{v3.12}{2013/03/04}{entfernt}%
% \end{macro}%^^A \scr@pti@ntest
% \end{macro}%^^A \scr@optiontest
+%
+% \begin{macro}{\FamilyProcessOptions}
+% \changes{v3.00}{2008/04/30}{Neue Anweisung}
+% \changes{v3.11a}{2012/06/11}{Klassen melden falsche Werte nicht
+% selbst als Fehler, sondern informieren nur darüber}
+% \changes{v3.12}{2013/03/04}{Fehlerbehandlung}
+% Es ist zu beachten, dass falsche Werte für Optionen grundsätzlich nicht in
+% der Verarbeitung der Optionen per Info, Warnung oder Fehler gemeldet werden
+% sollten, sondern über setzen von \cs{FamilyKeyState}. Erst, wenn auch andere
+% Familienmitglieder den Wert nicht verarbeiten können, ergibt sich daraus
+% ggf. eine Meldung, die dann von der Verarbeitung hier erzeugt wird.
+% Es wird darauf hingewiesen, dass diese Anweisung nicht reentrant ist. Das
+% bedeutet, dass man es innerhalb der eigenen Ausführung nicht erneut aufrufen
+% darf.
+% \selectlanguage{english}%
+% \changes{v3.33}{2021/03/02}{new version using raw options lists of \LaTeX{}
+% 2021/05/01}
% \begin{macrocode}
%<*base>
+\IncludeInRelease{2021/05/01}{\FamilyProcessOptions}{%
+ Usage of raw option list}
+\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{%
+% \end{macrocode}
+% Before processing of the options we have to execute an initialise several
+% hooks:
+% \begin{macrocode}
+ \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions
+ \PackageError{scrbase}{nested \string\FamilyProcessOptions\space
+ detected\MessageBreak}{%
+ \string\FamilyProcessOptions\space has been used while processing or
+ setting options.\MessageBreak
+ This is currently not allowed. You should contact the author of the
+ causing\MessageBreak
+ code.\MessageBreak
+ This error is fatal. You should not continue.%
+ }%
+ \fi
+ \scr@ifundefinedorrelax{scr@before@process@options@#2@hook}{}{%
+ \@nameuse{scr@before@process@options@#2@hook}%
+ }%
+ \scr@ifundefinedorrelax{scr@before@process@options@#2#1@hook}{}{%
+ \@nameuse{scr@before@process@options@#2#1@hook}%
+ \expandafter\let\csname scr@before@process@options@#2#1@hook\endcsname
+ \relax
+ }%
+ \scr@ifundefinedorrelax{scr@after@options@#2@hook}{%
+ \@namedef{scr@after@options@#2@hook}{%
+ \@namedef{scr@after@options@#2@hook}{}%
+ }%
+ }{%
+ \expandafter\edef\csname scr@after@options@#2@hook\endcsname{%
+ \noexpand\@namedef{scr@after@options@#2@hook}{%
+ \unexpanded\expandafter\expandafter\expandafter
+ {\csname scr@after@options@#2@hook\endcsname}%
+ }%
+ }%
+ }%
+ \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions@immediate
+ \@namedef{scr@after@options@#2@hook@topmost}{%
+ \@namedef{scr@after@options@#2@hook@topmost}{}%
+ }%
+ \expandafter\l@addto@macro\csname scr@after@options@#2@hook\endcsname{%
+ \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions@immediate
+ \@nameuse{scr@after@options@#2@hook@topmost}%
+ }%
+ \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions
+ \fi
+ \let\ds@\@empty
+% \end{macrocode}
+% Here we set up \cs{@curroptions} to the raw options of the current class or
+% package or empty if the options are not defined.
+% \begin{macrocode}
+ \@ifundefined{@raw@opt@\@currname.\@currext}{%
+ \let\@curroptions\@empty
+ }{%
+ \expandafter\let\expandafter\@curroptions
+ \csname @raw@opt@\@currname.\@currext\endcsname
+ }%
+% \end{macrocode}
+% If this is not a class, we first have to process all raw class options.
+% \changes{v3.33}{2021/03/12}{switched to fast test like \LaTeX{} 2021/05/01}
+% \begin{macrocode}
+ \ifx\@currext\@clsextension\else
+ \@for\CurrentOption:=\@raw@classoptionslist\do{%
+ \scr@trim@spaces\CurrentOption
+ \ifx\CurrentOption\@empty\else
+ \@ifundefined{ds@\CurrentOption}{%
+ \scr@ifprocess@curroption{#1}{#2}{%
+ \@expandtwoargs\@removeelement{%
+ \expandafter\@remove@eq@value\CurrentOption=\@nil}%
+ \@unusedoptionlist\@unusedoptionlist
+ }{}%
+ }{%
+ \@use@ption
+ \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+ }%
+ \fi
+ }%
+ \fi
+% \end{macrocode}
+% Afterwards we have to process the current options.
+% \begin{macrocode}
+ \@for\CurrentOption:=\@curroptions\do{%
+ \scr@trim@spaces\CurrentOption
+ \@ifundefined{ds@\CurrentOption}{%
+ \@use@ption
+ \scr@ifprocess@curroption{#1}{#2}{}\default@ds
+ }\@use@ption
+ }%
+% \end{macrocode}
+% Clear all the definitions for declared options and the current option. Then
+% reset the marker macro, initiate emptying the unprocessed options list of
+% the current file and execute the exit hook.
+% \begin{macrocode}
+ \@for\CurrentOption:=\@declaredoptions\do{%
+ \expandafter\let\csname ds@\CurrentOption\endcsname\relax}%
+ \let\CurrentOption\@empty
+ \let\@fileswith@pti@ns\@@fileswith@pti@ns
+ \AtEndOfPackage{\expandafter\let
+ \csname unprocessedoptions-\@currname.\@currext\endcsname
+ \relax}%
+ \@nameuse{scr@after@options@#2@hook}%
+}
+\EndIncludeInRelease
+% \end{macrocode}
+% And here the old version for old \LaTeX{} kernel version:
+% \selectlanguage{ngerman}%
+% \begin{macrocode}
+\IncludeInRelease{0000/00/00}{\FamilyProcessOptions}{%
+ compatibility for LaTeX before 2021/05/01}
\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{%
\ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions
\PackageError{scrbase}{nested \string\FamilyProcessOptions\space
@@ -1027,12 +1167,19 @@
% Fast zum Schluss wird wir im \LaTeX-Kern der Optionencode für alle
% deklarierten \LaTeX-Optionen gelöscht und dafür gesorgt, dass nach dem Paket
% keine unverarbeiteten Optionen mehr vorhanden sind.
+% \changes{v3.33}{2021/02/15}{prepared for \LaTeX{} 2020/10/01}
% \begin{macrocode}
\@for\CurrentOption:=\@declaredoptions\do{%
\expandafter\let\csname ds@\CurrentOption\endcsname\relax}%
\let\CurrentOption\@empty
\let\@fileswith@pti@ns\@@fileswith@pti@ns
- \AtEndOfPackage{\let\@unprocessedoptions\relax}%
+ \IfLTXAtLeastTF{2020/10/01}{%
+ \AtEndOfPackage{\expandafter\let
+ \csname unprocessedoptions-\@currname.\@currext\endcsname
+ \relax}%
+ }{%
+ \AtEndOfPackage{\let\@unprocessedoptions\relax}%
+ }%
% \end{macrocode}
% Jetzt muss noch der Hook ausgeführt und wieder gelöscht werden.
% \changes{v3.23}{2017/02/16}{Korrektur: Haken danach verwendet die Familie
@@ -1040,6 +1187,7 @@
% \begin{macrocode}
\@nameuse{scr@after@options@#2@hook}%
}
+\EndIncludeInRelease
\@onlypreamble\FamilyProcessOptions
% \end{macrocode}
% \begin{macro}{\BeforeFamilyProcessOptions}
@@ -1247,6 +1395,25 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\scr@trim@spaces}
+% \changes{v3.12}{2013/11/06}{neu (intern)}
+% \changes{v3.26}{2018/08/29}{von \texttt{scrkernel-language.dtx} nach
+% \texttt{scrkernel-basics.dtx} verschoben}
+% \changes{v3.33}{2021/03/02}{moved to preparation section}
+% Diese Hilfsanweisung entfernt führende und abschließende
+% Leerzeichen. Argument ist die Anweisung, deren Inhalt von den Leerzeichen
+% befreit werden soll. Gedacht ist das ganze für die Listenverarbeitung mit
+% Hilfe von \cs{@for}. Als Argument wird ein Makro übergeben, in dessen
+% Definition führende und abschließende space-Tokens entfernt werden sollen.
+% \begin{macrocode}
+%<*base>
+\newcommand\scr@trim@spaces[1]{%
+ \expandafter\scr@sp@def\expandafter#1\expandafter{#1}%
+}
+%</base>
+% \end{macrocode}
+% \end{macro}%^^A \scr@trim@space
+%
% \iffalse
%</prepare>
%<*option>
@@ -1362,24 +1529,6 @@
% \end{macro}%^^A \scr@ForEachTrimmedListElement
% \selectlanguage{ngerman}%^^A
%
-% \begin{macro}{\scr@trim@spaces}
-% \changes{v3.12}{2013/11/06}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{von \texttt{scrkernel-language.dtx} nach
-% \texttt{scrkernel-basics.dtx} verschoben}%^^A
-% Diese Hilfsanweisung entfernt führende und abschließende
-% Leerzeichen. Argument ist die Anweisung, deren Inhalt von den Leerzeichen
-% befreit werden soll. Gedacht ist das ganze für die Listenverarbeitung mit
-% Hilfe von \cs{@for}. Als Argument wird ein Makro übergeben, in dessen
-% Definition führende und abschließende space-Tokens entfernt werden sollen.
-% \begin{macrocode}
-%<*base>
-\newcommand\scr@trim@spaces[1]{%
- \expandafter\scr@sp@def\expandafter#1\expandafter{#1}%
-}
-%</base>
-% \end{macrocode}
-% \end{macro}%^^A \scr@trim@space
-%
% \begin{macro}{\if@atdocument}
% \changes{v2.95}{2002/12/05}{neuer Schalter}%^^A
% \begin{macro}{\@atdocumenttrue}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
index 2a3e3c981b..073c7e1e55 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{225}
+% \CheckSum{226}
% \iffalse meta-comment
% ======================================================================
% scrkernel-compatibility.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-compatibility.dtx 3515 2020-08-06 16:16:31Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3547 2021-01-01 12:08:50Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<option>%%% (run: option)
@@ -65,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2020-08-06 18:16:31 +0200 (Thu, 06 Aug 2020) $
+ \filedate$Date: 2021-01-01 13:08:50 +0100 (Fri, 01 Jan 2021) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\edef\reserved@a{%
@@ -434,6 +434,8 @@
% \changes{v3.31}{2020/04/26}{Neues Macro}
% \begin{macro}{\scr@v@3.32}
% \changes{v3.32}{2020/08/06}{Neues Macro}
+% \begin{macro}{\scr@v@3.33}
+% \changes{v3.33}{2021/01/01}{Neues Macro}
% \begin{macro}{\scr@v@last}
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
% Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die
@@ -515,6 +517,7 @@
\@namedef{scr@v@3.30}{17}
\@namedef{scr@v@3.31}{18}
\@namedef{scr@v@3.32}{18}
+\@namedef{scr@v@3.33}{18}
\@namedef{scr@v@last}{18}
% \end{macrocode}
% \end{macro}
@@ -580,6 +583,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
index e49f0f8431..a13091ba47 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{476}
% \iffalse meta-comment
% ======================================================================
% scrkernel-footnotes.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-footnotes.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-footnotes.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrkernel-footnotes.dtx 3570 2021-02-24 10:08:31Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,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-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2021-02-24 11:08:31 +0100 (Wed, 24 Feb 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\edef\reserved@a{%
@@ -662,7 +661,9 @@
% \subsection{Fußnotenreferenz}
%
% \begin{macro}{\footref}
-% \changes{v2.98c}{2008/02/01}{Neue Anweisung}%^^A
+% \changes{v2.98c}{2008/02/01}{Neue Anweisung}
+% \changes{v3.33}{2021/02/24}{classes use \cs{providecommand} because of
+% \LaTeX{} 2021-05-01}
% Damit man nicht nur zu diesem Zweck das Paket \textsf{footmisc} laden muss,
% kann man jetzt auch mit \KOMAScript{} alleine Fußnoten setzen, die
% Referenzen auf andere Fußnoten sind. Der Code stammt einerseits aus footmisc
@@ -671,8 +672,7 @@
% LPPL und \KOMAScript{} steht ebenfalls unter LPPL. Das sollte also im
% Zweifelsfall nicht das Problem sein.
% \begin{macrocode}
-%<class>\newcommand*{\footref}[1]{%
-%<package>\providecommand*{\footref}[1]{%
+\providecommand*{\footref}[1]{%
\begingroup
\unrestored@protected@xdef\@thefnmark{\ref{#1}}%
\endgroup
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
index a20f0aca5d..da04fa553c 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{316}
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsandtabulars.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-listsandtabulars.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-listsandtabulars.dtx 3394 2019-11-19 11:56:28Z kohm $
+%%% From File: $Id: scrkernel-listsandtabulars.dtx 3563 2021-02-15 18:40:44Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,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-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $
+ \filedate$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1872 $
\edef\reserved@a{%
@@ -226,13 +225,21 @@
% \begin{macro}{\p@enumiii}
% \begin{macro}{\p@enumiv}
% \begin{macro}{\labelitemi}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}%^^A
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% \changes{v3.33}{2021/02/15}{Usage of new font element
+% \texttt{labelitemi}}
% \begin{macro}{\labelitemii}
% \changes{v2.5g}{1999/10/09}{\cs{textendash} verwendet}
+% \changes{v3.33}{2021/02/15}{Usage of new font element
+% \texttt{labelitemii}}
% \begin{macro}{\labelitemiii}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}%^^A
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% \changes{v3.33}{2021/02/15}{Usage of new font element
+% \texttt{labelitemiii}}
% \begin{macro}{\labelitemiv}
-% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}%^^A
+% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert}
+% \changes{v3.33}{2021/02/15}{Usage of new font element
+% \texttt{labelitemiv}}
% Für die numerierten Listenumgebungen müssen Marken bzw. Numerierungen
% festgelegt werden. Dazu wird eine Darstellung der Zähler, ihr Prefix
% und ihre Labeldarstellung neu definiert.
@@ -248,10 +255,10 @@
\renewcommand*\p@enumii{\theenumi}
\renewcommand*\p@enumiii{\p@enumii(\theenumii)}
\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
-\newcommand*\labelitemi{\textbullet}
-\newcommand*\labelitemii{\normalfont\bfseries\textendash}
-\newcommand*\labelitemiii{\textasteriskcentered}
-\newcommand*\labelitemiv{\textperiodcentered}
+\newcommand*\labelitemi{\usekomafont{labelitemi}{\textbullet}}
+\newcommand*\labelitemii{\usekomafont{labelitemii}{\textendash}}
+\newcommand*\labelitemiii{\usekomafont{labelitemiii}{\textasteriskcentered}}
+\newcommand*\labelitemiv{\usekomafont{labelitemiv}{\textperiodcentered}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -510,6 +517,43 @@
% \end{macrocode}
% \end{macro}
%
+% \selectlanguage{english}
+% \begin{KOMAfont}{itemizelabel}
+% \changes{v3.33}{2021/02/15}{new font element}
+% \begin{KOMAfont}{labelitemi}
+% \changes{v3.33}{2021/02/15}{new font element}
+% \begin{KOMAfont}{labelitemii}
+% \changes{v3.33}{2021/02/15}{new font element}
+% \begin{KOMAfont}{labelitemiii}
+% \changes{v3.33}{2021/02/15}{new font element}
+% \begin{KOMAfont}{labelitemiv}
+% \changes{v3.33}{2021/02/15}{new font element}
+% \begin{macro}{\labelitemfont}
+% \changes{v3.33}{2021/02/15}{new}
+% Due to a change in the LaTeX kernel 2020/02/02 the \texttt{itemize} items
+% react on font changes. For this the standard classes have been changed to
+% set the item \emph{bullets} using \cs{labelitemfont} which is
+% \cs{normalfont} by default. I've adapted this using also \cs{labelitemfont}
+% for compatibility but only to store the font of font element
+% \texttt{itemizelabel} which is the default of the level depending font
+% elements. \texttt{itemlabelii} differs, because the default \cs{textendash}
+% should be bold.
+% \begin{macrocode}
+\newcommand*{\labelitemfont}{\normalfont}
+\newcommand*\scr@fnt@itemizelabel{\labelitemfont}
+\newkomafont{labelitemi}{\usekomafont{itemizelabel}}
+\newkomafont{labelitemii}{\usekomafont{itemizelabel}\bfseries}
+\newkomafont{labelitemiii}{\usekomafont{itemizelabel}}
+\newkomafont{labelitemiv}{\usekomafont{itemizelabel}}
+% \end{macrocode}
+% \end{macro}
+% \end{KOMAfont}
+% \end{KOMAfont}
+% \end{KOMAfont}
+% \end{KOMAfont}
+% \end{KOMAfont}
+% \selectlanguage{ngerman}
+%
% \begin{KOMAfont}{labelinglabel}
% \changes{v3.02}{2009/01/01}{neues Element}%^^A
% \begin{KOMAfont}{labelingseparator}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx b/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx
index e7fdedb011..5c5f5ee4a1 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-miscellaneous.dtx 3514 2020-08-06 16:14:53Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 3554 2021-01-28 15:40:05Z kohm $
%<init>%%% (run: init)
%<option>%%% (run: option)
%<execoption>%%% (run: execoption)
@@ -64,9 +64,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-08-06 18:14:53 +0200 (Thu, 06 Aug 2020) $
+ \filedate$Date: 2021-01-28 16:40:05 +0100 (Thu, 28 Jan 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3514 $
+ \filerevision$Revision: 3554 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}%
@@ -1209,7 +1209,7 @@
% the section commands code from a standard class.
% \begin{macrocode}
%<*ignorethis>
- \@ifpackagelater{titlesec}{2016/03/22}{%
+ \@ifpackagelater{titlesec}{2019/10/17}{%
\ClassInfo{\KOMAClassName}{%
Deactivating the `titlesec' workaround,\MessageBreak
because package is newer than expected%
@@ -1269,7 +1269,7 @@
\let\scr@ttl@@extract\relax
}%
%</ignorethis>
- \@ifpackagelater{titlesec}{2019/07/17}{%
+ \@ifpackagelater{titlesec}{2019/10/17}{%
\ClassInfo{\KOMAClassName}{Unknown `titesec' release.\MessageBreak
Cross your fingers, that is compatible%
}%
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
index 651bc7d50b..72171d8a70 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2020
+% Copyright (c) Markus Kohm, 2006-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2020
+% Copyright (c) Markus Kohm, 2006-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-notepaper.dtx 3472 2020-03-27 11:01:45Z kohm $
+%%% From File: $Id: scrkernel-notepaper.dtx 3577 2021-03-05 10:17:58Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -62,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-03-27 12:01:45 +0100 (Fri, 27 Mar 2020) $
+ \filedate$Date: 2021-03-05 11:17:58 +0100 (Fri, 05 Mar 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1767 $
\edef\reserved@a{%
@@ -4712,27 +4712,29 @@
%
% \begin{macro}{\stopbreaks}
% \begin{macro}{\startbreaks}
+% \changes{v3.33}{2021/03/05}{\cs{relax} added}
% \begin{macro}{\@nobreakvspace}
% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% ersetzt}
+% \changes{v3.33}{2021/03/05}{robust definition}
% \begin{macro}{\@nobreakvspacex}
% \begin{macro}{\@nobreakcr}
% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% ersetzt}
+% \changes{v3.33}{2021/03/05}{simplified}
% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt.
% Dadurch soll der Brieftext besser positioniert werden.
% \begin{macrocode}
\newcommand*{\stopbreaks}{\interlinepenalty \@M
\def\par{\@@par\nobreak}\let\\=\@nobreakcr
\let\vspace\@nobreakvspace}
-\newcommand*{\@nobreakvspace}{%
+\DeclareRobustCommand*{\@nobreakvspace}{%
\kernel@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
\newcommand*{\@nobreakvspacex}[1]{\ifvmode\nobreak\vskip #1\relax\else
\@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
-\newcommand*{\@nobreakcr}{%
- \vadjust{\penalty\@M}\kernel@ifstar{\@xnewline}{\@xnewline}}
+\newcommand*{\@nobreakcr}{\kernel@ifstar{\@normalcr*}{\@normalcr*}}
\newcommand*{\startbreaks}{\let\\=\@normalcr
- \interlinepenalty 200\def\par{\@@par\penalty 200}}
+ \interlinepenalty 200\def\par{\@@par\penalty 200\relax}}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
index fa4079ac05..eab08b90ca 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{721}
% \iffalse meta-comment
% ======================================================================
% scrkernel-paragraphs.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-paragraphs.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-paragraphs.dtx 3262 2019-10-10 08:25:29Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 3552 2021-01-21 09:52:21Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,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: 2021-01-21 10:52:21 +0100 (Thu, 21 Jan 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1872 $
\edef\reserved@a{%
@@ -465,16 +464,52 @@
% \end{Length}
%
% \begin{macro}{\selectfont}
-% \changes{v2.95}{2004/11/05}{neue Änderung}%^^A
+% \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/01/05 use hook instead of
+% patch}
+% \begin{macrocode}
+\IfLTXAtLeastTF{2021/01/05}{%
+ \AddToHook{selectfont}{\par@update}%
+ \AfterPackage{everysel}{%
+ \IfPackageAtLeastTF{everysel}{2021/01/18}{}{%
+ \ClassError{\KOMAClassName}{%
+ incompatible `everysel' detected
+ }{%
+ You are using an old version of `everysel' in combination with a
+ LaTeX\MessageBreak
+ version >= 2021/01/05 and KOMA-Script >= 3.33. This combination
+ is\MessageBreak
+ not supported.\MessageBreak
+ You could switch back to an older LaTeX using package
+ `latexrelease'.\MessageBreak
+ But I recommend to update `everysel'%
+ }%
+ }%
+ }%
+ \AfterPackage{tracefnt}{%
+ \IfPackageAtLeastTF{tracefnt}{2020/12/22}{}{%
+ \ClassError{\KOMAClassName}{%
+ incompatible `tracefnt' detected
+ }{%
+ `tracefnt' is a LaTeX base package and therefore should be updated
+ together\MessageBreak
+ with LaTeX kernel. So this should never happen! Please check
+ your\MessageBreak
+ LaTeX installation%
+ }%
+ }%
+ }%
+}{%
+% \end{macrocode}
+% \changes{v2.95}{2004/11/05}{neue Änderung}
% Spätestens ab Version~3.0 soll die Möglichkeit bestehen, |\parskip|,
% |\parindent| und |\parfillskip| mit der Schriftgröße automatisch
% anzupassen. Dazu muss |\selectfont| entsprechend erweitert werden.
% \begin{macro}{\scr@selectfont}
-% \changes{v2.95}{2006/04/14}{neue Erweiterung}%^^A
+% \changes{v2.95}{2006/04/14}{neue Erweiterung}
% \changes{v3.10}{2010/09/28}{\textsf{everysel}-Behandlung korrigiert}
% \changes{v3.10}{2010/09/28}{\textsf{tracefnt}-Behandlung hinzugefügt}
% \begin{macro}{\scr@new@selectfont}
-% \changes{v2.95}{2006/04/14}{neue Erweiterung}%^^A
+% \changes{v2.95}{2006/04/14}{neue Erweiterung}
% \changes{v3.10}{2010/09/28}{\textsf{everysel}-Behandlung korrigiert}
% \changes{v3.10}{2010/09/28}{\textsf{tracefnt}-Behandlung hinzugefügt}
% \changes{v3.10b}{2011/03/13}{\textsf{everysel} kann jetzt auch während
@@ -482,51 +517,53 @@
% Damit das auch bei Verwendung des \textsf{everysel}-Pakets funktioniert,
% wird hier zusätzliche Vorsorge getroffen.
% \begin{macrocode}
-\newcommand*{\scr@selectfont}{}
-\expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname
-\BeforePackage{everysel}{%
- \AtBeginDocument{%
- \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont\else
- \ClassWarningNoLine{\KOMAClassName}{discard change of \string\selectfont}%
- \fi
- \expandafter\let\csname selectfont \endcsname\scr@selectfont
+ \newcommand*{\scr@selectfont}{}
+ \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname
+ \BeforePackage{everysel}{%
+ \AtBeginDocument{%
+ \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont\else
+ \ClassWarningNoLine{\KOMAClassName}{%
+ discard change of \string\selectfont}%
+ \fi
+ \expandafter\let\csname selectfont \endcsname\scr@selectfont
+ }%
}%
-}
-\AfterPackage{everysel}{%
- \scr@ifundefinedorrelax{@EverySelectfont@Init}{%
+ \AfterPackage{everysel}{%
+ \scr@ifundefinedorrelax{@EverySelectfont@Init}{%
% \end{macrocode}
% Jetzt gibt es zwei Möglichkeiten: Entweder wurde ein \textsf{everysel}
% verwendet, bei dem alles anders funktioniert, oder es wurde während
% \cs{begin}\marg{document} geladen. In beiden Fällen versuchen wir einen
% direkten Patch:
% \begin{macrocode}
- \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont
- \ClassWarningNoLine{\KOMAClassName}{%
- \string\selectfont\space already changed}%
- \else
- \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
- \expandafter\let\expandafter\scr@new@selectfont
- \csname selectfont \endcsname
- \fi
- }{%
+ \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont
+ \ClassWarningNoLine{\KOMAClassName}{%
+ \string\selectfont\space already changed}%
+ \else
+ \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
+ \expandafter\let\expandafter\scr@new@selectfont
+ \csname selectfont \endcsname
+ \fi
+ }{%
% \end{macrocode}
% In diesem Fall muss hingegen indirekt gepatcht werden.
% \begin{macrocode}
- \g@addto@macro\@EverySelectfont@Init{%
- \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
- \expandafter\let\expandafter\scr@new@selectfont
- \csname selectfont \endcsname
+ \g@addto@macro\@EverySelectfont@Init{%
+ \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
+ \expandafter\let\expandafter\scr@new@selectfont
+ \csname selectfont \endcsname
+ }%
}%
}%
-}
-\AfterPackage{tracefnt}{%
- \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname
- \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
+ \AfterPackage{tracefnt}{%
+ \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname
+ \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}%
+ \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname
+ }%
+ \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}
+ \newcommand*{\scr@new@selectfont}{}
\expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname
}
-\expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}
-\newcommand*{\scr@new@selectfont}{}
-\expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
index d6ea3faa9b..5476cb045e 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-sections.dtx 3543 2020-09-14 16:21:00Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3567 2021-02-17 10:01:38Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -77,9 +77,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-14 18:21:00 +0200 (Mon, 14 Sep 2020) $
+ \filedate$Date: 2021-02-17 11:01:38 +0100 (Wed, 17 Feb 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3543 $
+ \filerevision$Revision: 3567 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-sections.dtx}%
@@ -3277,7 +3277,29 @@
}{bookmark}\MessageBreak
before \string\begin{document}%
}%
- \RequirePackage{bookmark}%
+% \end{macrocode}
+% \changes{v3.33}{2021/02/17}{workaround for catcode changes of
+% \textsf{babel-spanish}}
+% For \textsf{babel-spanish} we need to deactivate quoting before loading
+% \textsf{bookmark}.
+% \begin{macrocode}
+ \@ifundefined{es@quoting}{%
+ \RequirePackage{bookmark}%
+ }{%
+ \ifx\es@quoting\activatequoting
+ \ClassInfo{\KOMAClassName}{%
+ temporary deactivation of babel-spanish quoting
+ }%
+ \deactivatequoting
+ \RequirePackage{bookmark}%
+ \ClassInfo{\KOMAClassName}{%
+ reactivation of babel-spanish quoting
+ }%
+ \activatequoting
+ \else
+ \RequirePackage{bookmark}%
+ \fi
+ }%
% \end{macrocode}
% \changes{v3.26b}{2019/01/17}{workaround for \cs{@beginmainauxhook} added}%^^A
% Sometimes \textsf{auxhook} is not able to recognize that it cannot use a
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
index 8b1383e76c..6bf55b7795 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-version.dtx 3545 2020-09-21 07:45:07Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 3586 2021-03-17 13:57:48Z kohm $
% \fi
%
% \iffalse
@@ -123,7 +123,7 @@
\fi
%</ignorethis>
\fi
- \@CheckKOMAScriptVersion{2020/09/21 v3.32 KOMA-Script}%
+ \@CheckKOMAScriptVersion{2021/03/17 v3.33 KOMA-Script}%
\endgroup
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrlayer-fancyhdr.dtx b/macros/latex/contrib/koma-script/source/scrlayer-fancyhdr.dtx
deleted file mode 100644
index 830d9f2052..0000000000
--- a/macros/latex/contrib/koma-script/source/scrlayer-fancyhdr.dtx
+++ /dev/null
@@ -1,553 +0,0 @@
-% \iffalse^^A meta-comment
-% ======================================================================
-% scrlayer-fancyhdr.dtx
-% Copyright (c) Markus Kohm, 2019
-%
-% 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 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 and
-% `scrlayer-fancyhdr.dtx'.
-% ----------------------------------------------------------------------
-% scrlayer-fancyhdr.dtx
-% Copyright (c) Markus Kohm, 2019
-%
-% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
-%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c.
-% 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 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
-% sowie `scrlayer-fancyhdr.dtx'.
-% ======================================================================
-% \fi^^A meta-comment
-%
-% \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^^A meta-comment
-%%% From File: $Id: scrlayer-fancyhdr.dtx 3138 2019-04-04 06:24:53Z kohm $
-%<identify>%%% (run: identify)
-%<init>%%% (run: init)
-%<options>%%% (run: options)
-%<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: 2019-04-04 08:24:53 +0200 (Thu, 04 Apr 2019) $
- \def\filerevision$#1: #2 ${\gdef\filerevision{v0.1.#2 ALPHA}}
- \filerevision$Revision: 3138 $
- \edef\reserved@a{%
- \noexpand\endgroup
- \noexpand\ProvidesFile{scrlayer-fancyhdr.dtx}%
- [\filedate\space\filerevision\space
- KOMA-Script package source
- }%
-\reserved@a
-%</dtx>
-%<*identify>
-%<interface>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-%<interface>\ProvidesPackage{scrlayer-fancyhdr}[%
-% Sometimes following will be replaced by !KOMAScriptVersion:
-%!SCRLAYERFANCYHDRVERSION
-%<interface> package
-%</identify>
-%<*dtx|identify>
- (end user interface for scrlayer)]
-%</dtx|identify>
-%<*dtx>
-\ifx\documentclass\undefined
- \input scrdocstrip.tex
- \@@input scrkernel-version.dtx
- \@@input scrstrip.inc
- \KOMAdefVariable{COPYRIGHTFROM}{2018}
- \KOMAdefVariable{SCRLAYERFANCYHDRVERSION}{%
- \space\space\filedate\space\filerevision\space KOMA-Script
- }%
- \expandafter\let\csname ifbetawas\expandafter\endcsname
- \csname ifbeta\endcsname
- \expandafter\let\csname ifbeta\expandafter\endcsname
- \csname iftrue\endcsname
- \generate{\usepreamble\defaultpreamble
- \file{scrlayer-fancyhdr.sty}{%
- \from{scrlayer-fancyhdr.dtx}{interface,trace,fancyhdr,identify}%
- \from{scrlayer.dtx}{interface,trace,fancyhdr,init}%
- \from{scrlayer-fancyhdr.dtx}{interface,trace,fancyhdr,init}%
- \from{scrlayer.dtx}{interface,trace,fancyhdr,options}%
- \from{scrlayer-fancyhdr.dtx}{interface,trace,fancyhdr,options}%
- \from{scrlayer.dtx}{interface,trace,fancyhdr,body}%
- \from{scrlayer-fancyhdr.dtx}{interface,trace,fancyhdr,body}%
- \from{scrlogo.dtx}{logo}%
- }%
- }
- \expandafter\let\csname ifbeta\expandafter\endcsname
- \csname ifbetawas\endcsname
- \@@input scrstrop.inc
-\else
- \let\endbatchfile\relax
-\fi
-\endbatchfile
- \documentclass{scrdoc}
- \addtolength{\textwidth}{-1em}
- \addtolength{\marginparwidth}{2em}
- \addtolength{\oddsidemargin}{2em}
- \usepackage[ngerman,english]{babel}
- \usepackage{url,babelbib}\bibliographystyle{babalpha-fl}
- \usepackage{listings}
- \usepackage{scrhack}
- \usepackage{etoolbox}
- \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{}
- \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{}
- \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{}
-
- \CodelineIndex
- \RecordChanges
- \GetFileInfo{scrlayer-fancyhdr.dtx}
- \title{The \texttt{scrlayer} interface \texttt{scrlayer-fancyhdr}%
- \footnote{This is version \fileversion\ of file \texttt{\filename}.}}
- \date{\filedate}
- \author{Markus Kohm}
-
- \newenvironment{Explain}{\par}{\par}
- \newcommand*{\length}{}
- \let\length\Length
- \let\endlength\endLength
- \let\Macro\cs
- \let\Length\Macro
- \let\Package\textsf
- \let\Class\Package
- \let\File\texttt
- \let\Option\texttt
- \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}}
- \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}}
- \let\Counter\texttt
- \let\Environment\texttt
- \let\ShowOutput\quote
- \let\endShowOutput\endquote
- \let\Pagestyle\texttt
- \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]}
- \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]}
- \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]}
- \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]}
- \let\PName\meta
- \let\PValue\texttt
- \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:}
- \providecommand*{\AUTOREF}{}
- \makeatletter
- \def\AUTOREF#1:#2:{%
- \edef\@tempa{#1}%
- \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi
- \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi
- \ref{#1:#2}%
- }
- \providecommand*{\IndexCmd}[2][]{}
- \providecommand*{\textnote}[2][]{}
- \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX}
- \providecommand*\NTS{%
- \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}%
- \kern-0.2emS$}}
-
- \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{}
- \makeatother
- \sloppy% YOU SHOULD NOT DO THIS!!!
-
- \begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
- \PrintChanges
- \PrintIndex
- \end{document}
-% \fi^^A meta-comment
-%
-% \selectlanguage{english}
-%
-% \changes{v0.0}{2018/09/01}{start of interface}
-% \let\restorechapter\chapter
-% \let\chapter\section
-% \let\section\subsection
-% \let\subsection\subsubsection
-%
-% \changes{v0.0}{2018/09/05}{some user documentation}
-% \chapter{The Purpose of this Package}
-% This package has been made to give users a chance to combine the features of
-% Piet van Oostrum's \Package{fancyhdr} \cite{pkg:fancyhdr} with the features
-% of \Package{scrlayer} \cite{pkg:komascript}. In other words: It has been
-% made to combine the page layers of \Package{scrlayer} with the page styles
-% of \Package{fancyhdr}.
-%
-% In this combination compatibility with \Package{fancyhdr} is the first
-% aim! Usability and the freedom provided by \Package{scrlayer} is only the
-% second one. Compatibility with other parts of \KOMAScript{} is not a primary
-% aim. Perhaps it will become an optional feature in future. Abolishing any
-% real or virtual limitations of \Package{fancyhdr} other than make it
-% possible to use layers is not an aim and will not be an aim in future.
-%
-% If you need a better combination of page styles and layers, you should
-% either use the low level interface of \Package{scrlayer} to define your page
-% styles or\,---\,and this is the recommendation of the author\,---\,use
-% \Package{scrlayer-scrpage} instead of \Package{scrlayer-fancyhdr} or
-% \Package{fancyhdr}. If you need more compatibility with other parts of
-% \KOMAScript, i.\,e.\@ with the \KOMAScript{} classes, you should use
-% \Package{scrlayer-scrpage} instead of \Package{scrlayer-fancyhdr} or
-% \Package{fancyhdr}.
-%
-%
-% \chapter{How it works}
-% To combine \Package{fancyhdr} and \Package{scrlayer},
-% \Package{scrlayer-scrpage} loads both packages. After loading
-% \Package{fancyhdr} it redefines page style \Pagestyle{@fancy} to make it a
-% layer page style of \Package{scrlayer} using the newly defined layers
-% \texttt{fancy.head.even}, \texttt{fancy.head.odd}, \texttt{fancy.foot.even}
-% and \texttt{fancy.foot.odd}. The \texttt{\dots head\dots} layers are
-% background layers like the page head of \Package{fancyhdr}'s page styles (or
-% other usual page styles). The \texttt{\dots foot\dots} layers are foreground
-% layers like the page footer of \Package{fancyhdr}'s page styles (or other
-% usual page styles). The \texttt{\dots even} layers are restricted to even
-% pages, that means left side pages in two-sided documents. The \texttt{\dots
-% odd} layers are restricted to odd pages, that means right side pages in
-% two-sided documents or all pages in single-sided documents.
-%
-% \DescribeMacro\ps@@fancy
-% \DescribeMacro\ps@fancyplain
-% \DescribeMacro\ps@plain@fancy
-% Note: Page style \Pagestyle{@fancy} is an internal basic page style of
-% package \Package{fancyhdr}. It is used for the user page style
-% \Pagestyle{fancy}. The user page style \Pagestyle{fancy} is also used for
-% \Package{fancyhdr}'s undocumented page style \Pagestyle{fancyplain}, that
-% also redefines page style \Pagestyle{plain} to be \Package{fancyhdr}'s
-% internal page style \Pagestyle{plain@fancy}, that also uses
-% \Pagestyle{fancy} but with \Macro{if@fancyplain} set to
-% \Macro{iftrue}. There is also an undocumented command
-% \Macro{fancyplain}\Parameter{plain code}\Parameter{fancy code}, that uses
-% the \meta{plain code} if \Macro{if@fancyplain} is \Macro{iftrue} and
-% \meta{fancy code} if \Macro{if@fancyplain} is \Macro{iffalse}.
-%
-% Note: Page styles defined using \Package{fancyhdr}'s command
-% \Macro{fancypagestyle} also always use page style \Pagestyle{fancy} and so
-% the internal basic page style \Pagestyle{@fancy}.
-%
-% As a result of the two notes above, every page style of \Package{fancyhdr}
-% always uses page style \Pagestyle{fancy} and the same internal basic page
-% style \Pagestyle{@fancy}. As a result of redefining page style
-% \Pagestyle{@fancy} to be a layer page style, users can add layers to or
-% remove layers from all \Package{fancyhdr} page styles by adding layers to or
-% remove layers from page style \Pagestyle{@fancy}. You cannot add layers to
-% or remove layers from \Package{fancyhdr}'s single page styles
-% \Pagestyle{fancy}, \Pagestyle{fancyplain}, \Pagestyle{plain@fancy} or the
-% page styles defined using \Macro{fancypagestyle} directly. So using layers
-% is a all or nothing feature with \Package{scrlayer-scrpage}. However, you
-% can use the second argument of \Macro{fancypagestyle} to add or remove
-% layers whenever one of the \Package{fancyhdr} page styles is activated. So
-% this is a move from the \Package{scrlayer} interface of adding or removing
-% layers to single page styles to the \Package{fancyhdr} interface of defining
-% modifications of page style \Pagestyle{fancy}.
-%
-% Another such movement from an \Package{scrlayer} user interface to a
-% \Package{fancyhdr} user interface it the decision whether or not automatic
-% running heads are used. \Package{scrlayer} provides the options
-% \Option{automark} and \Option{manualmark} and commands \Macro{automark} and
-% \Macro{manualmark} to do this decision and also to configure commands like
-% \Macro{partmark}, \Macro{chaptermark}, \Macro{sectionmark} etc. With
-% \Package{scrlayer-fancyhdr} also using page style \Pagestyle{@fancy} does
-% switch to automatic running heads. The first activation of page style
-% \Pagestyle{fancy} still redefines \Macro{chaptermark} and
-% \Macro{sectionmark}, if a class with \Macro{chapter} is used, or
-% \Macro{sectionmark} and \Macro{subsectionmark}, if a class without
-% \Macro{chapter} is used. However, you still can use \Macro{manualmark} and
-% \Macro{automark} after switching to a \Package{fancyhdr} page style to
-% configure the running heads. So this movement is only partial.
-%
-% \DescribeMacro\ps@headings
-% \DescribeMacro\ps@myheadings
-% \DescribeMacro\ps@plain
-% Note: Currently, neither \Package{scrlayer} nor \Package{fancyhdr} nor
-% \Package{scrlayer-fancyhdr} do redefine page styles \Pagestyle{headings} or
-% \Pagestyle{myheadings}. And neither \Package{scrlayer} nor
-% \Package{fancyhdr} nor \Package{scrlayer-fancyhdr} do redefine page style
-% \Pagestyle{plain} unless you are activating the undocumented
-% \Package{fancyhdr} page style \Pagestyle{fancyplain}. So if you like to use
-% layers on \Pagestyle{plain} pages, i.\,e. usually the first page of a
-% chapter or part or the page with a title head, you have to either use
-% \Package{fancyhdr}'s undocumented page style \Pagestyle{fancyplain} or
-% redefine page style \Pagestyle{plain} either using \Macro{fancypagestyle} as
-% documented in the \Package{fancyhdr} manual or using
-% \Macro{DeclareNewPageStyleByLayers}, documented in the \KOMAScript{} manual.
-%
-% \DescribeMacro\ps@empty
-% \DescribeMacro\ps@@empty
-% Note: Pagestyle \Pagestyle{empty} is somehow special. \Package{scrlayer}
-% redefines it to be a layer page style. And \Package{fancyhdr}'s internal
-% page style \Pagestyle{@empty} is the same like \Pagestyle{empty}. So
-% \Pagestyle{@empty} also uses the layers of \Pagestyle{empty} but you should
-% not try to modify it directly using the interface of
-% \Package{scrlayer}. Moreover, if \Package{fancyhdr} is loaded before
-% \Package{scrlayer-scrpage}, \Package{fancyhdr}'s internal page style
-% \Pagestyle{@empty} is not a copy of \Package{scrlayer}'s layer page style
-% \Pagestyle{empty} but the original standard page style
-% \Pagestyle{empty}. However, with \Package{scrlayer-fancyhdr} package
-% \Package{fancyhdr} does not longer use the internal page style
-% \Pagestyle{@empty}. So you would not need to know this.
-%
-% \chapter{How to use the Package}
-%
-%^^A TODO: Remove the following alpha note.
-% First of all, this package is experimental and should not be used for
-% anything else but testing whether or not it works as documented! This
-% package even is not an official part of \KOMAScript!
-%
-% To use the package you have to load it, e.\,g., using:
-%\begin{verbatim}
-% \usepackage{scrlayer-fancyhdr}
-%\end{verbatim}
-% instead of loading \Package{scrlayer} and \Package{fancyhdr} or before or
-% after loading one of these packages. However it is recommended to replace
-% loading \Package{scrlayer} and \Package{fancyhdr} by loading
-% \Package{scrlayer-fancyhdr} because this avoids option
-% clashes. \Package{scrlayer-fancyhdr} provides all options of
-% \Package{scrlayer} and passes them to \Package{scrlayer}. Nevertheless
-% sometimes it may be useful to be able to additionally load
-% \Package{scrlayer} or \Package{fancyhdr}.
-%
-% \DescribeMacro\ps@@fancy
-% \DescribeMacro\ps@fancy
-% \DescribeMacro\ps@fancyplain
-% \DescribeMacro\ps@plain@fancy
-% \DescribeMacro\fancypagestyle
-% After this you should be able to use the page styles and commands of
-% \Package{fancyhdr} and to add layers to or remove layers from the
-% \Package{fancyhdr}'s internal basic page style \Package{@fancy}. Note, you
-% are not able to add layers to or remove layers from \Package{fancyhdr}'s
-% page styles \Pagestyle{fancy}, \Pagestyle{fancyplain},
-% \Pagestyle{plain@fancy} or page styles defined by
-% \Macro{fancypagestyle}. However adding layers to or removing layers from
-% \Pagestyle{@fancy} will always change all these page styles!
-%
-% \DescribeMacro\ps@plain
-% \DescribeMacro\ps@headings
-% \DescribeMacro\ps@myheadings
-% \DescribeMacro\ps@empty
-% Note: Loading \Package{scrlayer-fancyhdr} will not make page style
-% \Pagestyle{plain} nor \Pagestyle{headings} nor \Pagestyle{myheadings} or any
-% other page style but \Pagestyle{empty} to automatically be a layer page
-% style!
-%
-% \chapter{Known Issues}
-%
-% Please note, the follow issues are either notes to the package author or
-% notes to the user to avoid them reporting the same issues again and
-% again. Listing these issues does not say they are bugs or features.
-%
-% \begin{itemize}
-% \item
-% \DescribeMacro\ps@fancy
-% \DescribeMacro\ps@fancyplain
-% \DescribeMacro\fancypagestyle
-% \DescribeMacro\ps@@fancy
-% You are not able to add layers to the user level page style
-% \Pagestyle{fancy} or \Pagestyle{fancyplain} or any page style defined by
-% \Macro{fancypagestyle} but only to the internal page style
-% \Pagestyle{@fancy}. This is intended as explained in this manual.
-% \item
-% \DescribeMacro\ps@@empty
-% Using \Package{fancyhdr}'s internal page style \Pagestyle{@empty}
-% could have strange results. However, there is a simple solution for this:
-% Don't use the internal \Pagestyle{@empty} but always the user level page
-% style \Pagestyle{empty}!
-% \item
-% \DescribeMacro\ps@@fancy
-% The vertical position of the page header does differ a little bit, if
-% \Package{scrlayer-fancyhdr} is used instead of \Package{fancyhdr}. This
-% could be fixed by a modification of the layers \texttt{fancy.head.odd} and
-% \texttt{fancy.head.even} using \Option{addvoffset}. More tests are needed.
-% \end{itemize}
-%
-%\iffalse
-%</dtx>
-%\fi
-%
-% \StopEventually{}
-%
-% \chapter{Implementation of \Package{scrlayer-fancyhdr}}
-% \label{sec:scrlayer-fancyhdr}
-%
-% This section if for developers only.
-%
-% \iffalse
-% TODO: Remove this alpha warning (but not the markers)!
-%<*interface>
-%<*identify>
-\PackageWarningNoLine{scrlayer-fancyhdr}{%
- THIS IS AN ALPHA VERSION OF AN\MessageBreak
- EXPERIMENTAL PACKAGE!\MessageBreak
- YOU SHOULD NOT USE THIS PACKAGE FOR\MessageBreak
- ANYTHING ELSE BUT TESTING%
-}
-%</identify>
-%\fi
-%
-% Note: The main problem of this interface is, that it tries to implement the
-% user interface of package \Package{fancyhdr} by Piet van Oostrum, that is
-% completely different from \Package{scrlayer} and not really compatible with
-% \Package{scrlayer}, using \Package{scrlayer}. This means, that
-% \Package{scrlayer-fancyhdr} never can be a drop-in replacement of
-% \Package{fancyhdr}. Nevertheless it can help to let \Package{scrlayer} and
-% \Package{fancyhdr} coexist. To do so
-% \begin{itemize}
-% \item the lowest level of \Package{fancyhdr} should not be the page style
-% but a layer
-% \item the page styles of \Package{fancyhdr} should be layer page styles
-% \item init code of the page styles of \Package{fancyhdr} should use the
-% layer page init code
-% \end{itemize}
-% Currently it is unsure whether it would be best to do a new implementation
-% or to load original \Package{fancyhdr} and to only modify some things. First
-% I'll try the second method and therefore:
-% \begin{macrocode}
-%<*body>
-\RequirePackage{fancyhdr}
-%</body>
-% \end{macrocode}
-%
-% We need at least one new layer for the new layer page style
-% \Pagestyle{fancy}. However, it could be useful to have not only one but
-% four layers (even side head, odd side head, even side foot, odd side foot).
-% \begin{macrocode}
-%<*body>
-\DeclareNewLayer[%
- background,oddpage,
- head,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@head\f@nch@Oolh\f@nch@olh\f@nch@och\f@nch@orh\f@nch@Oorh}}
-]{fancy.head.odd}
-\DeclareNewLayer[%
- background,evenpage,
- head,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@head\f@nch@Oelh\f@nch@elh\f@nch@ech\f@nch@erh\f@nch@Oerh}}
-]{fancy.head.even}
-\DeclareNewLayer[%
- foreground,oddpage,
- foot,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@foot\f@nch@Oolf\f@nch@olf\f@nch@ocf\f@nch@orf\f@nch@Oorf}}
-]{fancy.foot.odd}
-\DeclareNewLayer[%
- foreground,evenpage,
- foot,
- contents={\hb@xt@ \layerwidth{%
- \f@nch@foot\f@nch@Oelf\f@nch@elf\f@nch@ecf\f@nch@erf\f@nch@Oerf}}
-]{fancy.foot.even}
-% \end{macrocode}
-% \begin{macro}{\ps@@fancy}
-% \begin{macro}{\@mkboth}
-% And have to create a layer page style from this new layers, but we do not
-% redefine page style \Pagestyle{fancy} but the low level page style
-% \Pagestyle{@fancy}.
-% \begin{macrocode}
-\DeclarePageStyleByLayers[
-% \end{macrocode}
-% \Package{fancyhdr} does some initialization at the very first call
-% of \cs{pagestyle{fancy}}. To do so \Package{fancyhdr} first uses a different
-% page style definition, that does the initialization and redefines the page
-% style afterwards. This is still active with \Package{scrlayer-fancyhdr}.
-% Additionally, \Package{fancyhdr} redefines \cs{@mkboth} at every selection
-% of the internal page style \Pagestyle{@fancy}. This can be adapted using the
-% \Option{onselect} feature of the new layer page style \Pagestyle{@fancy}. In
-% my opinion, the |\let\@mkboth\markboth| used by page style
-% \Pagestyle{headings} of, e.\,g., the standard classes or the \KOMAScript{}
-% classes would be best here. However, \Package{fancyhdr} uses the uncommon
-% |\def\@mkboth{\protect\markboth}|, which would fail if a class or package
-% tests \cs{@mkboth} using |\ifx\@mkboth\markboth|. However, \KOMAScript's
-% \cs{IfActiveMkBoth} (see the \Package{scrbase} chapter in the \KOMAScript{}
-% manual) does also recognize the \Package{fancyhdr} definition and copying
-% this is more compatible with \Package{fancyhdr}.
-% \begin{macrocode}
- onselect={\def\@mkboth{\protect\markboth}},
-]{@fancy}{%
- fancy.head.odd,fancy.head.even,fancy.foot.odd,fancy.foot.even
-}
-%</body>
-% \end{macrocode}
-% Note: Redefining page style \Pagestyle{@fancy} instead of \Pagestyle{fancy}
-% does also mean, that features like options \Option{automark} and
-% \Option{manualmark} resp. \cs{automark} and \cs{manualmark} are not fully
-% supported by \Package{scrlayer-fancyhdr}. Also currently the font features
-% of the \KOMAScript{} classes are not supported by
-% \Package{scrlayer-fancyhdr}. However you are now able to combine other
-% features of \Package{scrlayer} with features of \Package{fancyhdr} and you
-% can, e.g., use \Package{scrlayer-notecolumn} with
-% \Package{scrlayer-fancyhdr}.
-% \end{macro}%^^A \@mkboth
-% \end{macro}%^^A \ps@@fancy
-%
-% A future release of \Package{scrlayer-fancyhdr} may even provide the font
-% features of the \KOMAScript{} classes and a working
-% \Option{markcase}. However, in this case I would have to redefine the
-% initial page style \Pagestyle{fancy} and the layers above.
-%
-% \iffalse
-%</interface>
-% \fi
-%
-% \begin{thebibliography}{99}
-% \raggedright
-% \bibitem[1]{pkg:fancyhdr} Piet van Oostrum: \emph{Page layout in \LaTeX},
-% release 3.9a 2017-06-30,
-% \url{https://ctan.org/tex-archive/macros/latex/contrib/fancyhdr},
-% last visited: 2018-09-06.
-% \bibitem[2]{pkg:komascript} Markus Kohm: \emph{\KOMAScript},
-% release 3.25 2018-03-30,
-% \url{https://ctan.org/tex-archive/macros/latex/contrib/koma-script},
-% last visited: 2018-09-06.
-% \end{thebibliography}
-%
-% \Finale
-% \let\subsection\section
-% \let\section\chapter
-% \let\chapter\restorechapter
-%
-\endinput
-%
-% End of file `scrlayer-fancyhdr.dtx'.
-%
-
-%%% Local Variables:
-%%% mode: doctex
-%%% mode: flyspell
-%%% ispell-local-dictionary: "en_GB"
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/koma-script/source/scrlayer.dtx b/macros/latex/contrib/koma-script/source/scrlayer.dtx
index 5bc3153887..ac98a934d1 100644
--- a/macros/latex/contrib/koma-script/source/scrlayer.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlayer.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlayer.dtx
-% Copyright (c) Markus Kohm, 2012-2020
+% Copyright (c) Markus Kohm, 2012-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlayer.dtx
-% Copyright (c) Markus Kohm, 2012-2020
+% Copyright (c) Markus Kohm, 2012-2021
%
% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
%
@@ -38,7 +38,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrlayer.dtx 3533 2020-09-11 13:32:10Z kohm $
+%%% From File: $Id: scrlayer.dtx 3560 2021-02-15 13:20:12Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -48,9 +48,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-11 15:32:10 +0200 (Fri, 11 Sep 2020) $
+ \filedate$Date: 2021-02-15 14:20:12 +0100 (Mon, 15 Feb 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3533 $
+ \filerevision$Revision: 3560 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlayer.dtx}%
@@ -200,6 +200,70 @@
%
% Initialisation before all options.
%
+% \begin{macro}{\scrlayer@@inherited@options@cslist}
+% \changes{v3.33}{2021/02/15}{new (internal)}
+% \begin{macro}{\scrlayer@@add@inherited@option}
+% \changes{v3.33}{2021/02/15}{new (internal)}
+% \begin{macro}{\scrlayer@do@inherited@options}
+% \changes{v3.33}{2021/02/15}{new (interface command)}
+% \begin{macro}{\scrlayer@inherit@option}
+% \changes{v3.33}{2021/02/15}{new (interface command)}
+% The options of \textsf{scrlayer} should be passed to \textsf{scrlayer} while
+% loading an interface package. We use the comma-separated-list
+% \cs{scrlayer@@inherited@options@cslist} to store all of them, so the
+% interface packages are able to process them via
+% \cs{scrlayer@do@inherited@options} which has an optional command, the
+% \texttt{KOMA} member defined by the interface package. The default of the
+% optional argument is (as usual)
+% ``\texttt{.}\cs{@currname}\texttt{.}\cs{currext}''. This option is passed to
+% the command, that is used a second argument, which is the first mandatory
+% argument.
+% Last but not least \cs{scrlayer@inherit@option} is the usual inheritance
+% function. It adds a new \texttt{KOMA} option and also removes it at the end
+% of the package. It should be used \emph{before} \cs{KOMAProcessOptions}. It
+% has three arguments: the \texttt{KOMA} member and the option name.
+%
+% With this the usual execution order of an interface package would be:
+% \begin{verbatim}
+% \RequirePackage{scrlayer}[2021/02/15]
+% \scrlayer@do@inherited@options{\scrlayer@inherit@option}
+% \end{verbatim}
+% \begin{macrocode}
+%<*package>
+\newcommand*{\scrlayer@@inherited@options@cslist}{}
+\newcommand*{\scrlayer@@add@inherited@option}[1]{%
+ \ifx\scrlayer@@inherited@options@cslist\@empty
+ \g@addto@macro\scrlayer@@inherited@options@cslist{#1}%
+ \else
+ \g@addto@macro\scrlayer@@inherited@options@cslist{,#1}%
+ \fi
+}
+\newcommand*{\scrlayer@do@inherited@options}[2][.\@currname.\@currext]{%
+ \@for \reserved@a:=\scrlayer@@inherited@options@cslist \do {%
+ \edef\reserved@a{\unexpanded{#2}{#1}{\reserved@a}}%
+ \reserved@a
+ }%
+}
+\newcommand*{\scrlayer@inherit@option}[2]{%
+%<trace> \typeout{TRACE: Define key `#2' of member `#1'}%
+ \DefineFamilyMember[#1]{KOMA}%
+ \expandafter\let\csname KV@KOMA#1@#2\expandafter\endcsname
+ \csname KV@KOMA.scrlayer.sty@#2\endcsname
+ \expandafter\let\csname KV@KOMA#1@#2@default\expandafter\endcsname
+ \csname KV@KOMA.scrlayer.sty@#2@default\expandafter\endcsname
+ \AtEndOfPackage{%
+ \RelaxFamilyKey[{#1}]{KOMA}{#2}%
+ }%
+}
+\@onlypreamble\scr@do@inherited@options
+\@onlypreamble\scr@inherit@option
+%</package>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% While there are \KOMAScript{} options, we need \Package{scrkbase} to declare
% them, but the interfaces also needs \Package{scrlayer} which already
% includes \Package{scrkbase}.
@@ -369,6 +433,7 @@
\fi
%<interface&scrpage>}%
}
+%<package>\scrlayer@@add@inherited@option{markcase}
%</options>
%<*interface&body>
\expandafter\let
@@ -614,6 +679,7 @@
%<*options>
%<*package>
\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue
+\scrlayer@@add@inherited@option{autooneside}
\KOMA@kav@replacebool{.scrlayer.sty}{autooneside}{scrlayer@autooneside}
%</package>
%<*interface>
@@ -672,6 +738,7 @@
\KOMA@kav@removekey{.scrlayer.sty}{manualmark}%
\KOMA@kav@add{.scrlayer.sty}{automark}{}%
}
+%<package>\scrlayer@@add@inherited@option{automark}
%</options>
%<*interface&body>
\expandafter\let\csname KV@KOMA.\@currname.\@currext @automark\endcsname\relax
@@ -687,6 +754,7 @@
\KOMA@kav@removekey{.scrlayer.sty}{manualmark}%
\KOMA@kav@add{.scrlayer.sty}{manualmark}{}%
}
+%<package>\scrlayer@@add@inherited@option{manualmark}
%</options>
%<*interface&body>
\expandafter\let\csname KV@KOMA.\@currname.\@currext @manualmark\endcsname\relax
@@ -2303,6 +2371,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsselect}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsselect}
%<package>\newcommand*{\@ps@initialhook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsselect}{}
%</options>
@@ -2339,6 +2408,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsinit}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsinit}
%<package>\newcommand*{\@ps@hook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsinit}{}
%</options>
@@ -2379,6 +2449,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsoneside}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsoneside}
%<package>\newcommand*{\@ps@onesidehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsoneside}{}
%</options>
@@ -2419,6 +2490,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpstwoside}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpstwoside}
%<package>\newcommand*{\@ps@twosidehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpstwoside}{}
%</options>
@@ -2459,6 +2531,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsoddpage}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsoddpage}
%<package>\newcommand*{\@ps@oddpagehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsoddpage}{}
%</options>
@@ -2499,6 +2572,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsevenpage}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsevenpage}
%<package>\newcommand*{\@ps@evenpagehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsevenpage}{}
%</options>
@@ -2537,6 +2611,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsfloatpage}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsfloatpage}
%<package>\newcommand*{\@ps@floatpagehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsfloatpage}{}
%</options>
@@ -2575,6 +2650,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsnonfloatpage}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsnonfloatpage}
%<package>\newcommand*{\@ps@nonfloatpagehook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsnonfloatpage}{}
%</options>
@@ -2615,6 +2691,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsbackground}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsbackground}
%<package>\newcommand*{\@ps@backgroundhook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsbackground}{}
%</options>
@@ -2655,6 +2732,7 @@
\FamilyKeyStateProcessed
\KOMA@kav@add{.scrlayer.sty}{onpsforeground}{#1}%
}
+%<package>\scrlayer@@add@inherited@option{onpsforeground}
%<package>\newcommand*{\@ps@foregroundhook}{}
%<package>\KOMA@kav@add{.scrlayer.sty}{onpsforeground}{}
%</options>
@@ -2688,6 +2766,7 @@
% \begin{macrocode}
%<*options>
\KOMA@ifkey{singlespacing}{@ps@singlespacing}
+%<package>\scrlayer@@add@inherited@option{singlespacing}
%</options>
% \end{macrocode}
% \end{option}
@@ -2932,6 +3011,7 @@
%<*options>
%<*package>
\KOMA@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers}
+%<package>\scrlayer@@add@inherited@option{deactivatepagestylelayers}
%</package>
%<*interface>
\KOMA@key{deactivatepagestylelayers}[true]{%
@@ -3207,6 +3287,7 @@
%<*options>
%<*package>
\KOMA@ifkey{draft}{scrlayer@draft}
+%<package>\scrlayer@@add@inherited@option{draft}
%</package>
%<*interface>
\KOMA@key{draft}[true]{%
@@ -4261,6 +4342,7 @@
%<*options>
%<*package>
\KOMA@ifkey{forceoverwrite}{scrlayer@forceoverwrite}
+%<package>\scrlayer@@add@inherited@option{forceoverwrite}
%</package>
%<*interface>
\KOMA@key{forceoverwrite}[true]{%
@@ -4289,6 +4371,7 @@
%<*options>
%<*package>
\KOMA@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces}
+%<package>\scrlayer@@add@inherited@option{autoremoveinterfaces}
%</package>
%<*interface>
\KOMA@key{autoremoveinterfaces}[true]{%
diff --git a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
index 1f944139be..9ebbd46ee4 100644
--- a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlfile-hook.dtx
-% Copyright (c) Markus Kohm, 2020
+% Copyright (c) Markus Kohm, 2021
%
% This file is part of the work `scrlfile' which is part of the LaTeX2e
% KOMA-Script bundle.
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlfile-hook.dtx
-% Copyright (c) Markus Kohm, 2020
+% Copyright (c) Markus Kohm, 2021
%
% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des
% LaTeX2e KOMA-Script Pakets ist.
@@ -37,7 +37,6 @@
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
%
-%
% Dieses Werk besteht aus den in manifest.txt aufgeführten Dateien.
% ======================================================================
%
@@ -46,9 +45,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-17 14:01:13 +0200 (Thu, 17 Sep 2020) $
+ \filedate$Date: 2021-03-02 08:40:05 +0100 (Tue, 02 Mar 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3544 $
+ \filerevision$Revision: 3574 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlfile-hook.dtx}%
@@ -245,27 +244,30 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{variable}[added = 2020-06-26]{\g__scrlfile_input_file_seq}
+% \begin{variable}[added = 2020-06-26,
+% updated = 2021-01-01]{\g__scrlfile_input_file_seq}
+% \changes{3.33}{2021/01/01}{message definition moved outside function}
% \cs{g__scrlfile_input_file_seq} is a sequence of active file inputs (without
% path information). Two global hooks are used to setup the sequence. The new
-% conditional tests if a file is in the sequence.
+% conditional tests if a file is in the sequence. And a message is defined for
+% the case of more pops than pushs to the stack.
% \begin{macrocode}
\seq_new:N \g__scrlfile_input_file_seq
\hook_gput_code:nnn { file / before } { . }
{ \seq_gpush:Nx \g__scrlfile_input_file_seq { \CurrentFile } }
+\msg_new:nnn { scrlfile-hook } { too-many-pops }
+ {
+ More~file~names~popped~from~stack~than~put~to.~
+ This~should~never~happen.~
+ However,~it~could~happen~if~scrlfile-hook~is~loaded~by~another~
+ package~or~class.~In~this~case~some~packages~or~classes~are~not~
+ recognised~correctly.
+ }
\hook_gput_code:nnn { file / after } { . }
{
\seq_gpop:NNF \g__scrlfile_input_file_seq \l_tmpa_seq
{
- \msg_new:nnn { scrlfile-hook } { to-much-pops }
- {
- More~file~names~popped~from~stack~than~put~to.~
- This~should~never~happen.~
- However,~it~could~happen~if~scrlfile-hook~is~loaded~by~another~
- package~or~class.~In~this~case~some~packages~or~classes~are~not~
- recognised~correctly.
- }
- \msg_warning:nn { scrlfile-hook } { to-much-pops }
+ \msg_warning:nn { scrlfile-hook } { too-many-pops }
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/koma-script/source/scrlfile.dtx b/macros/latex/contrib/koma-script/source/scrlfile.dtx
index b9782c81e5..11809c20fe 100644
--- a/macros/latex/contrib/koma-script/source/scrlfile.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlfile.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlfile.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the work `scrlfile' which is part of the LaTeX2e
% KOMA-Script bundle.
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlfile.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des
% LaTeX2e KOMA-Script Pakets ist.
@@ -40,12 +40,12 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrlfile.dtx 3537 2020-09-14 07:30:10Z kohm $
+%%% From File: $Id: scrlfile.dtx 3565 2021-02-16 10:43:38Z kohm $
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-14 09:30:10 +0200 (Mon, 14 Sep 2020) $
+ \filedate$Date: 2021-02-16 11:43:38 +0100 (Tue, 16 Feb 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 2631 $
\edef\reserved@a{%
@@ -135,15 +135,42 @@
%
% \section{Implementation of \textsf{scrlfile}}
%
-% We either need to load one of these packages. We could do the decision by
-% testing the \LaTeX{} version. But the existence of macro \cs{AddToHook} is
-% easier and better.
+% We either need to load one of these packages.
+% \changes{v3.33}{2021/02/09}{do not test for existence of \cs{AddToHook} any
+% longer, but \cs{IfFormatAtLeastTF} and the format version}%
+% We cannot do the decision by testing the existence of macro \cs{AddToHook},
+% because package \textsf{latexrelease} does not rollback to prior format
+% versions good enough. Instead of undefining the macro an so really reverting
+% to the definition of \LaTeX{} kernels prior to 2020/10/01 it only redefines
+% it to a do-nothing macro. Because of this and similar issues with
+% \textsf{latexrelease} cannot (or only with provision) be used to simulate a
+% real old \LaTeX{} kernel, i.e. for testing. So the only valid test for the
+% existence of the wanted \cs{AddToHook} would be to test the definite
+% definition of \cs{AddToHook} and the existence of the hooks we are
+% using. But, because this is to much effort, we simply test the format
+% version. Nevertheless, we know, this may fail!
% \begin{macrocode}
-\@ifundefined{AddToHook}{%
+\@ifundefined{IfFormatAtLeastTF}{%
\RequirePackage{scrlfile-patcholdlatex}%
\RequirePackage{xparse}%
+% \end{macrocode}
+% \changes{v3.33}{2021/02/16}{workaround for \textsf{xparse} bug}
+% Explicitly switch of \textsf{expl} syntax because of a
+% \textsf{xparse-2020-10-01} bug in version 2020-02-02.
+% \begin{macrocode}
+ \ExplSyntaxOff
}{%
- \RequirePackage{scrlfile-hook}%
+ \IfFormatAtLeastTF{2020/10/01}{%
+ \RequirePackage{scrlfile-hook}%
+ }{%
+ \RequirePackage{scrlfile-patcholdlatex}%
+ \RequirePackage{xparse}%
+% \end{macrocode}
+% Explicitly switch of \textsf{expl} syntax because of a
+% \textsf{xparse-2020-10-01} bug in version 2020-02-02.
+% \begin{macrocode}
+ \ExplSyntaxOff
+ }%
}
% \end{macrocode}
%