On Wed, Aug 5, 2009 at 2:45 PM, Wolfgang Schuster
<schuster.wolfgang@googlemail.com> wrote:
Am 05.08.2009 um 10:47 schrieb Derek CORDEIRO:
\definelayer[mybg][width=\paperwidth,height=\paperheight,state=repeat]
\setlayer [mybg]
[hoffset=1cm, voffset=1cm]
{\framed[frame=on, width=3cm, height=2cm]{\externalfigure[cow][width=1cm]
}}
\setupbackgrounds[page][background=mybg]
\starttext
\dorecurse{6}{\input tufte\par}
\stoptext
It still does not work(still layer only on first page in Mk IV). What am I doing wrong?
A typo in pack-lyr.mkiv for the \dodoflushlayer macro.
In MkII a line of the macro is
\doifnotvalue{\??ll#2\c!position}\v!yes
{\doifvalue{\??ll#2\c!repeat}\v!yes\!!donecfalse
\doifvalue{\??ll#2\c!state}\v!repeat\!!donecfalse}%
while in MkIV it's
\ifx\@@currentlayerposition\v!yes
\edef\@@currentlayerrepeat{\csname\??ll\currentlayer\c!repeat\endcsname}%
% \edef\@@currentlayerstate {\csname\??ll\currentlayer\c!state\endcsname}% actually this is already set
\ifx\@@currentlayerrepeat\v!yes
\!!donecfalse
\else\ifx\@@currentlayerstate\v!repeat
\!!donecfalse
\fi\fi
\fi
MkII expects position ≠ yes while MkIV continues only when position = yes
what's wrong, you can add \unless before the \ifx and the layer mechanism works.
\unless\ifx\@@currentlayerposition\v!yes
\edef\@@currentlayerrepeat{\csname\??ll\currentlayer\c!repeat\endcsname}%
% \edef\@@currentlayerstate {\csname\??ll\currentlayer\c!state\endcsname}% actually this is already set
\ifx\@@currentlayerrepeat\v!yes
\!!donecfalse
\else\ifx\@@currentlayerstate\v!repeat
\!!donecfalse
\fi\fi
\fi
\fi