From 32e0f5d0a5abc4f2b6c7341f19b854b5945c3ebd Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 21 Sep 2021 03:02:01 +0000 Subject: CTAN sync 202109210302 --- macros/latex-dev/base/ltcounts.dtx | 132 +++++++++++++++++++++++-------------- 1 file changed, 82 insertions(+), 50 deletions(-) (limited to 'macros/latex-dev/base/ltcounts.dtx') diff --git a/macros/latex-dev/base/ltcounts.dtx b/macros/latex-dev/base/ltcounts.dtx index 445cac2f2e..39fb47728d 100644 --- a/macros/latex-dev/base/ltcounts.dtx +++ b/macros/latex-dev/base/ltcounts.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltcounts.dtx} - [2020/12/04 v1.1l LaTeX Kernel (Counters)] + [2021/07/08 v1.1m LaTeX Kernel (Counters)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltcounts.dtx} @@ -106,20 +106,22 @@ % % % \DescribeMacro\counterwithin -% |\counterwithin|\marg{counter}\marg{within-counter}: +% |\counterwithin|\oarg{format}\marg{counter}\marg{within-counter}: % Resets \meta{counter} whenever % \meta{within-counter} is stepped. Also % redefines |\the|\meta{counter} command to produce -% |\the|\meta{within-counter}|.\arabic|\marg{counter}. +% |\the|\meta{within-counter}.\meta{format}\marg{counter} with \cs{arabic} as +% the default for \meta{format}. % Star form omits redefining the print representation. % % \DescribeMacro\counterwithout -% |\counterwithout|\marg{counter}\marg{within-counter}: +% |\counterwithout|\oarg{format}\marg{counter}\marg{within-counter}: % Removes \meta{counter} from the reset list of \meta{within-counter}. % Also % redefines |\the|\meta{counter} command to produce -% |\arabic|\marg{counter}. +% \meta{format}\marg{counter} with \cs{arabic} as +% the default for \meta{format}. % Star form omits redefining the print representation. % % \StopEventually{} @@ -371,67 +373,94 @@ #3}}} % \end{macrocode} % \end{macro} - - -% \begin{macro}{\counterwithout} % -% \changes{v1.1k}{2018/03/08}{Interface added} % \begin{macrocode} -\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x} +% +%\EndIncludeInRelease +%\IncludeInRelease{0000-00-00} +% {\@removefromreset}{Add interfaces}% +%\let \@removefromreset \undefined +%\let \@ifbothcounters \undefined +%\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % -% \begin{macrocode} -\def\counterwithout@s#1#2{% - \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}} -% \end{macrocode} % -% \begin{macrocode} -\def\counterwithout@x#1#2{% - \@ifbothcounters{#1}{#2}% - {\@removefromreset{#1}{#2}% - \expandafter - \gdef\csname the#1\expandafter\endcsname\expandafter - {\expandafter - \@arabic\csname c@#1\endcsname}}} -% \end{macrocode} -% \end{macro} - - - -% \begin{macro}{\counterwithin} % -% \changes{v1.1k}{2018/03/08}{Interface added} +% +% \begin{macro}{\counterwithout,\counterwithin} +% New implementation using xparse and supporting an optional +% format argument. +% \changes{v1.1m}{2021/07/08}{New implementation for +% \cs{counterwithout} and \cs{counterwithin}} % \begin{macrocode} -\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x} +% +%<*2ekernel|latexrelease> +%\IncludeInRelease{2021/11/15}% +% {\counterwithout}{counter without/within}% % \end{macrocode} % % \begin{macrocode} -\def\counterwithin@s#1#2{% - \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}} +\NewDocumentCommand \counterwithout {sO{\arabic}mm}{% + \@ifbothcounters{#3}{#4}{% + \@removefromreset{#3}{#4}% + \IfBooleanF #1% + {\expandafter + \gdef\csname the#3\endcsname {#2{#3}}}% + }% +} +% \end{macrocode} +% +% \begin{macrocode} +\NewDocumentCommand \counterwithin {sO{\arabic}mm}{% + \@ifbothcounters{#3}{#4}{% + \@addtoreset{#3}{#4}% + \IfBooleanF #1% + {\expandafter + \gdef\csname the#3\expandafter\endcsname + \expandafter + {\csname the#4\endcsname .#2{#3}}}% + }% +} % \end{macrocode} % -% \changes{v1.1l}{2018/04/11}{Correct default (issue/38)} +% \changes{v1.1k}{2018/03/08}{Interface added} % \begin{macrocode} -\def\counterwithin@x#1#2{% - \@ifbothcounters{#1}{#2}% - {\@addtoreset{#1}{#2}% - \expandafter - \gdef\csname the#1\expandafter\endcsname\expandafter - {\csname the#2\expandafter\endcsname\expandafter - .\expandafter - \@arabic\csname c@#1\endcsname}}} +% +%\EndIncludeInRelease +%\IncludeInRelease{2018-04-01} +% {\counterwithout}{counter without/within}% +% +%\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x} +%\def\counterwithout@s#1#2{% +% \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}} +%\def\counterwithout@x#1#2{% +% \@ifbothcounters{#1}{#2}% +% {\@removefromreset{#1}{#2}% +% \expandafter +% \gdef\csname the#1\expandafter\endcsname\expandafter +% {\expandafter +% \@arabic\csname c@#1\endcsname}}} +% +%\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x} +%\def\counterwithin@s#1#2{% +% \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}} % \end{macrocode} -% \end{macro} - - % +% \changes{v1.1l}{2018/04/11}{Correct default (issue/38)} % \begin{macrocode} -% +%\def\counterwithin@x#1#2{% +% \@ifbothcounters{#1}{#2}% +% {\@addtoreset{#1}{#2}% +% \expandafter +% \gdef\csname the#1\expandafter\endcsname\expandafter +% {\csname the#2\expandafter\endcsname\expandafter +% .\expandafter +% \@arabic\csname c@#1\endcsname}}} +% %\EndIncludeInRelease %\IncludeInRelease{0000-00-00} -% {\@removefromreset}{Add interfaces}% -%\let \@removefromreset \undefined -%\let \@ifbothcounters \undefined +% {\counterwithout}{counter without/within}% %\let \counterwithout \undefined %\let \counterwithout@s \undefined %\let \counterwithout@x \undefined @@ -441,6 +470,9 @@ %\EndIncludeInRelease %<*2ekernel> % \end{macrocode} +% \end{macro} +% +% % % % Numbering commands for definitions of |\theCOUNTER| and |\list| @@ -596,7 +628,7 @@ % recommended) this unfortunate side effect is not present. % \begin{macrocode} % -%\IncludeInRelease{2015/01/01}{\@fnsymbol}{Use \TexOrMath}% +%\IncludeInRelease{2015/01/01}{\@fnsymbol}{Use \TextOrMath}% %<*2ekernel|latexrelease> \def\@fnsymbol#1{% \ifcase#1\or \TextOrMath\textasteriskcentered *\or @@ -612,7 +644,7 @@ }% % %\EndIncludeInRelease -%\IncludeInRelease{0000/00/00}{\@fnsymbol}{Use \TexOrMath}% +%\IncludeInRelease{0000/00/00}{\@fnsymbol}{Use \TextOrMath}% %\def\@fnsymbol#1{\ensuremath{% % \ifcase#1\or *\or \dagger\or \ddagger\or \mathsection\or % \mathparagraph\or \|\or **\or \dagger\dagger -- cgit v1.2.3