Merge branch 'no-early-expansion'

Prevent early expansion of \crossrefenum
This commit is contained in:
Bastien Dumont 2023-02-20 17:43:19 +01:00
commit 7f39828d3f
5 changed files with 25 additions and 5 deletions

View File

@ -1,3 +1,7 @@
## Changes
### 2022/11/11: Version 1.0
### 2023/02/20: Version 1.0.1
`\crossrefenum` is now protected against early expansion.

View File

@ -1,4 +1,4 @@
# crossrefenum 2022/11/11 v1.0
# crossrefenum 2023/02/20 v1.0.1
Smart typesetting of enumerated cross-references for various TeX formats.

View File

@ -1,3 +1,6 @@
% This file cannot be loaded in main-test.tex for it would load the version of crossrefenum.tex
% installed in the texmf tree.
% As a consequence, it should not be changed to correct bugs or implement new features.
\input crossrefenum.tex
\ProvidesPackage{crossrefenum}[\crfnmDate{} v\crfnmVersion{} Enumeration of cross-references]
\endinput

View File

@ -2,8 +2,8 @@
\def\crfnmName{crossrefenum}
\def\crfnmShortDesc{Smart typesetting of enumerated cross-references for various TeX formats}
\def\crfnmAuthor{Bastien Dumont}
\def\crfnmDate{2022/11/11}
\def\crfnmVersion{0.1}
\def\crfnmDate{2023/02/20}
\def\crfnmVersion{1.0.1}
%
% Copyright 2022 by Bastien Dumont (bastien.dumont@posteo.net)
%
@ -524,13 +524,22 @@
%%% \crossrefenum: Public macro with optional arguments %%%
\crfnm@case[\fmtname]
\crfnm@context: {
\unexpanded\def\crossrefenum{\crfnm@crossrefenum}
}
\crfnm@latex: {
\protected\def\crossrefenum{\crfnm@crossrefenum}
}
\crfnm@endCases
% \crossrefenum has two optional arguments.
% See the definition of \crfnm@enum below for the recognized values.
\def\crfnm@firstArg@default{page}
\def\crfnm@secondArg@default{withprefix}
\def\crossrefenum{%
\def\crfnm@crossrefenum{%
\futurelet\crfnm@nextToken\crfnm@setEnumMacro
}

View File

@ -9,10 +9,14 @@
%D copyright=Bastien Dumont,
%D license=GNU Public License v. 3.0 or higher]
% This file cannot be loaded in main-test.tex for it would load the version of crossrefenum.tex
% installed in the texmf tree.
% As a consequence, it should not be changed to correct bugs or implement new features.
\startmodule[crossrefenum]
\unprotect
\input ../crossrefenum.tex
\input crossrefenum.tex
\protect
\stopmodule