referenceformat MkIV
Hi! I try the following: \definereferenceformat[ineq][left=(,right=),text=Equation] \starttext \placeformula[first] \startformula 2=2 \stopformula In \in[first] ineq \ineq[first] in \in[first]. \stoptext The result is: 2 = 2 (1) In 1 ineq (1) in (1). It seems that \ineq doesn't clear some variables, and the next \in uses the previous format.
Yury G. Kudryashov wrote:
Hi!
I try the following:
\definereferenceformat[ineq][left=(,right=),text=Equation] \starttext \placeformula[first] \startformula 2=2 \stopformula In \in[first] ineq \ineq[first] in \in[first]. \stoptext
The result is: 2 = 2 (1) In 1 ineq (1) in (1).
It seems that \ineq doesn't clear some variables, and the next \in uses the previous format.
Please, apply the attached patch upstream. It fixed the problem for me. Another problem fixed by my patch: \definereferenceformat[ineq][text=equation] \starttext \placeformula[first] \startformula 1=1\stopformula \ineq[first] \stoptext printed "1", not "equation 1".
Hi, Yury G. Kudryashov wrote:
It seems that \ineq doesn't clear some variables, and the next \in uses the previous format.
Please, apply the attached patch upstream. It fixed the problem for me.
This problem was already fixed in the latest (internal?) beta.
Another problem fixed by my patch:
\definereferenceformat[ineq][text=equation] \starttext \placeformula[first] \startformula 1=1\stopformula \ineq[first] \stoptext printed "1", not "equation 1".
This problem is still there and needs fixing, but I think your patch has a bug (possibly because of the already done other bugfix). After patching, I think \doinatreferenceone should look like this: \def\doinatreferenceone {\ifx\next\bgroup \afterassignment\doinatreferenceonetwo \expandafter\leftreferencetoks \else\ifx\textofreference\empty \leftreferencetoks\emptytoks \expandafter\expandafter\expandafter\dodoinatreferencenone \else \leftreferencetoks{\textofreference}% \expandafter\expandafter\expandafter\doinatreferenceonetwo \fi\fi} Best wishes, Taco
taco wrote:
Hi, Yury G. Kudryashov wrote:
It seems that \ineq doesn't clear some variables, and the next \in uses the previous format. Please, apply the attached patch upstream. It fixed the problem for me. This problem was already fixed in the latest (internal?) beta.
I shall test once this beta will be published.
Another problem fixed by my patch:
\definereferenceformat[ineq][text=equation] \starttext \placeformula[first] \startformula 1=1\stopformula \ineq[first] \stoptext printed "1", not "equation 1".
This problem is still there and needs fixing, but I think your patch has a bug (possibly because of the already done other bugfix).
After patching, I think \doinatreferenceone should look like this:
\def\doinatreferenceone {\ifx\next\bgroup \afterassignment\doinatreferenceonetwo \expandafter\leftreferencetoks \else\ifx\textofreference\empty \leftreferencetoks\emptytoks \expandafter\expandafter\expandafter\dodoinatreferencenone \else \leftreferencetoks{\textofreference}% \expandafter\expandafter\expandafter\doinatreferenceonetwo \fi\fi} With published beta, I didn't need these \expandafter, but probably I missed some corner case, or they're needed with your internal fix.
taco wrote:
Hi,
Yury G. Kudryashov wrote:
Another problem fixed by my patch:
\definereferenceformat[ineq][text=equation] \starttext \placeformula[first] \startformula 1=1\stopformula \ineq[first] \stoptext printed "1", not "equation 1".
This problem is still there and needs fixing, but I think your patch has a bug (possibly because of the already done other bugfix).
After patching, I think \doinatreferenceone should look like this:
\def\doinatreferenceone {\ifx\next\bgroup \afterassignment\doinatreferenceonetwo \expandafter\leftreferencetoks \else\ifx\textofreference\empty \leftreferencetoks\emptytoks \expandafter\expandafter\expandafter\dodoinatreferencenone \else \leftreferencetoks{\textofreference}% \expandafter\expandafter\expandafter\doinatreferenceonetwo \fi\fi}
Yes, this \doinatreference (with 3 \expandafter) works for me in the latest beta. Could you please replace current \doinatreference with this one?
participants (2)
-
taco
-
Yury G. Kudryashov