Am 24.05.10 10:48, schrieb Wolfgang Schuster:
Hi Hans,
under certain circumstances document backgrounds (overlays) are lost.
A minimum real live example is this:
\definelayer[test]
\setuppagenumbering[alternative=doublesided]
\setupmakeup[standard][doublesided=empty] % background is lost %\setupmakeup[standard][doublesided=yes] % background is visible
\startsetups[test] \setlayer[test][hoffset=4cm,voffset=7cm]{\tfd text} \stopsetups
\setupbackgrounds[page][background=test,setups=test]
\starttext
\startstandardmakeup text \stopstandardmakeup
test
\stoptext
With 'doublesided=yes' the background is visible but with 'doublesided=empty' no background is shown.
I spend a few hours to find the reason for this and i was able to produce a shorter example:
\defineoverlay[test][\tfd text]
\setupbackgrounds[page][background=test,state=repeat]
\starttext
text\page\page[blank]\null\page
%\chardef\pageornamentstate\zerocount
text
\stoptext
The problem is that '\page[blank]' sets \pageornamentstate at global level to '1'.
I found a fix in a older ConTeXt version: \def\dopagebreak[#1]% so, page ornaments are reset after a pagebreak command, unless set {\bgroup \flushnotes \edef\prevrealpageno{\the\realpageno}% \ifcase\pageornamentstate \or % disable reset after shipout \global\chardef\pageornamentstate\plustwo \fi \iffirstargument % or if empty i.e. [] \executepagebreakhandlers{#1}% \else % so, no pagebreak when \pagebreak[] ! ! ! \executepagebreakhandler\v!yes \fi \ifnum\prevrealpageno<\realpageno \global\chardef\pageornamentstate\zerocount \fi \egroup} Wolfgang