Hello everyone,
I'm having page references and want to calc / draw 'Page x of y'
for some subsections in MP.
How can I pass 'em down so I end up with numbers to do
calculations with?
\setuplayout[header=15mm]\def\myHeader[#1]#2{\ignorespaces\getdummyparameters[ref=,next=,#1]\pagebreak[yes]\pagereference[\dummyparameter{ref}]\doassign[header][first=\dummyparameter{ref}]\doassign[header][next=\dummyparameter{next}]{\tfc\bf{#2}}\par\vskip3mm}\def\fillWithText[#1]{\dorecurse{#1}{\input tufte\input knuth}}\setupheadertexts[\setups{page:header}]%\startsetups page:header\setupMPvariables[hdrPgs][curr=\pagenumber,first={\ref[page][\headerfirst]},next={\ref[page][\headernext]}]\framed[frame=off,background={hdrPgs}]{}% all to be done in MP\stopsetups\defineoverlay[hdrPgs][\useMPgraphic{hdrPgs}]\startuseMPgraphic{hdrPgs}StartPage; % calc and draw 'Page x of y'....numeric numCurr; numCurr := \MPvar{curr};string strFirst; strFirst := "\MPvar{first}";string strNext; strNext := "\MPvar{next}";message("=======================");message("MP_hdrPageNrs: curr=" & tostring numCurr & ", sFirst=" & strFirst & ", sNext=" & strNext);% fails:numeric numFirst; numFirst := \MPvar{first};StopPage;\stopuseMPgraphic\starttext\myHeader[ref=a,next=b]{AAAA aaaa AaAaAaAa}\fillWithText[10]\myHeader[ref=b,next=c]{BBBB bbbb BbBbBbBbBb}\fillWithText[3]\myHeader[ref=c,next=d]{CCCC ccccc CcCcCcCc}\fillWithText[8]\myHeader[ref=c,next=last]{DDDD ddddd DdDdDdDdDd}\fillWithText[8]\pagebreak[yes]\pagereference[last]This is the last page, goodby\stoptext
metapost > message : MP_hdrPageNrs: curr=1, sFirst=\ref
[page][a], sNext=\ref [page][b]
metafun > log >
metafun > log > error: Improper subscript has been
replaced by zero
metapost > log > <*> ... numeric numFirst;
numFirst := \ref [page]
metafun > log >
metafun > log > A bracketed subscript must have a
known numeric value;
So MP gets the macro and tries array access... I tried \expanded,
\numeric, and resolving the page numbers via \ref[page][id] at the
various code levels - unsuccessfully so far - and out of wit now.
TIA, Werner