ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Wolfgang Schuster <schuster.wolfgang@googlemail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Hans Hagen <pragma@wxs.nl>
Subject: Re: Layers don't repeat in Mk IV
Date: Wed, 5 Aug 2009 11:15:13 +0200	[thread overview]
Message-ID: <AAF1C847-C663-4992-BE8D-B088E8F4EEFB@gmail.com> (raw)
In-Reply-To: <33c64e670908050147s3dbf62c9i784ab3857edd3ec4@mail.gmail.com>


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

Wolfgang


___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2009-08-05  9:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-04 16:52 Derek CORDEIRO
2009-08-04 21:13 ` Wolfgang Schuster
2009-08-05  8:47   ` Derek CORDEIRO
2009-08-05  9:15     ` Wolfgang Schuster [this message]
2009-08-05  9:27       ` Derek CORDEIRO
2009-08-06 19:48       ` Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AAF1C847-C663-4992-BE8D-B088E8F4EEFB@gmail.com \
    --to=schuster.wolfgang@googlemail.com \
    --cc=ntg-context@ntg.nl \
    --cc=pragma@wxs.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).