diff options
author | Norbert Preining <norbert@preining.info> | 2021-03-21 03:01:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-03-21 03:01:00 +0000 |
commit | 86a0e007d01f87228d2363faf90a2a3b65cf758f (patch) | |
tree | 50ff3b4e1bfbe05e95441645de9d55048feb01bc /macros/latex/contrib/koma-script/source | |
parent | d3b06b2254431c03e127876a07ae654091314c72 (diff) |
CTAN sync 202103210300
Diffstat (limited to 'macros/latex/contrib/koma-script/source')
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} % |