diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-28 20:36:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-28 20:36:34 +0000 |
commit | d2d86e5041a7b35d055ccfa595df7b1252234d4b (patch) | |
tree | a5ed8da5681ed4925c460155463ef424710fb9e0 /Master/texmf-dist/source/latex/koma-script | |
parent | 2ed3ed36e3f3c4b550390d0e26e641a19ac46c3a (diff) |
koma-script (28jun21)
git-svn-id: svn://tug.org/texlive/trunk@59737 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script')
21 files changed, 712 insertions, 559 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex index 325431cf595..18638fc967b 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrbookreportarticle-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-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. % ---------------------------------------------------------------------- % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -48,13 +48,13 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle-experts.tex} - [$Date: 2019-12-06 11:54:25 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2021-06-25 10:07:54 +0200 (Fri, 25 Jun 2021) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-12-06 +% Date of the translated German file: 2021-06-25 \chapter[{Additional Information about the Main Classes and \Package{scrextend}}]{Additional Information about the Main Classes @@ -204,8 +204,8 @@ Package authors and authors of wrapper classes can redefine this command to alter the entries. For example\textnote{Example}, you could use \begin{lstcode} \renewcommand{\addtocentrydefault}[3]{% - \Ifstr{#3}{}{% - \Ifstr{#2}{}{% + \IfArgIsEmpty{#3}{% + \IfArgIsEmpty{#2}{% \addcontentsline{toc}{#1}{#3}% }{% \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% @@ -213,10 +213,10 @@ alter the entries. For example\textnote{Example}, you could use }% }% \end{lstcode} -to\IndexCmd{Ifstr} omit entries with an empty \PName{heading}. In practice, -such a change is not necessary because the \KOMAScript{} classes already use -another method to suppress empty entries. See the description of the -sectioning commands in \autoref{sec:maincls.structure}, starting on +to\IndexCmd{IfArgIsEmpty} omit entries with an empty \PName{heading}. In +practice, such a change is not necessary because the \KOMAScript{} classes +already use another method to suppress empty entries. See the description of +the sectioning commands in \autoref{sec:maincls.structure}, starting on \DescPageRef{maincls.cmd.part} for this.% % \EndIndexGroup diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex index 760052b8cc7..6e31224fafd 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-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. % ---------------------------------------------------------------------- % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,11 +46,11 @@ % ============================================================================ \KOMAProvidesFile{scrhack.tex} - [$Date: 2019-11-26 11:13:57 +0100 (Tue, 26 Nov 2019) $ + [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $ KOMA-Script guide (chapter: scrhack)] \translator{Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2019-11-26 +% Date of the translated German file: 2021-06-03 \chapter{Improving Third-Party Packages with \Package{scrhack}} \labelbase{scrhack} @@ -65,6 +65,9 @@ created. This package alters the commands and definitions of other to work better with \KOMAScript{}. Some changes are also useful when using other classes. +It is recommended to load the \Package{scrhack} package as early as +possible. In particular, loading should be done before the affected packages. + \section{Development Status} \label{scr:scrhack.draft} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex index c92f777f74f..144386a23ba 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrwfile.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrwfile.tex -% Copyright (c) Markus Kohm, 2010-2019 +% Copyright (c) Markus Kohm, 2010-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. % ---------------------------------------------------------------------- % scrwfile.tex -% Copyright (c) Markus Kohm, 2010-2019 +% Copyright (c) Markus Kohm, 2010-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,10 +46,10 @@ % ============================================================================ \KOMAProvidesFile{scrwfile.tex}% - [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ + [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $ KOMA-Script guide (chapter: scrwfile)] -% Date of the translated German file: 2019-11-18 +% Date of the translated German file: 2020-05-30 \translator{Markus Kohm\and Jana Schubert\and Karl Hagen} @@ -154,7 +154,8 @@ Since \Macro{@writefile}\IndexCmd{@writefile} has already been modified for the single-file method described in the previous system so that it no longer writes directly to the corresponding auxiliary file, a further possibility suggests itself. When copying the \Macro{@writefile} statements into the -\File{wrt} file, you can also copy them to other destinations. +\File{wrt} file, you can also copy them to other destinations. It should be +explicitly noted that this only works in the document preamble. \begin{Declaration} \Macro{TOCclone}% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex index a6da4982583..51c3359e348 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-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. % ---------------------------------------------------------------------- % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -48,7 +48,7 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle-experts.tex}% - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2021-06-25 10:07:17 +0200 (Fri, 25 Jun 2021) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] @@ -220,9 +220,9 @@ umdefinieren, um Einfluss auf die Einträge zu nehmen. So\textnote{Beispiel} wäre beispielsweise denkbar, mit \begin{lstcode} \renewcommand{\addtocentrydefault}[3]{% - \Ifstr{#3}{}{% + \IfArgIsEmpty{#3}{% }{% - \Ifstr{#2}{}{% + \IfArgIsEmpty{#2}{% \addcontentsline{toc}{#1}{\protect\nonumberline#3}% }{% \addcontentsline{toc}{#1}{\protect\numberline{#2}#3}% @@ -230,12 +230,12 @@ wäre beispielsweise denkbar, mit }% }% \end{lstcode} -dafür\IndexCmd{Ifstr} zu sorgen, dass Einträge mit leerer \PName{Überschrift} -erst gar nicht vorgenommen werden. Eine solche Änderung ist in der Praxis -jedoch nicht notwendig, da die Unterdrückung leerer Einträge bereits auf -andere Weise in die \KOMAScript-Klassen eingebaut ist. Siehe hierzu auch die -Erklärung zu den Gliederungsbefehlen in \autoref{sec:maincls.structure} ab -\DescPageRef{maincls.cmd.part}.% +dafür\IndexCmd{IfArgIsEmpty} zu sorgen, dass Einträge mit leerer +\PName{Überschrift} erst gar nicht vorgenommen werden. Eine solche Änderung +ist in der Praxis jedoch nicht notwendig, da die Unterdrückung leerer Einträge +bereits auf andere Weise in die \KOMAScript-Klassen eingebaut ist. Siehe +hierzu auch die Erklärung zu den Gliederungsbefehlen in +\autoref{sec:maincls.structure} ab \DescPageRef{maincls.cmd.part}.% % \EndIndexGroup diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex index 2164484b871..942858109b4 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-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. % ---------------------------------------------------------------------- % scrhack.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrhack.tex} - [$Date: 2019-11-26 11:13:57 +0100 (Tue, 26 Nov 2019) $ + [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $ KOMA-Script guide (chapter: scrhack)] \chapter{Fremdpakete verbessern mit \Package{scrhack}} @@ -63,6 +63,9 @@ Anweisungen und Definitionen anderer Pakete, damit sie besser mit \KOMAScript{} zusammenarbeiten. Einige Änderungen sind auch bei Verwendung anderer Klassen nützlich. +Es wird empfohlen, das Paket \Package{scrhack} so früh wie möglich zu +laden. Insbesondere sollte das Laden vor den betroffenen Paketen erfolgen. + \section{Entwicklungsstand} \seclabel{draft} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrwfile.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrwfile.tex index 34400d50a30..e8e9774ad7a 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrwfile.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrwfile.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrwfile.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-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. % ---------------------------------------------------------------------- % scrwfile.tex -% Copyright (c) Markus Kohm, 2001-2019 +% Copyright (c) Markus Kohm, 2001-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrwfile.tex} - [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ + [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $ KOMA-Script guide (chapter: scrwfile)] \chapter{Dateien mit \Package{scrwfile} sparen und ersetzen} @@ -158,7 +158,8 @@ Nachdem \Macro{@writefile}\IndexCmd{@writefile} für das Eindateiensystem aus dem vorherigen Abschnitt bereits so geändert wurde, dass es nicht direkt in die entsprechende Hilfsdatei schreibt, lag eine weitere Idee nahe. Beim Kopieren der \Macro{@writefile}-Anweisungen in die \File{wrt}-Datei können -diese auch für andere Zielendungen übernommen werden. +diese auch für andere Zielendungen übernommen werden. Es sei ausdrücklich +darauf hingewiesen, dass dies nur in der Dokumentpräambel funktioniert. \begin{Declaration} \Macro{TOCclone}\OParameter{Verzeichnisüberschrift} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf Binary files differindex 4fd118b7ba3..27077eab0ff 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf +++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf Binary files differindex 9ac9db361fe..b6d781f947c 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf +++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.pdf diff --git a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx index 49cf81ef4e5..1a75956680f 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2020 +% Copyright (c) Markus Kohm, 2008-2021 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -22,7 +22,7 @@ % of TeX would generate the implementation documentation. % ---------------------------------------------------------------------- % scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2020 +% Copyright (c) Markus Kohm, 2008-2021 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -61,7 +61,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrhack.dtx 3508 2020-07-08 08:45:20Z kohm $ +%%% From File: $Id: scrhack.dtx 3602 2021-06-03 17:24:02Z kohm $ %<package&identify>%%% using: package,identify %<package&option>%%% using: package,option %<package&body>%%% using: package,body @@ -70,7 +70,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-07-08 10:45:20 +0200 (Wed, 08 Jul 2020) $ + \filedate$Date: 2021-06-03 19:24:02 +0200 (Thu, 03 Jun 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1962 $ \endgroup @@ -481,44 +481,44 @@ % \end{macro} % % -% \subsection{Der \textsf{float}-Hack} +% \subsection{Der \textsf{floatrow}-Hack} % -% Das \textsf{float}-Paket verwendet das Makro \cs{float@listhead} zum +% Das \textsf{floatrow}-Paket verwendet das Makro \cs{float@listhead} zum % Setzen der Überschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen % und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird % empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist % sehr gering und wird mit vielen neuen Möglichkeiten belohnt. % -% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{float} +% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{floatrow} % nach. % -% \begin{option}{float} -% \changes{v3.12}{2013/03/05}{Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A +% \begin{option}{floatrow} +% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} % \changes{v3.17}{2015/03/09}{Defaulteinstellung mit -% \cs{KOMAExecuteOptions}}%^^A +% \cs{KOMAExecuteOptions}} +% \changes{v3.34}{2021/06/03}{Deaktivierung des \textsf{float}-Hacks} % \begin{macrocode} %<*package&option> -\KOMA@ifkey{float}{@scrhack@float}% -\KOMAExecuteOptions{float=true}% +\KOMA@ifkey{floatrow}{@scrhack@floatrow} +\KOMAExecuteOptions{floatrow=true} %</package&option> %<*package&body> -\AfterPackage*{float}{% - \KOMA@key[.scrhack.sty]{float}{% - \PackageWarning{scrhack}{option `float' ignored}% +\AfterPackage*{floatrow}{% + \KOMAoptions{float=false}% + \PackageInfo{scrhack}{option `float' deactivated}% + \KOMA@key[.scrhack.sty]{floatrow}{% + \PackageWarning{scrhack}{option `floatrow' ignored}% \FamilyKeyStateProcessed }% - \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi + \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi } %</package&body> % \end{macrocode} % \end{option} % % -% \begin{macro}{\newfloat} -% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by -% \cs{Ifattoclist}}%^^A -% Über die Anweisung \cs{newfloat} wird eine neue Gleitumgebung +% \begin{macro}{\DeclareNewFloatType} +% Über die Anweisung \cs{DeclareNewFloatType} wird eine neue Gleitumgebung % definiert. Hier muss die neue Erweiterung aus dem dritten Argument % \textsf{tocbasic} bekannt gemacht werden. % \begin{macro}{\listof} @@ -529,68 +529,51 @@ % Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche % Definition zurückgesetzt. % \begin{macrocode} -%<*float&body> -\scr@ifexpected{\newfloat}{% - \long\def\newfloat#1#2#3{\@namedef{ext@#1}{#3} - \let\float@do=\relax - \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% - \@tempa - \floatplacement{#1}{#2}% - \@ifundefined{fname@#1}{\floatname{#1}{#1}}{} - \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% - \addtocounter{float@type}{\value{float@type}} - \restylefloat{#1}% - \expandafter\edef\csname fnum@#1\endcsname% - {\expandafter\noexpand\csname fname@#1\endcsname{} - \expandafter\noexpand\csname the#1\endcsname} - \@ifnextchar[%] - {\float@newx{#1}}% - {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}% - {}}}% +%<*floatrow&body> +\scr@ifexpected{\DeclareNewFloatType}{% + \long\def\DeclareNewFloatType#1#2{\def\FB@captype{#1}% + \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% + \addtocounter{float@type}{\value{float@type}}% + \@namedef{#1name}{#1}\newcounter{#1}% + \expandafter\edef\csname fnum@#1\endcsname + {\expandafter\noexpand\csname #1name\endcsname\nobreakspace + \expandafter\noexpand\csname the#1\endcsname}% + \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}% + \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% + \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax + \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% + \@tempa}% }{% \scr@ifexpected{\listof}{% \def\listof#1#2{% - \@ifundefined{ext@#1}{\float@error{#1}}{% - \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% + \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% + \expandafter\providecommand\csname l@#1\endcsname + {\@dottedtocline{1}{1.5em}{2.3em}}% \float@listhead{#2}% \begingroup\setlength{\parskip}{\z@}% \@starttoc{\@nameuse{ext@#1}}% \endgroup}}% }{% \RequirePackage{tocbasic}% - \PackageInfo{scrhack}{redefining \string\newfloat}% - \renewcommand\newfloat[3]{% - \Ifattoclist{#3}{% - \PackageError{scrhack}{extension `#3' already in use}{% - Each extension may be used only once.\MessageBreak - You, the class, or another package already uses extension - `#3'.\MessageBreak - \string\newfloat\space command will be ignored!}% - }{% - \addtotoclist[float]{#3}% - \setuptoc{#3}{chapteratlist}% - \@namedef{ext@#1}{#3}% - \let\float@do=\relax - \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% - \@tempa - \floatplacement{#1}{#2}% - \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}% - \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% - \addtocounter{float@type}{\value{float@type}} - \restylefloat{#1}% - \expandafter\edef\csname fnum@#1\endcsname% - {\expandafter\noexpand\csname fname@#1\endcsname{} - \expandafter\noexpand\csname the#1\endcsname}% - \@ifnextchar[%] - {\float@newx{#1}}% - {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}% - {}}}% - }% - \PackageInfo{scrhack}{redefining \string\listof}% - \renewcommand*\listof[2]{% - \@ifundefined{ext@#1}{\float@error{#1}}{% - \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure - \@ifundefined{l@#1}{% + \PackageInfo{scrhack}{redefining \string\DeclareNewFloatType}% +% \end{macrocode} +% Eigentlich wäre es besser, wie im \textsf{float}-Hack einen Test +% vorzuschalten, ob die Dateiendung bereits in Gebrauch ist. Aber das würde +% voraussetzen, dass die Reihenfolge der Anweisungen geändert wird. Dazu +% stecke ich aber im Code von \textsf{floatrow} zu wenig +% drin. (\emph{\foreignlanguage{english}{Note: It would be better to first +% test, if the new extension is already in use like done at the +% \textsf{float} hack. But I don't know the \textsf{floatrow} code good +% enough to make such a change!}}) +% \begin{macrocode} + \renewcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}% + \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% + \addtocounter{float@type}{\value{float@type}}% + \@namedef{#1name}{#1}\newcounter{#1}% + \expandafter\edef\csname fnum@#1\endcsname + {\expandafter\noexpand\csname #1name\endcsname\nobreakspace + \expandafter\noexpand\csname the#1\endcsname}% + \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}% % \end{macrocode} % \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A % Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von @@ -601,6 +584,23 @@ % Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die % Verzeichniseinträge bietet, verwenden wir die hier nun auch: % \begin{macrocode} + \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}% + \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax + \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% + \@tempa + \xdef\@tempa{\noexpand\addtotoclist[float]{\@nameuse{ext@\FB@captype}}% + \noexpand\setuptoc{\@nameuse{ext@\FB@captype}}{chapteratlist}% + }% + \@tempa + }% + \PackageInfo{scrhack}{redefining \string\listof}% + \renewcommand*\listof[2]{% + \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% + \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure + \@ifundefined{l@#1}{% +% \end{macrocode} +% Siehe die Anmerkung zur Verwendung von \cs{DeclareTOCStyleEntry} oben. +% \begin{macrocode} \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em] {default}{#1}% }{}% @@ -617,61 +617,63 @@ }{% \PackageWarningNoLine{scrhack}{unkown \string\float@addtolists\space definition found!\MessageBreak - Maybe you are using a unsupported float version}% + Maybe you are using a unsupported floatrow version}% }% }{% \PackageWarningNoLine{scrhack}{unknown \string\listof\space definition found!\MessageBreak - Maybe you are using a unsupported float version}% + Maybe you are using a unsupported floatrow version}% }% }{% - \PackageWarningNoLine{scrhack}{unknown \string\newfloat\space + \PackageWarningNoLine{scrhack}{unknown \string\DeclareNewFloatType\space definition found!\MessageBreak - Maybe you are using a unsupported float version}% + Maybe you are using a unsupported floatrow version}% } -%</float&body> +%</floatrow&body> % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % -% \subsection{Der \textsf{floatrow}-Hack} +% \subsection{Der \textsf{float}-Hack} % -% Das \textsf{floatrow}-Paket verwendet das Makro \cs{float@listhead} zum +% Das \textsf{float}-Paket verwendet das Makro \cs{float@listhead} zum % Setzen der Überschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen % und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird % empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist % sehr gering und wird mit vielen neuen Möglichkeiten belohnt. % -% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{floatrow} +% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{float} % nach. % -% \begin{option}{floatrow} +% \begin{option}{float} % \changes{v3.12}{2013/03/05}{Signalisierung mit % \cs{FamilyKeyStateProcessed}}%^^A % \changes{v3.17}{2015/03/09}{Defaulteinstellung mit % \cs{KOMAExecuteOptions}}%^^A % \begin{macrocode} %<*package&option> -\KOMA@ifkey{floatrow}{@scrhack@floatrow} -\KOMAExecuteOptions{floatrow=true} +\KOMA@ifkey{float}{@scrhack@float}% +\KOMAExecuteOptions{float=true}% %</package&option> %<*package&body> -\AfterPackage*{floatrow}{% - \KOMA@key[.scrhack.sty]{floatrow}{% - \PackageWarning{scrhack}{option `floatrow' ignored}% +\AfterPackage*{float}{% + \KOMA@key[.scrhack.sty]{float}{% + \PackageWarning{scrhack}{option `float' ignored}% \FamilyKeyStateProcessed }% - \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi + \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi } %</package&body> % \end{macrocode} % \end{option} % % -% \begin{macro}{\DeclareNewFloatType} -% Über die Anweisung \cs{DeclareNewFloatType} wird eine neue Gleitumgebung +% \begin{macro}{\newfloat} +% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by +% \cs{Ifattoclist}}%^^A +% Über die Anweisung \cs{newfloat} wird eine neue Gleitumgebung % definiert. Hier muss die neue Erweiterung aus dem dritten Argument % \textsf{tocbasic} bekannt gemacht werden. % \begin{macro}{\listof} @@ -682,51 +684,68 @@ % Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche % Definition zurückgesetzt. % \begin{macrocode} -%<*floatrow&body> -\scr@ifexpected{\DeclareNewFloatType}{% - \long\def\DeclareNewFloatType#1#2{\def\FB@captype{#1}% - \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% - \addtocounter{float@type}{\value{float@type}}% - \@namedef{#1name}{#1}\newcounter{#1}% - \expandafter\edef\csname fnum@#1\endcsname - {\expandafter\noexpand\csname #1name\endcsname\nobreakspace - \expandafter\noexpand\csname the#1\endcsname}% - \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}% - \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% - \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax - \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% - \@tempa}% +%<*float&body> +\scr@ifexpected{\newfloat}{% + \long\def\newfloat#1#2#3{\@namedef{ext@#1}{#3} + \let\float@do=\relax + \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% + \@tempa + \floatplacement{#1}{#2}% + \@ifundefined{fname@#1}{\floatname{#1}{#1}}{} + \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% + \addtocounter{float@type}{\value{float@type}} + \restylefloat{#1}% + \expandafter\edef\csname fnum@#1\endcsname% + {\expandafter\noexpand\csname fname@#1\endcsname{} + \expandafter\noexpand\csname the#1\endcsname} + \@ifnextchar[%] + {\float@newx{#1}}% + {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}% + {}}}% }{% \scr@ifexpected{\listof}{% \def\listof#1#2{% - \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% - \expandafter\providecommand\csname l@#1\endcsname - {\@dottedtocline{1}{1.5em}{2.3em}}% + \@ifundefined{ext@#1}{\float@error{#1}}{% + \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% \float@listhead{#2}% \begingroup\setlength{\parskip}{\z@}% \@starttoc{\@nameuse{ext@#1}}% \endgroup}}% }{% \RequirePackage{tocbasic}% - \PackageInfo{scrhack}{redefining \string\DeclareNewFloatType}% -% \end{macrocode} -% Eigentlich wäre es besser, wie im \textsf{float}-Hack einen Test -% vorzuschalten, ob die Dateiendung bereits in Gebrauch ist. Aber das würde -% voraussetzen, dass die Reihenfolge der Anweisungen geändert wird. Dazu -% stecke ich aber im Code von \textsf{floatrow} zu wenig -% drin. (\emph{\foreignlanguage{english}{Note: It would be better to first -% test, if the new extension is already in use like done at the -% \textsf{float} hack. But I don't know the \textsf{floatrow} code good -% enough to make such a change!}}) -% \begin{macrocode} - \renewcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}% - \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% - \addtocounter{float@type}{\value{float@type}}% - \@namedef{#1name}{#1}\newcounter{#1}% - \expandafter\edef\csname fnum@#1\endcsname - {\expandafter\noexpand\csname #1name\endcsname\nobreakspace - \expandafter\noexpand\csname the#1\endcsname}% - \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}% + \PackageInfo{scrhack}{redefining \string\newfloat}% + \renewcommand\newfloat[3]{% + \Ifattoclist{#3}{% + \PackageError{scrhack}{extension `#3' already in use}{% + Each extension may be used only once.\MessageBreak + You, the class, or another package already uses extension + `#3'.\MessageBreak + \string\newfloat\space command will be ignored!}% + }{% + \addtotoclist[float]{#3}% + \setuptoc{#3}{chapteratlist}% + \@namedef{ext@#1}{#3}% + \let\float@do=\relax + \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}% + \@tempa + \floatplacement{#1}{#2}% + \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}% + \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% + \addtocounter{float@type}{\value{float@type}} + \restylefloat{#1}% + \expandafter\edef\csname fnum@#1\endcsname% + {\expandafter\noexpand\csname fname@#1\endcsname{} + \expandafter\noexpand\csname the#1\endcsname}% + \@ifnextchar[%] + {\float@newx{#1}}% + {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}% + {}}}% + }% + \PackageInfo{scrhack}{redefining \string\listof}% + \renewcommand*\listof[2]{% + \@ifundefined{ext@#1}{\float@error{#1}}{% + \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure + \@ifundefined{l@#1}{% % \end{macrocode} % \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A % Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von @@ -737,23 +756,6 @@ % Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die % Verzeichniseinträge bietet, verwenden wir die hier nun auch: % \begin{macrocode} - \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}% - \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax - \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% - \@tempa - \xdef\@tempa{\noexpand\addtotoclist[float]{\@nameuse{ext@\FB@captype}}% - \noexpand\setuptoc{\@nameuse{ext@\FB@captype}}{chapteratlist}% - }% - \@tempa - }% - \PackageInfo{scrhack}{redefining \string\listof}% - \renewcommand*\listof[2]{% - \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% - \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure - \@ifundefined{l@#1}{% -% \end{macrocode} -% Siehe die Anmerkung zur Verwendung von \cs{DeclareTOCStyleEntry} oben. -% \begin{macrocode} \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em] {default}{#1}% }{}% @@ -770,19 +772,19 @@ }{% \PackageWarningNoLine{scrhack}{unkown \string\float@addtolists\space definition found!\MessageBreak - Maybe you are using a unsupported floatrow version}% + Maybe you are using a unsupported float version}% }% }{% \PackageWarningNoLine{scrhack}{unknown \string\listof\space definition found!\MessageBreak - Maybe you are using a unsupported floatrow version}% + Maybe you are using a unsupported float version}% }% }{% - \PackageWarningNoLine{scrhack}{unknown \string\DeclareNewFloatType\space + \PackageWarningNoLine{scrhack}{unknown \string\newfloat\space definition found!\MessageBreak - Maybe you are using a unsupported floatrow version}% + Maybe you are using a unsupported float version}% } -%</floatrow&body> +%</float&body> % \end{macrocode} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx index fa5cb5e9a68..9c8358b4661 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx @@ -36,7 +36,7 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % -%%% From File: $Id: scrkernel-basics.dtx 3578 2021-03-12 16:50:00Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3606 2021-06-08 08:28:35Z 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: 2021-03-12 17:50:00 +0100 (Fri, 12 Mar 2021) $ + \filedate$Date: 2021-06-08 10:28:35 +0200 (Tue, 08 Jun 2021) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} \filerevision$Revision: 1638 $ \xdef\fileinfo{\filedate\space\filerevision\space} @@ -880,10 +880,13 @@ % \selectlanguage{english}% % \changes{v3.33}{2021/03/02}{new version using raw options lists of \LaTeX{} % 2021/05/01} +% Note, we use 2021/05/01 instead of the official \LaTeX{} release date, +% because there were relevant earlier \LaTeX{} developer releases with that +% date. % \begin{macrocode} %<*base> -\IncludeInRelease{2021/05/01}{\FamilyProcessOptions}{% - Usage of raw option list} +\IncludeInRelease{2021/05/01}{\FamilyProcessOptions}% + {Usage of raw or classic option list} \newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% % \end{macrocode} % Before processing of the options we have to execute an initialise several @@ -943,28 +946,40 @@ }% % \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} +% \changes{v3.33}{2021/03/12}{switched to fast test like \LaTeX{} 2021/06/01} +% \changes{v3.34}{2021/05/30}{use \cs{@raw@classoptionslist} only, if defined} +% Note, if \Package{scrbase} or a depending package is loaded before the class, +% \cs{@raw@classoptionslist} should not be processed. % \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 + \@ifundefined{@raw@classoptionslist}{}{% + \@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. +% \changes{v3.34}{2021/06/05}{extra test because of \LaTeX{} raw option issue} +% Afterwards we have to process the current options. Unfortunately there is an +% issue with the raw option list of the \LaTeX{} kernel, that could result in +% \cs{CurrentOption} in the option list instead of the one step expansion of +% \cs{CurrentOption} (see +% \url{https://sourceforge.net/p/koma-script/tickets/10/}). This would result +% in an infinite loop using the usual loop: % \begin{macrocode} +%<*dontusethis> \@for\CurrentOption:=\@curroptions\do{% \scr@trim@spaces\CurrentOption \@ifundefined{ds@\CurrentOption}{% @@ -972,6 +987,46 @@ \scr@ifprocess@curroption{#1}{#2}{}\default@ds }\@use@ption }% +%</dontusethis> +% \end{macrocode} +% So for a little more rosbustnes we do an extra test. +% \begin{macrocode} + \@for\reserved@a:=\@curroptions\do{% + \scr@trim@spaces\reserved@a + \def\reserved@b{\CurrentOption}% + \ifx\reserved@a\reserved@b + \PackageError{scrbase}{% + \string\CurrentOption\space loop detected\MessageBreak + Perhaps someone uses:\MessageBreak\space\space + \ifx\@currext\@clsextension + \string\PassOptionsToClass + \else + \string\PassOptionsToPackage + \fi + {\string\CurrentOption}{…}.\MessageBreak + With LaTeX 2020/10/01 or 2021/06/01 this results in + \string\CurrentOption\MessageBreak + in the raw option list and therefore is not allowed.\MessageBreak + Please ask the class or package author to use:\MessageBreak\space\space + \string\expandafter + \ifx\@currext\@clsextension + \string\PassOptionsToClass + \else + \string\PassOptionsToPackage + \fi + \MessageBreak\space\space\space + \string\expandafter{\string\CurrentOption}{…}\MessageBreak + instead or update LaTeX (if possible)% + }% + \let\CurrentOption\@empty + \else + \let\CurrentOption\reserved@a + \fi + \@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 @@ -991,8 +1046,8 @@ % 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} +\IncludeInRelease{0000/00/00}{\FamilyProcessOptions}% + {Usage of raw or classic option list} \newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions \PackageError{scrbase}{nested \string\FamilyProcessOptions\space diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx index 073c7e1e552..69311981ef8 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx @@ -1,4 +1,4 @@ -% \CheckSum{226} +% \CheckSum{227} % \iffalse meta-comment % ====================================================================== % scrkernel-compatibility.dtx @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-compatibility.dtx 3547 2021-01-01 12:08:50Z kohm $ +%%% From File: $Id: scrkernel-compatibility.dtx 3588 2021-03-22 07:53:57Z 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: 2021-01-01 13:08:50 +0100 (Fri, 01 Jan 2021) $ + \filedate$Date: 2021-03-22 08:53:57 +0100 (Mon, 22 Mar 2021) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} \filerevision$Revision: 1638 $ \edef\reserved@a{% @@ -436,6 +436,8 @@ % \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@3.34} +% \changes{v3.34}{2021/03/22}{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 @@ -518,6 +520,7 @@ \@namedef{scr@v@3.31}{18} \@namedef{scr@v@3.32}{18} \@namedef{scr@v@3.33}{18} +\@namedef{scr@v@3.34}{18} \@namedef{scr@v@last}{18} % \end{macrocode} % \end{macro} @@ -584,6 +587,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % \end{macro} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx index b10ee811fc6..93d6140d8ac 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx @@ -1,8 +1,7 @@ -% \CheckSum{1693} % \iffalse meta-comment % ====================================================================== % scrkernel-floats.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-floats.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-floats.dtx 3394 2019-11-19 11:56:28Z kohm $ +%%% From File: $Id: scrkernel-floats.dtx 3590 2021-03-22 10:30:57Z 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-03-22 11:30:57 +0100 (Mon, 22 Mar 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1962 $ \edef\reserved@a{% @@ -170,23 +169,22 @@ % \end{macro} % \end{macro} % +% \selectlanguage{english} % \begin{macro}{\ifonelinecaptions} -% \changes{v2.8q}{2001/11/17}{neuer Schalter}%^^A -% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A +% \changes{v2.8q}{2001/11/17}{new boolean} +% \changes{v2.98c}{2008/03/03}{earlier definition} % \begin{macro}{\onelinecaptionstrue} % \begin{macro}{\onelinecaptionsfalse} -% Die Entscheidung, ob die Sonderbehandlung für einzeilige caption-Texte -% durchgeführt werden soll, wird in einem Schalter gespeichert. In der -% Hoffnung, beim Laden von \textsf{caption2} Speicher zu sparen, wird -% der gleiche Name verwendet, den auch \textsf{caption2} -% verwendet. Trotzdem sollte man diesen Schalter als internen Schalter -% betrachten. +% The boolean is used to distinguish whether or not use a special handling of +% captions with one text line only. The name of the boolean is traditionally +% but nevertheless should seen as internal. % \begin{macrocode} \newif\ifonelinecaptions\onelinecaptionstrue % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} +% \selectlanguage{ngerman} % % \begin{macro}{\scap@pos} % \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A @@ -378,18 +376,16 @@ % \end{option} % \end{option} % +% \selectlanguage{english} % \begin{option}{origlongtable} -% \changes{v2.8l}{2001/08/16}{neue Option}%^^A -% Wenn das \textsf{longtable}-Paket geladen ist, werden die -% Tabellentitel dafür normalerweise von den Klassen umdefiniert. Dies -% geschieht automatisch nicht, wenn das \textsf{caption2}-Paket -% geladen ist. Es geschieht ausserdem nicht, wenn diese Option gesetzt -% ist. +% \changes{v2.8l}{2001/08/16}{new option} +% If package \textsf{longtable} is loaded, the classes redefine table titles +% of that package. However, if the option has been set, this is prevented. % \begin{macro}{\if@komalongtable} -% \changes{v2.8l}{2001/08/16}{neue Option}%^^A +% \changes{v2.8l}{2001/08/16}{new boolean} % \begin{macro}{\@komalongtabletrue} % \begin{macro}{\@komalongtablefalse} -% Die Einstellung wird in einem Schalter gespeichert. +% The wanted behaviour is stored in a boolean. % \begin{macrocode} \newif\if@komalongtable\@komalongtabletrue \DeclareOption{origlongtable}{\@komalongtablefalse} @@ -400,30 +396,22 @@ % \end{option} % % \begin{option}{onelinecaption} -% \changes{v2.8q}{2001/11/17}{neue Option}%^^A +% \changes{v2.8q}{2001/11/17}{new option} % \changes{v2.98c}{2008/03/03}{obsolete} -% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A -% mehr} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{option}{noonelinecaption} -% \changes{v2.8q}{2001/11/17}{neue Option}%^^A +% \changes{v2.8q}{2001/11/17}{new option} % \changes{v2.98c}{2008/03/03}{obsolete} -% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A -% mehr} +% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed} % \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Da für diese Option nicht der gleiche Name verwendet wird, wie bei -% \textsf{caption2}, wurde von den Optionen bis Version~2.98b nicht nur der -% Schalter entsprechend gesetzt, sondern auch die korrespondierende Option an -% \textsf{caption2} weitergeleitet. Der gleiche Name konnte schlecht -% verwendet werden, weil er bei einer Klasse auch nicht ansatzweise -% als selbsterklärend bezeichnet werden kann. Ab Version~2.98c entfällt die -% Sonderbehandlung von \textsf{caption2}. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} % \end{macrocode} % \end{option} % \end{option} +% \selectlanguage{ngerman} % % % \iffalse @@ -829,13 +817,13 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\setcapindent} -% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}%^^A +% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet} % \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt -% \cs{def}\cs{cap@indent}}%^^A +% \cs{def}\cs{cap@indent}} % \changes{v2.8q}{2001/11/17}{wird nach dem Laden von -% \textsf{caption2} umdefiniert}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \textsf{caption2} umdefiniert} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt} +% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} % Dann wird weiter ein Befehl benötigt, mit dem der Benutzer die % Weite des Einzugs selbst einstellen kann. Da intern für die Weite % ein Makro verwendet werden soll, findet hier sicherheitshalber eine @@ -866,58 +854,34 @@ \edef\cap@indent{\the\@tempdima}% \dofullc@pfalse\@capbreaktrue } -\AfterPackage{caption2}{% - \renewcommand*{\setcapindent}{% - \ClassWarning{\KOMAClassName}{% - You're using package `caption2'.\MessageBreak - Because of this you should also use `\string\captionstyle' - and\MessageBreak - set length '\string\captionindent' instead of - using\MessageBreak - `\string\setcapindent'% - }% - \captionstyle{indent}% - \kernel@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}% - }% -} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \begin{macro}{\setcaphanging} % \changes{v2.8q}{2001/11/17}{wird nach dem Laden von -% \textsf{caption2} umdefiniert} +% \textsf{caption2} umdefiniert} +% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} % Andererseits soll es auch möglich sein, nachträglich wieder den % automatischen Einzug einzuschalten. Dafür gibt es ein weiteres % Makro. % \begin{macrocode} \newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} -\AfterPackage{caption2}{% - \renewcommand*{\setcaphanging}{% - \ClassWarning{\KOMAClassName}{% - You're using package `caption2'.\MessageBreak - Because of this you should also use - `\string\captionstyle'\MessageBreak - instead of `\string\setcaphang'% - } - \captionstyle{hang}% - }% -} % \end{macrocode} % \end{macro} % % Nun aber zur neuen Definition der Titel. Zunächst geht alles wie % gehabt. % \changes{v2.5g}{1999/10/09}{\cs{@makecaption} per \cs{newcommand} -% definiert statt mit \cs{long}\cs{def}} +% definiert statt mit \cs{long}\cs{def}} % \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen Über- und -% Unterschriften}%^^A +% Unterschriften}%^^A % \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet -% \cs{@@makecaption}} +% \cs{@@makecaption}} % \changes{v2.8q}{2001/11/17}{die Sonderbehandlung für einzeilige -% \emph{caption}s ist abschaltbar} +% \emph{caption}s ist abschaltbar} % \changes{v2.8q}{2001/11/17}{Titel können in ihrer Breite -% beschränkt werden}%^^A +% beschränkt werden}%^^A % \begin{macrocode} \newcommand{\@makecaption}[2]{% \if@captionabove @@ -956,12 +920,12 @@ % \end{macro} % \end{macro} % \begin{macro}{\setcapwidth} -% \changes{v2.8q}{2001/11/17}{neu}%^^A -% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt -% \cs{if@thispageodd}} -% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt}%^^A +% \changes{v2.8q}{2001/11/17}{neu} +% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt \cs{if@thispageodd}} +% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt} % \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt}%^^A +% ersetzt} +% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} % Hier wird \cs{cap@width} gesetzt. Dabei werden optional auch % \cs{cap@left} und \cs{cap@right} angepasst. % \begin{macrocode} @@ -1032,22 +996,6 @@ \fi\fi\fi\fi\fi } % \end{macrocode} -% Falls \textsf{caption2} geladen wird, ändert sich die Funktion. Das -% optionale Argument wird dann ignorriert. -% \begin{macrocode} -\AfterPackage{caption2}{% - \renewcommand*{\setcapwidth}[2][]{% - \ClassWarning{\KOMAClassName}{% - Ignorring optional argument of `\string\setcapwidth'!\MessageBreak - You're using package `caption2'.\MessageBreak - Because of this you should also use - `\string\setcaptionwidth'\MessageBreak - instead of `\string\setcapwidth'% - }% - \setcaptionwidth{#2}% - }% -}% -% \end{macrocode} % \end{macro}%^^A \setcapwidth % \begin{macro}{\setcapdynwidth} % \changes{v3.20}{2016/03/31}{neu} @@ -1166,15 +1114,15 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\setcapmargin} -% \changes{v2.8q}{2001/11/17}{neu}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \changes{v2.8q}{2001/11/17}{neu} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt} % \begin{macro}{\@setcapmargin} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A +% \changes{v2.8q}{2001/11/17}{neu (intern)} % \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt % \cs{if@thispageodd}} % \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt}%^^A +% ersetzt} +% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} % \begin{macro}{\@@setcapmargin} % \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A % Statt die Breite der \emph{caption} zu setzen, können auch die @@ -1227,26 +1175,6 @@ }% } % \end{macrocode} -% Wenn \textsf{caption2} geladen ist, ändert sich die Bedeutung. -% \begin{macrocode} -\AfterPackage{caption2}{% - \renewcommand*{\@setcapmargin}[2][\@tempdimb]{% - \setlength{\@tempdimb}{#2}% - \setlength{\@tempdima}{#1}% - \ifdim\@tempdima\@tempdimb\else - \ClassWarning{\KOMAClassName}{% - Can set only centered caption!\MessageBreak - You're using package `caption2'.\MessageBreak - Because of this you should also use - `\string\setcaptionmargin'\MessageBreak - instead of `\string\setcapmargin'% - }% - \fi - \addtolength{\@tempdimb}{\@tempdimb}% - \setcaptionmargin{.5\@tempdimb}}% - \let\@@setcapmargin=\@setcapmargin -} -% \end{macrocode} % \end{macro} % \end{macro} % \end{macro} @@ -1315,7 +1243,16 @@ \unexpanded\expandafter{\@xcentercr}% }% \settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}% - \ifdim\@tempdima>\linewidth +% \end{macrocode} +% \selectlanguage{english} +% \changes{v3.34}{2021/03/22}{fix of maximum line width of single line +% captions} +% Until \KOMAScript~3.34 the test here was wrong, because it used +% \cs{linewidth}, which is still the whole line width not the maximum caption +% width. From \KOMAScript~3.34 \cs{cap@width} is used. +% \selectlanguage{ngerman} +% \begin{macrocode} + \ifdim\@tempdima>\cap@width \aftergroup\scr@makemultilinecaption \else \aftergroup\scr@makesinglelinecaption @@ -1650,29 +1587,26 @@ % \end{macro}%^^A \caption % % \begin{macro}{\LT@makecaption} -% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A +% \changes{v2.8j}{2001/07/30}{neu (intern)} % \changes{v2.8k}{2001/08/15}{keine Umdefinierung, wenn das -% \textsf{caption2}-Paket erkannt oder die Option -% \texttt{origlongtable} gesetzt wurde} +% \textsf{caption2}-Paket erkannt oder die Option +% \texttt{origlongtable} gesetzt wurde} % \changes{v2.8q}{2001/11/18}{Breite und Anordnung wird über -% \KOMAScript-Makros bestimmt}%^^A +% \KOMAScript-Makros bestimmt} % \changes{v2.8q}{2001/11/18}{Verwendung von \cs{AfterPackage}} % \changes{v2.9s}{2004/08/24}{vertikale Abstände durch verschieben von -% \cs{vskip} korrigiert} +% \cs{vskip} korrigiert} % \begin{macro}{\LT@array} -% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A +% \changes{v2.8q}{2001/11/18}{neu (intern)} % \begin{macro}{\LT@caption} -% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A +% \changes{v2.8q}{2001/11/18}{neu (intern)} % \begin{macro}{\scr@caption@before@longtable@warning} -% \changes{v2.98c}{2008/03/03}{neu (intern)}%^^A +% \changes{v2.98c}{2008/03/03}{neu (intern)} +% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} % Ab Version 2.8j wird auf vielfachen Wunsch das % \textsf{longtable}-Paket berücksichtigt. Da Pakete aber nach % Klassen geladen werden, kann dies erst nach dem Laden des Pakets -% aktiviert werden. Die Definition entspricht der obigen. Wird das -% \textsf{caption2}-Paket nach \textsf{longtable} geladen, so wird -% automatisch die Definition von \textsf{caption2} verwendet. Wird -% \textsf{caption2} vor \textsf{longtable} geladen, so liegt -% voraussichtlich eine Fehlbedienung vor, auf die hingewiesen wird. +% aktiviert werden. Die Definition entspricht der obigen. % \begin{macrocode} \newcommand*{\scr@caption@before@longtable@warning}[1]{% \ClassWarning{\KOMAClassName}{% @@ -1688,9 +1622,6 @@ }% } \AfterPackage{longtable}{% - \@ifpackageloaded{caption2}{\@komalongtablefalse - \scr@caption@before@longtable@warning{caption2}% - }{}% \if@komalongtable \renewcommand{\LT@makecaption}[3]{% \noalign{% diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx index 198896bec2a..2e703b4a8a5 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx @@ -1,8 +1,7 @@ -% \CheckSum{3406} % \iffalse meta-comment % ====================================================================== % scrkernel-fonts.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-fonts.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-fonts.dtx 3390 2019-11-18 17:09:35Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 3597 2021-05-17 12:54:47Z kohm $ %<identify>%%% (run: identify) %<option>%%% (run: option) %<body>%%% (run: body) @@ -66,7 +65,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-05-17 14:54:47 +0200 (Mon, 17 May 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1827 $ \edef\reserved@a{% @@ -1946,46 +1945,49 @@ % \end{macrocode} % \end{macro} % +% \selectlanguage{english} % \begin{macro}{\usesizeofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel +% change} % \begin{macro}{\usefamilyofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} % \begin{macro}{\useseriesofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} % \begin{macro}{\useshapeofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.16a}{2015/02/20}{Makroname korrigiert}%^^A -% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.16a}{2015/02/20}{fix of macro name} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} % \begin{macro}{\useencodingofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} % \begin{macro}{\usefontofkomafont} -% \changes{v3.12}{2013/03/30}{neu}%^^A -% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A -% Manchmal wollen die Leute tatsächlich gar nicht den kompletten Font eines -% Elements, sondern nur einen Teilaspekt davon. Aber Version~3.12 wird das mit -% Hilfe neuer Anweisungen unterstützt. +% \changes{v3.12}{2013/03/30}{new} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel +% change} +% Sometimes not the whole font but only single elements of a font is +% wanted. % \begin{macrocode} \newcommand*{\usesizeofkomafont}[1]{% \begingroup \scr@prepareforkomafont - \def\selectfont{% - \global\let\g@scr@f@size\f@size - \global\let\g@scr@f@baselineskip\f@baselineskip - \global\let\g@scr@f@linespread\f@linespread - }% - \selectfont \sbox\@tempboxa{% - \usekomafont{#1}{\relax}% + \usekomafont{#1}{% + \selectfont + \global\let\g@scr@f@size\f@size + \global\let\g@scr@f@baselineskip\f@baselineskip + \global\let\g@scr@f@linespread\f@linespread + }% }% \endgroup \linespread{\g@scr@f@linespread}% @@ -1999,47 +2001,48 @@ \newcommand*{\usefontofkomafont}[1]{% \begingroup \scr@prepareforkomafont - \def\selectfont{% - \global\let\g@scr@f@encoding\f@encoding - \global\let\g@scr@f@family\f@family - \global\let\g@scr@f@series\f@series - \global\let\g@scr@f@shape\f@shape - \global\let\g@scr@f@size\f@size - \global\let\g@scr@f@baselineskip\f@baselineskip - \global\let\g@scr@f@linespread\f@linespread - }% - \selectfont \sbox\@tempboxa{% - \usekomafont{#1}{\relax}% + \usekomafont{#1}{% + \selectfont + \global\let\g@scr@f@encoding\f@encoding + \global\let\g@scr@f@family\f@family + \global\let\g@scr@f@series\f@series + \global\let\g@scr@f@shape\f@shape + \global\let\g@scr@f@size\f@size + \global\let\g@scr@f@baselineskip\f@baselineskip + \global\let\g@scr@f@linespread\f@linespread + }% }% \endgroup \linespread{\g@scr@f@linespread}% \fontsize{\g@scr@f@size}{\g@scr@f@baselineskip}% \usefont{\g@scr@f@encoding}{\g@scr@f@family}{\g@scr@f@series}{\g@scr@f@shape}% -} +}% % \end{macrocode} % \begin{macro}{\use@ofkomafont} -% \changes{v3.12}{2013/03/30}{neu (intern)}%^^A -% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A -% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A -% Kleines Hilfsmakro für all diese Anweisungen bis auf die erste und die letzte. +% \changes{v3.12}{2013/03/30}{new (internal)} +% \changes{v3.17}{2015/04/03}{new more robust implementation} +% \changes{v3.24}{2017/05/06}{new more robust implementation} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel +% change} +% Helper macro for all commands above despite the first and the last one. % \begin{macrocode} \newcommand*{\use@ofkomafont}[2]{% \begingroup \scr@prepareforkomafont - \def\selectfont{% - \global\expandafter\let\csname g@scr@f@#1\expandafter\endcsname - \csname f@#1\endcsname - }% - \selectfont \sbox\@tempboxa{% - \usekomafont{#2}{\relax}% + \usekomafont{#2}{% + \selectfont + \global\expandafter\let\csname g@scr@f@#1\expandafter\endcsname + \csname f@#1\endcsname + }% }% \endgroup \@nameuse{font#1}{\csname g@scr@f@#1\endcsname}% \selectfont } % \end{macrocode} +% \selectlanguage{ngerman} % \begin{macro}{\g@scr@usefont} % \changes{v3.17}{2015/04/03}{neu (intern)}%^^A % \changes{v3.24}{2017/05/06}{entfernt}%^^A diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx index eab08b90ca4..10282eecd25 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-paragraphs.dtx @@ -54,7 +54,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-paragraphs.dtx 3552 2021-01-21 09:52:21Z kohm $ +%%% From File: $Id: scrkernel-paragraphs.dtx 3596 2021-05-17 12:53:41Z 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: 2021-01-21 10:52:21 +0100 (Thu, 21 Jan 2021) $ + \filedate$Date: 2021-05-17 14:53:41 +0200 (Mon, 17 May 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1872 $ \edef\reserved@a{% @@ -463,11 +463,15 @@ % \end{Length} % \end{Length} % +% \selectlanguage{english} % \begin{macro}{\selectfont} -% \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/01/05 use hook instead of +% \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/06/01 use hook instead of % patch} +% Note, we use 2021/05/01 instead of the official \LaTeX{} release date, +% because there were relevant earlier \LaTeX{} developer releases with that +% date. % \begin{macrocode} -\IfLTXAtLeastTF{2021/01/05}{% +\IfLTXAtLeastTF{2021/05/01}{% \AddToHook{selectfont}{\par@update}% \AfterPackage{everysel}{% \IfPackageAtLeastTF{everysel}{2021/01/18}{}{% @@ -476,7 +480,7 @@ }{% 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 + version >= 2021/06/01 and KOMA-Script >= 3.33. This combination is\MessageBreak not supported.\MessageBreak You could switch back to an older LaTeX using package @@ -500,6 +504,7 @@ }% }{% % \end{macrocode} +% \selectlanguage{ngerman} % \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 diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx index 5476cb045e8..61fb004f67a 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-sections.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-sections.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-sections.dtx 3567 2021-02-17 10:01:38Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3594 2021-04-30 08:45:15Z 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: 2021-02-17 11:01:38 +0100 (Wed, 17 Feb 2021) $ + \filedate$Date: 2021-04-30 10:45:15 +0200 (Fri, 30 Apr 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3567 $ + \filerevision$Revision: 3594 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-sections.dtx}% @@ -3677,30 +3677,30 @@ % \end{macro} % % -% \subsection{Anhang} +% \selectlanguage{english} +% \subsection{Appendix} % -% Teile gibt es tatsächlich bei allen drei Hauptklassen. +% The classes (except \textsf{scrlttr2}) does provide an appendix switch, +% similar but not identical to the standard classes. % % \begin{macro}{\appendix} -% Wird der Anhang aktiviert, so werden Kapitel bzw. Abschnitte zukünftig mit -% Buchstaben nummeriert. -% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} benötigt keinen Zähler für -% \cs{chapter}}%^^A -% \changes{v2.3c}{1995/08/06}{alternative Nummerierung bei Verwendung eines -% Anhangs}%^^A -% \changes{v2.8}{2001/06/15}{\cs{appendixmore} wird beachtet}%^^A -% \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} wird nicht länger -% ausgeführt}%^^A -% \changes{v2.8o}{2001/09/19}{\cs{par} eingefügt}%^^A -% \changes{v2.95}{2006/07/04}{\cs{newcommand*} durch \cs{gdef} ersetzt}%^^A -% \changes{v2.95}{2006/07/04}{Ausführung von \cs{appendixmore}%^^A -% vereinfacht}%^^A -% \changes{v3.20}{2016/12/05}{neue eindeutige Warnung} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% Activation of the appendix switch over to numbering of chapters +% resp. sections with uppercase letters. +% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} doesn't have a chapter +% counter} +% \changes{v2.3c}{1995/08/06}{alternative section numbering in appendix} +% \changes{v2.8}{2001/06/15}{new \cs{appendixmore}} +% \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} removed} +% \changes{v2.8o}{2001/09/19}{initial \cs{par} added} +% \changes{v2.95}{2006/07/04}{\cs{newcommand*} replaced by \cs{gdef}} +% \changes{v2.95}{2006/07/04}{simplified usage of \cs{appendixmore}} +% \changes{v3.20}{2016/12/05}{improved warning} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.34}{2021/04/30}{\LaTeX{} hook added} % \begin{macro}{\appendixmore} -% \cs{appendixmore} kann als \emph{hook} verwendet werden. Derzeit wird dieser -% allerdings noch recht stiefmütterlich behandelt und lediglich von Option -% \texttt{appendixprefix} definiert. +% \changes{v2.8}{2001/06/15}{new} +% \cs{appendixmore} is deprecated with \LaTeX{} 2020/10/01 (or newer) but +% still executed as a kind of hook. % \begin{macrocode} %<*class> %<*body> @@ -3723,7 +3723,7 @@ `\string\appendix'% }% }{}% - \par% + \par %<*article> \setcounter{section}{0}% \setcounter{subsection}{0}% @@ -3735,15 +3735,22 @@ \gdef\@chapapp{\appendixname}% \gdef\thechapter{\@Alph\c@chapter}% %</report|book> - \csname appendixmore\endcsname } +\IfLTXAtLeastTF{2020/10/01}{% + \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}% +}{} +\g@addto@macro{\appendix}{\csname appendixmore\endcsname} %</body> +%<*prepare> +\IfLTXAtLeastTF{2020/10/01}{\NewHook{\KOMAClassName/appendix}}{} +%</prepare> %</class> % \end{macrocode} % \end{macro} % \end{macro} % % +% \selectlanguage{ngerman} % \subsection{Teile} % % \changes{v2.8e}{2001/07/10}{\cs{@thepart} entfernt} @@ -4596,53 +4603,93 @@ % \end{option} % \end{option} % +% \selectlanguage{english} % \begin{option}{appendixprefix} -% \changes{v2.8}{2001/06/15}{neue Option}%^^A -% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}%^^A -% \begin{option}{noappendixprefix} -% \changes{v2.8}{2001/06/15}{neue Option}%^^A -% \changes{v2.95c}{2006/08/21}{obsolete Option}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Will man abweichend von der Option \texttt{chapterprefix} die großen -% Überschriften für den Anhang aktivieren oder deaktivieren, so kann man das -% mit dieser Option erreichen. Allerdings setzt diese keinen Schalter, sondern -% ein Zusatzmakro, das auch für andere Zwecke genutzt werden kann. Übrigens -% ist keine der beiden Einstellungen die Voreinstellung! +% \changes{v2.8}{2001/06/15}{new option} +% \changes{v2.95c}{2006/08/21}{re-implementation as \textsf{keyval} option} +% \changes{v3.12}{2013/03/05}{usage of \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/09}{internal value storage} +% \changes{v3.34}{2021/04/30}{usage of \LaTeX{} hook, if available} +% \changes{v3.34}{2021/04/30}{new value \texttt{default} with \LaTeX{} hooks} +% If the appendix chapters should be with or without prefix line independent +% from the chapters of the main part, option \Option{appendixprefix} can be +% used. This does not set up a new boolean but just activates or deactivates +% the boolean for chapters inside \cs{appendix}. From \KOMAScript{} v3.34 and +% \LaTeX{} 2020/10/01 this is done using a new \LaTeX{} hook. Otherwise still +% \cs{appendixmore} is used. Default is, using the settings for chapters. % \begin{macrocode} %<*option> -\KOMA@key{appendixprefix}[true]{% - \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}% - \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}% - \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}% - \if@tempswa - \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}% - \@ifundefined{appendixmore}{% - \def\appendixmore{\@chapterprefixtrue}% - }{% - \l@addto@macro\appendixmore{\@chapterprefixtrue}% - }% - \else - \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}% - \@ifundefined{appendixmore}{% - \def\appendixmore{\@chapterprefixfalse}% - }{% - \l@addto@macro\appendixmore{\@chapterprefixfalse}% +\IfLTXAtLeastTF{2020/10/01}{% + \KOMA@key{appendixprefix}[true]{% + \Ifstr{#1}{default}{% + \KOMA@kav@removekey{.\KOMAClassFileName}{appendixprefix}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}% + \IfHookEmptyTF{\KOMAClassName/appendix}{}{% + \RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]% }% + \FamilyKeyStateProcessed + }{% + \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}% + \IfHookEmptyTF{\KOMAClassName/appendix}{}{% + \RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]% + }% + \if@tempswa + \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}% + \AddToHook{\KOMAClassName/appendix}[appendixprefix]% + {\@chapterprefixtrue}% + \else + \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}% + \AddToHook{\KOMAClassName/appendix}[appendixprefix]% + {\@chapterprefixfalse}% + \fi + \fi + }% + }% +}{% + \KOMA@key{appendixprefix}[true]{% + \KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}% + \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}% + \if@tempswa + \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}% + \@ifundefined{appendixmore}{% + \def\appendixmore{\@chapterprefixtrue}% + }{% + \l@addto@macro\appendixmore{\@chapterprefixtrue}% + }% + \else + \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}% + \@ifundefined{appendixmore}{% + \def\appendixmore{\@chapterprefixfalse}% + }{% + \l@addto@macro\appendixmore{\@chapterprefixfalse}% + }% + \fi \fi - \fi + }% } +% \end{macrocode} +% \end{option}%^^A appendixprefix +% +% \begin{option}{noappendixprefix} +% \changes{v2.8}{2001/06/15}{new option} +% \changes{v2.95c}{2006/08/21}{obsolete option} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} \KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false} %</option> % \end{macrocode} % \end{option}%^^A noappendixprefix -% \end{option}%^^A appendixprefix % % +% \selectlanguage{ngerman} % \begin{macro}{\size@chapter} % \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A % \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx index 6bf55b77952..2f09f4d0837 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-version.dtx @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-version.dtx 3586 2021-03-17 13:57:48Z kohm $ +%%% From File: $Id: scrkernel-version.dtx 3609 2021-06-25 08:18:08Z kohm $ % \fi % % \iffalse @@ -123,7 +123,7 @@ \fi %</ignorethis> \fi - \@CheckKOMAScriptVersion{2021/03/17 v3.33 KOMA-Script}% + \@CheckKOMAScriptVersion{2021/06/25 v3.34 KOMA-Script}% \endgroup % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx index d0c33a8c927..e169ac4772f 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-notecolumn.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlayer-notecolumn.dtx -% Copyright (c) Markus Kohm, 2013-2020 +% Copyright (c) Markus Kohm, 2013-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-notecolumn.dtx -% Copyright (c) Markus Kohm, 2013-2020 +% Copyright (c) Markus Kohm, 2013-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-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3601 2021-05-30 19:11:44Z 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-05-30 21:11:44 +0200 (Sun, 30 May 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{v0.3.#2}} - \filerevision$Revision: 3533 $ + \filerevision$Revision: 3601 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlayer-notecolumn.dtx}% @@ -211,8 +211,8 @@ % % Here we test the used pdf\TeX{} primitives. % \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfsavepos} and -% \cs{pdflastypos} in luaTeX}%^^A -% \changes{v0.1.2483}{2016/06/28}{grouping fixed}%^^A +% \cs{pdflastypos} in luaTeX} +% \changes{v0.1.2483}{2016/06/28}{grouping fixed} % \begin{macrocode} \@tempswatrue \scr@ifundefinedorrelax{pdfsavepos}{% @@ -292,7 +292,7 @@ % text width. So we can use a macro too. Both will be initialised to the % normal marginal note column later. % \changes{3.27}{2019/02/14}{initialization of one colour stack per note -% column}%^^A +% column} % For colour support we also need one colour stack per note column. A colour % stack is a feature only available for pdf\TeX{} and lua\TeX{}. % \begin{macrocode} @@ -363,7 +363,7 @@ } % \end{macrocode} % \begin{macro}{\slnc@initial@black} -% \changes{v0.2.3085}{2019/02/14}{new internal}%^^A +% \changes{v0.2.3085}{2019/02/14}{new internal} % The initial black is the colour used to initialize the colour stacks. As long % as only pdf\TeX{} and lua\TeX{} provide colour stacks, we can initialize it % with \texttt{0 g 0 G}. However it may be better to use the initial @@ -642,11 +642,11 @@ % % \begin{macro}{\tf@slnc} % \changes{v0.1.2395}{2016/03/25}{write to \texttt{aux}-file with -% \cs{if@filesw}}%^^A +% \cs{if@filesw}} % \begin{macro}{\slnc@initwrite} % \begin{macro}{\slnc@openwrite} % \changes{v0.1.2928}{2018/02/02}{use \cs{closein} instead of \cs{closeout} -% to close \cs{slnc@file}}%^^A +% to close \cs{slnc@file}} % First of all we need a file to write the notes to. We use the % \File{aux}-file to write into the file, because we need to read the file % while the document will be typeset and the same time we need to write into @@ -678,9 +678,9 @@ % calculate the md5 checksum of the \File{slnc}-file. If it has been changed % we set |\if@tempswa| to |\iftrue| to provocate a rerun message. % \changes{v0.1.2872}{2018/01/17}{usage of Lua function -% \texttt{slncmdfivesum}}%^^A +% \texttt{slncmdfivesum}} % \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{} -% primitive \cs{mdfivesum}}%^^A +% primitive \cs{mdfivesum}} % \begin{macrocode} \AfterReadingMainAux{% \immediate\closeout\tf@slnc @@ -688,7 +688,7 @@ \scr@ifundefinedorrelax{pdfmdfivesum}{% \scr@ifundefinedorrelax{mdfivesum}{% \ifdefined\directlua - \edef\reserved@a{\directlua{slncmdfivesum("\jobname.slnc")}}% + \edef\reserved@a{\directlua{slnc.mdfivesum(slnc.slncfile)}}% \else \let\reserved@a\relax \fi @@ -732,6 +732,18 @@ } %</body> % \end{macrocode} +% \changes{v0.3.3600}{2021/05/30}{use of \textsf{scrwfile}'s never list}% +% The easiest way to make it compatible with \Package{scrwfile} is to put it +% on the \emph{never} list. +% \begin{macrocode} +%<*body> +\AfterPackage*{scrwfile}{% + \@ifundefined{scrwfile@never}{\def}{\g@addto@macro}% + \scrwfile@never{slnc}% +} +%</body> +% \end{macrocode} +% % \end{macro}%^^A \slnc@openwrite % \end{macro}%^^A \slnc@initwrite % \end{macro}%^^A \tf@slnc @@ -749,9 +761,9 @@ % There is a star variant with the same parameters, that writes the % \meta{code} un-expanded. To do so, we need some internal commands. % \begin{macro}{\slnc@unexpanded} -% \changes{0.1.2583}{2017/02/08}{new (internal)}%^^A +% \changes{v0.1.2583}{2017/02/08}{new (internal)} % \begin{macro}{\slnc@makenote} -% \changes{0.1.2583}{2017/02/08}{new (internal)}%^^A +% \changes{v0.1.2583}{2017/02/08}{new (internal)} % \begin{macrocode} %<*body> \newcommand*{\slnc@unexpanded}{} @@ -847,7 +859,7 @@ \expandafter\hsize\csname slnc@#1@width\endcsname \normalfont\normalsize % \end{macrocode} -% \changes{v0.2.3085}{2019/02/14}{using colour stack if available}%^^A +% \changes{v0.2.3085}{2019/02/14}{using colour stack if available} % If a color stack is available we switch to it before changing the font. So a % color definition inside the font would overwrite every color change inside % the column! But if we don't have a color stack, color switching is not @@ -864,7 +876,7 @@ \fi % \end{macrocode} % \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfpageheight} in -% luaTeX}%^^A +% luaTeX} % From lua\TeX~0.80.1 \cs{pdfpageheight} will be renamed into % \cs{pageheight}. So we have to do an extra test for the new primitive. % \begin{macrocode} @@ -920,7 +932,7 @@ \ifdim\@tempdima>\z@ \kern\@tempdima\fi \fi % \end{macrocode} -% \changes{v0.1.2582}{2017/02/08}{restore several commands}%^^A +% \changes{v0.1.2582}{2017/02/08}{restore several commands} % Some commands have to be restored when processing the note. % \begin{macrocode} \slnc@restoreinnote @@ -967,7 +979,7 @@ \splitmaxdepth\baselineskip % \end{macrocode} % Bring back the colours: -% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}%^^A +% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added} % \begin{macrocode} \usekomafont{notecolumn.#1}{% \expandafter\vsplit\csname slnc@#1@box\endcsname to @@ -986,7 +998,7 @@ %</trace> % \end{macrocode} % Bring back the colours: -% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}%^^A +% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added} % \begin{macrocode} \usekomafont{notecolumn.#1}{% \slnc@switchcolorstack{#1}% @@ -1001,7 +1013,7 @@ } % \end{macrocode} % \begin{macro}{\slnc@switchcolorstack} -% \changes{v0.2.3085}{2019/02/14}{new internal}%^^A +% \changes{v0.2.3085}{2019/02/14}{new internal} % This either redefines \cs{set@color} or switches to the colour stack of the % note column given by the argument. % \begin{macrocode} @@ -1050,9 +1062,9 @@ % \end{macrocode} % \end{macro}%^^A \slnc@switchcolorstack % \begin{macro}{\restoreinnote} -% \changes{0.1.2582}{2017/02/08}{new command}%^^A +% \changes{v0.1.2582}{2017/02/08}{new command} % \begin{macro}{\slnc@restoreinnote} -% \changes{0.1.2582}{2017/02/08}{new (internal)}%^^A +% \changes{v0.1.2582}{2017/02/08}{new (internal)} % Some commands have to be restored while processing the notes. By default % these are \cs{label}, \cs{index}, \cs{glossary}. More can be added using % \cs{restoreinnote}. The storage is \cs{slnc@restoreinnote}. @@ -1080,7 +1092,7 @@ % \Macro{slnc@note} or \Macro{slnc@sync} in the file is greater than % \Counter{slncpage}. Put all these to the corresponding unprocessed list. % \begin{macro}{\slnc@catcodes} -% \changes{v0.3}{2019/03/02}{new internal}%^^A +% \changes{v0.3}{2019/03/02}{new internal} % We need a helper macro \cs{slnc@catcodes} to restore (some of) the catcodes % before reading from file. % \begin{macrocode} @@ -1193,12 +1205,15 @@ % \begin{macro}{\slnc@file} % The input file with the unprocessed notes. % \changes{v0.1.2928}{2018/02/02}{use \cs{closein} instead of \cs{closeout} -% to close \cs{slnc@file}}%^^A +% to close \cs{slnc@file}} % \begin{macro}{\slnc@mdfivesum} % \changes{v0.1.2872}{2018/01/17}{definition and usage of Lua function -% \texttt{slncmdfivesum}}%^^A +% \texttt{slncmdfivesum}} % \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{} -% primitive \cs{mdfivesum}}%^^A +% primitive \cs{mdfivesum}} +% \changes{v0.3.3591}{2021/03/25}{Lua function name changed to +% \texttt{slnc.mdfivesum}} +% \changes{v0.3.3591}{2021/03/25}{new Lua variable \texttt{slnc.slncfile}} % The MD5 sum of the file before opening it for reading. % \begin{macrocode} %<*body> @@ -1208,7 +1223,8 @@ \scr@ifundefinedorrelax{mdfivesum}{% \ifdefined\directlua \directlua{% - function slncmdfivesum(filename) + slnc = slnc or {} + function slnc.mdfivesum(filename) local fh = io.open(filename,"rb") if fh then local sum=md5.sumhexa(fh:read("*a")) @@ -1216,8 +1232,16 @@ fh:close() end end + if (string.sub(tex.jobname,1,1) == '"') + and (string.sub(tex.jobname,string.len(tex.jobname),-1) == '"') + then + slnc.slncfile = string.sub(tex.jobname,2,-2) + else + slnc.slncfile = tex.jobname + end + slnc.slncfile = slnc.slncfile .. '.slnc' }% - \xdef\slnc@mdfivesum{\directlua{slncmdfivesum("\jobname.slnc")}}% + \xdef\slnc@mdfivesum{\directlua{slnc.mdfivesum(slnc.slncfile)}}% \fi }{% \xdef\slnc@mdfivesum{\mdfivesum file {\jobname.slnc}}% @@ -1410,8 +1434,8 @@ % \end{macro}%^^A \clearnotecolumn % % \begin{macro}{\clearnotecolumns} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}%^^A +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}} % \begin{description} % \item[\OParameter{string list}:] comma separated list of note column names % (must be fully expandable and each element must expand to a string only, @@ -1572,8 +1596,8 @@ % synchronisation of the text with the note. % % \begin{macro}{\syncwithnotecolumn} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}%^^A +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}} % \begin{description} % \item[\OParameter{string}:] the name of the note column to sync with (this % must be fully expandable and expand to the name of a note column). By @@ -1696,7 +1720,7 @@ }% % \end{macrocode} % \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfpageheight} in -% luaTeX}%^^A +% luaTeX} % From lua\TeX~0.80.1 \cs{pdfpageheight} will be renamed into % \cs{pageheight}. So we have to do an extra test for the new primitive. % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx index 6f223ad9449..d7a264f89ee 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlayer-scrpage.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-scrpage.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-scrpage.dtx 3531 2020-09-11 12:28:41Z kohm $ +%%% From File: $Id: scrlayer-scrpage.dtx 3595 2021-05-16 07:11:07Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -47,9 +47,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 14:28:41 +0200 (Fri, 11 Sep 2020) $ + \filedate$Date: 2021-05-16 09:11:07 +0200 (Sun, 16 May 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3531 $ + \filerevision$Revision: 3595 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlayer-scrpage.dtx}% @@ -1507,19 +1507,20 @@ }% % \end{macrocode} % \begin{macro}{\sls@secure@box} -% \begin{description} -% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum -% height + depth of the \meta{content}. It has to be either -% \cs{headheight} or \cs{footheight}. -% \item[\Parameter{content}:] what should be output (inside the box). -% \end{description} +% \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}} +% \begin{description} +% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum +% height + depth of the \meta{content}. It has to be either +% \cs{headheight} or \cs{footheight}. +% \item[\Parameter{content}:] what should be output (inside the box). +% \end{description} % Note, that several length may be changed, to fit. % \begin{macrocode} \newcommand*{\sls@secure@box}[2]{% \begingroup \setbox\z@\vbox{% \ifsls@leavevmode\leavevmode\expandafter\ignorespaces\fi - #2% + #2\par }% \ifdim #1<\dimexpr \ht\z@+\dp\z@\relax \PackageWarning{scrlayer-scrpage}{% @@ -1671,12 +1672,13 @@ % \end{macro}%^^A \footfont % % \begin{macro}{\sls@hf@rule} -% \begin{description} -% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep}, -% \texttt{footsep}, or \texttt{footbot} -% \item[\Parameter{dimensional expression}:] the line length (width) -% \item[\Parameter{dimensional expression}:] the line thickness (height) -% \end{description} +% \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}} +% \begin{description} +% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep}, +% \texttt{footsep}, or \texttt{footbot} +% \item[\Parameter{dimensional expression}:] the line length (width) +% \item[\Parameter{dimensional expression}:] the line thickness (height) +% \end{description} % Helper to draw the line. % \begin{macrocode} \newcommand*\sls@hf@rule[3]{% @@ -1699,6 +1701,7 @@ \if@tempswa \hskip \z@\@plus 1fill\@minus \paperwidth\null \fi + \par }% }% \endgroup diff --git a/Master/texmf-dist/source/latex/koma-script/scrlfile-hook.dtx b/Master/texmf-dist/source/latex/koma-script/scrlfile-hook.dtx index 9ebbd46ee4f..7dc937a5dfe 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlfile-hook.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlfile-hook.dtx @@ -45,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: 2021-03-02 08:40:05 +0100 (Tue, 02 Mar 2021) $ + \filedate$Date: 2021-04-21 12:11:38 +0200 (Wed, 21 Apr 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3574 $ + \filerevision$Revision: 3593 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlfile-hook.dtx}% @@ -147,19 +147,35 @@ %<@@=scrlfile> % \end{macrocode} % -% Test whether the uses \LaTeX{} provides all commands we need. +% Test whether the used \LaTeX{} provides all commands we need. +% \changes{v3.34}{2021/04/21}{make it more robust agains not recommended +% direct usage} % \begin{macrocode} -\@ifundefined{AddToHook}{% - \PackageError{scrlfile-hook}{LaTeX too old for this package}{% - \string\AddToHook\space of LaTeX 2020-10-01 or newer is - needed.\MessageBreak - Please update LaTeX or use package scrlfile-patch instead of\MessageBreak - scrlfile-hook.\MessageBreak - If you would continue, I will try to load scrlfile-patch +\@ifundefined{IfFormatAtLeastTF}{% + \PackageError{scrlfile-hook}{not recommended usage of package}{% + It seems this package has been loaded directly using a LaTeX + version\MessageBreak + prior to 2020-10-01. This is not recommend. Please always load + package\MessageBreak + scrlfile instead of scrlfile-hook.\MessageBreak + If you would continue, I will try to load scrlfile-patcholdlatex% }% - \RequirePackage{scrlfile-patch}% + \RequirePackage{scrlfile-patcholdlatex}% \endinput -}{} +}{% + \IfFormatAtLeastTF{2020/10/01}{}{% + \PackageError{scrlfile-hook}{LaTeX too old for this package}{% + It seems this package has been loaded directly using a LaTeX + version\MessageBreak + prior to 2020-10-01. This is not recommend. Please always load + package\MessageBreak + scrlfile instead of scrlfile-hook.\MessageBreak + If you would continue, I will try to load scrlfile-patcholdlatex% + }% + \RequirePackage{scrlfile-patcholdlatex}% + \endinput + }{}% +} % \end{macrocode} % % diff --git a/Master/texmf-dist/source/latex/koma-script/scrlfile-patcholdlatex.dtx b/Master/texmf-dist/source/latex/koma-script/scrlfile-patcholdlatex.dtx index 070d28a5dd3..bae36b7a3fb 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrlfile-patcholdlatex.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrlfile-patcholdlatex.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlfile-patcholdlatex.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-patcholdlatex.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. @@ -58,14 +58,14 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrlfile-patcholdlatex.dtx 3527 2020-09-11 09:44:32Z kohm $ +%%% From File: $Id: scrlfile-patcholdlatex.dtx 3593 2021-04-21 10:11: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-11 11:44:32 +0200 (Fri, 11 Sep 2020) $ + \filedate$Date: 2021-04-21 12:11:38 +0200 (Wed, 21 Apr 2021) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3527 $ + \filerevision$Revision: 3593 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlfile-patcholdlatex.dtx}% @@ -139,6 +139,26 @@ % % \subsection{Patching \LaTeX{} Kernel Macros} % +% Test whether the used \LaTeX{} is old enough. +% \changes{v3.34}{2021/04/21}{make it more robust agains not recommended +% direct usage} +% \begin{macrocode} +\@ifundefined{IfFormatAtLeastTF}{}{% + \IfFormatAtLeastTF{2020/10/01}{% + \PackageError{scrlfile-hook}{LaTeX too young for this package}{% + It seems this package has been loaded directly using a LaTeX + version\MessageBreak + 2020-10-01 or newer. This is not recommend. Please always load + package\MessageBreak + scrlfile instead of scrlfile-patcholdlatex.\MessageBreak + If you would continue, I will try to load scrlfile-hook% + }% + \RequirePackage{scrlfile-hook}% + \endinput + }{}% +} +% \end{macrocode} +% % \begin{macro}{\InputIfFileExists} % \changes{v2.96}{2006/07/19}{replacement code added}%^^A % \LaTeX{} uses this macro for loading files with diff --git a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx index 26e3b0af9e4..7228e756abc 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrwfile.dtx @@ -1,8 +1,7 @@ -% \CheckSum{306} % \iffalse meta-comment % ====================================================================== % scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2020 +% Copyright (c) Markus Kohm, 2010-2021 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -29,7 +28,7 @@ % at least three times. % ---------------------------------------------------------------------- % scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2020 +% Copyright (c) Markus Kohm, 2010-2021 % % Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. % @@ -75,7 +74,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrwfile.dtx 3453 2020-02-25 07:33:30Z kohm $ +%%% From File: $Id: scrwfile.dtx 3600 2021-05-30 19:00:56Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{scrwfile.dtx} @@ -84,7 +83,7 @@ %<package&identify>\ProvidesPackage{scrwfile} %<driver>\ProvidesFile{scrwfile.drv} %<*dtx|(package&identify)|driver> - [2013/08/05 v0.1f-alpha KOMA-Script package (write and clone files)] + [2021/05/30 v0.1.9-alpha KOMA-Script package (write and clone files)] %</dtx|(package&identify)|driver> %<*dtx> \ifx\documentclass\undefined @@ -158,7 +157,8 @@ % \selectlanguage{english} % % \changes{v0.1}{2010/10/01}{start of new package} -% \changes{v0.1g}{2014/10/13}{manual moved to \KOMAScript{} manual} +% \changes{v0.1.7}{2014/10/13}{manual moved to \KOMAScript{} manual} +% \changes{v0.1.9}{2021/05/30}{version number scheme changed} % % \StopEventually{% % \clearpage @@ -210,17 +210,27 @@ \RequirePackage{scrbase}[2010/09/17] % \end{macrocode} % -% Package \textsf{tocbasic} is needed for the lists of cloned TOCs. -% \begin{macrocode} -\RequirePackage{tocbasic}[2010/10/01] -% \end{macrocode} -% % Package \textsf{scrlfile} is needed because of the \texttt{aux} file % handling and \verb|\protected@immediate@write|. % \begin{macrocode} \RequirePackage{scrlfile}[2010/09/30] % \end{macrocode} % +% \subsubsection{Is is needed?} +% +% \changes{v0.1.9}{2021/05/30}{with Lua\LaTeX{} using is not recommended} +% If the user uses Lua\LaTeX{} usage of \textsf{scrwfile} should not be +% needed. +% \begin{macrocode} +\scr@ifluatex{% + \PackageInfoNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak + With LuaLaTeX you should never get an error message:\MessageBreak + \space\space`No room for a new \string\write'.\MessageBreak + So scrwfile could make much more harm than benefit\MessageBreak + and using it is not recommended}% +}{} +% \end{macrocode} +% % \subsubsection{\LaTeX{} Kernel Patchs} % % For some features we need to patch \LaTeX{} kernel macros. Those features @@ -249,7 +259,7 @@ \if@tempswa \scr@ifundefinedorrelax{scrwfile@never}{}{% \edef\reserved@b{#1}% - \@for\reserved@a:=\scrwfile@only\do + \@for\reserved@a:=\scrwfile@never\do {\ifx\reserved@a\reserved@b\@tempswafalse\fi}% }% \fi @@ -356,13 +366,35 @@ \fi } % \end{macrocode} +% \changes{v0.1.8}{2021/05/30}{added order rule for +% \textsf{scrlayer-notecolumn}} +% Note: Here we use a \LaTeX{} version test, because a do-nothing-definition +% like the one of \textsf{latexrelease} wouldn't be correct, if the command is +% not supported by the current \LaTeX{} kernel version setting. +% \begin{macrocode} +\IfLTXAtLeastTF{2020/10/01}{% + \DeclareHookRule{enddocument/afteraux}% + {scrwfile}{before}{scrlayer-notecolumn}% +}{% + \@ifpackageloaded{scrlayer-notecolumn}{% + \PackageWarningNoLine{scrwfile}{% + Dangerous package order detected!\MessageBreak + As a general rule, you should load scrwfile as soon\MessageBreak + as possible, maybe even before `\string\documentclass'\MessageBreak + (using `\string\RequirePackage' instead of + `\string\usepackage').\MessageBreak + Following packages should be loaded after scrwfile:\MessageBreak + \space - scrlayer-notecolumn}% + }{}% +} +% \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@starttoc} % We have to add the single handle feature to this. % \begin{macro}{\scrwfile@saved@starttoc} -% \changes{v0.1e}{2013/07/24}{take care for unfriendly \textsl{hyperref}} +% \changes{v0.1.5}{2013/07/24}{take care for unfriendly \textsl{hyperref}} % This is the original definition, that will be used, if the file is not under % \texttt{scrwfile}'s control. Because of package \textsl{hyperref}, that does % a hard redefinition without any care for changed definitions, we have to @@ -449,12 +481,13 @@ % \end{macro} % % \begin{macro}{\TOCclone} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by -% \cs{Ifattoclist}}%^^A -% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A -% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A +% \changes{v0.1.8}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}} +% \changes{v0.1.8}{2019/11/19}{\cs{ifattoclist} replaced by \cs{Ifattoclist}} +% \changes{v0.1.8}{2019/11/19}{\cs{iftocfeature} replaced by +% \cs{Iftocfeature}} +% \changes{v0.1.8}{2020/02/25}{spurious space in warning message removed} +% \changes{v0.1.9}{2021/05/30}{requires package \textsf{tocbasic}} +% \changes{v0.1.9}{2021/05/30}{can be used only in preamble} % Clone the entries from the second (first mandatory) argument TOC to the % third (second mandatory) argument TOC. If the first (optional) argument was % given, define |\listof#3name| to this and also define |\listof#3| and clone @@ -465,6 +498,7 @@ % extensions. % \begin{macrocode} \newcommand*{\TOCclone}[3][]{% + \RequirePackage{tocbasic}% \scr@ifundefinedorrelax{scrwfile@clone@#2}{% \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{% #3,\protect\csname scrwfile@clone@#3\endcsname @@ -499,6 +533,7 @@ \Iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}% }% } +\@onlypreamble\TOCClone % \end{macrocode} % \end{macro} % |