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.