Meer, Hans van der
17. Januar 2016 um 20:43
Thanks Wolfgang. I am experimenting with your code and there has arisen a problem. The book I am typesetting has some pages before the text on page-1 starts (cover and so on). Therefore the code
    \def\mypageref[#1]{\setpagestate[hvdm][#1]\color[red]{page=\pagenumber\ and pageref=\pagestaterealpage{hvdm}{#1}}}
produces "page=29 and pageref=31". Not as intended. Do I change the macro \pagestaterealpage into what macro? I tried \pagestatepage, but that wasn't the right idea.

Now what further to change?
You can use the dataset command which lets you store other information, e.g. the current value of the visible pagenumber.

\definedataset[hans][delay=yes]

\setupuserpagenumber[number=3]

\starttext

One\setdataset[hans][one][pagenumber=\userpagenumber]

\page[+2]

Two\setdataset[hans][two][pagenumber=\userpagenumber]

Three\setdataset[hans][three][pagenumber=\userpagenumber]

\blank

\ifnum0\datasetvariable{hans}{two}{realpage}=0\datasetvariable{hans}{one}{realpage}
    The references are on the same page.
\else
    The references are on different pages.   
\fi

\blank

\ifnum0\datasetvariable{hans}{two}{realpage}=0\datasetvariable{hans}{three}{realpage}
    The references are on the same page.
\else
    The references are on different pages.   
\fi

\page

\starttabulate
\NC One   \NC \datasetvariable{hans}{one}{pagenumber}   \NC\NR
\NC Two   \NC \datasetvariable{hans}{two}{pagenumber}   \NC\NR
\NC Three \NC \datasetvariable{hans}{three}{pagenumber} \NC\NR
\stoptabulate

\stoptext

Wolfgang