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