[NTG-context] \doassign variable - updates not picked up

Werner Hennrich wehe at gmx.at
Fri Jan 22 09:48:58 CET 2021


Hello everyone,

I'm using ConTeXt  (ver: 2020.09.20 23:02 LMTX) and have to have
conditional page headers based on specific content criteria. To achive
this I'd like to get some global variables in TeX, change their values
several times throughout the document and have my macro for the header
read them and act accordingly (like skip the header at all, change a
color, etc).

As a basis for this I established the following pattern in an iolated
test case:

    \def\setHeaderVar[#1]{
    \doassign[header][myvar=#1]
    \message{setHEADER: '#1'}
    }
    \def\getHeaderVar{\headermyvar}
    \setupheadertexts[\setups{page:header}]
    \startsetups page:header
    HEADER: myvar=\getHeaderVar
    \stopsetups
    \starttext
    \setHeaderVar[initval]
    page: 1
    \page
    \setHeaderVar[aaaaa]
    page: 2
    \page
    \setHeaderVar[bbbbb]
    page: 3
    \page
    \setHeaderVar[cccc]
    page: 4
    \page
    \setHeaderVar[]
    page: 5
    \stoptext

This works as expected and the header-macro prints the updated value.
But when I put the same pattern in my big environment-file, I can see
the variable being updated with different values (console), but the
header always puts out just the variable's initial value - so the
variable is read but it's updates aren't picked up by the header macro.
Peeking into console, log & tuc didn't raise any idea yet as to what is
going wrong...

Any idea what is happening and how I can fix this?

Any hints on how I can track this down?

Thanks a lot,
Werner Hennrich, Vienna AT


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20210122/b5413c6c/attachment.htm>


More information about the ntg-context mailing list