� wrote:
On Sun, 15 Jan 2006, Henning Hraban Ramm wrote:
Now I must only find a way to *subtract* a layer, but I guess I can
manage that with some "doifmode"s
Hello TeX-experts,
I tried to do the layer-subtraction, but it seems that I need more
experience with expansion in TeX. Here is the error:
! Undefined control sequence.
\GetList #1,#2;->\edef \ListHead
And here my test file:
\def\GetList#1,#2;{\edef\ListHead{#1}\edef\ListTail{#2}}
\def\Remove#1#2{\doRemove{#1}{#2,\relax}}
\def\doRemove#1#2{\expandafter\GetList#2;%
\doifelse{\ListHead}{#1}{}{\ListHead,}%
\doifelse{\ListTail}{\relax}{}{\doRemove{#1}{\ListTail}}%
}
\def\addBGbefore#1{\expandparameters
\setupbackgrounds[page][background={#1,\currentvalue}]}
\def\addBGafter#1{\expandparameters
\setupbackgrounds[page][background={\currentvalue,#1}]}
\def\removeBG#1{\expandparameters
\setupbackgrounds[page][background={\Remove{#1}{\currentvalue}}]}
\setupcolors[state=start]
\defineoverlay[layer1][{\color[red]{this is layer 1}}]
\defineoverlay[layer2][{\rotate[rotation=30]{\color[blue]{this is layer 2}}}]
\defineoverlay[layer3][{\rotate[rotation=60]{\color[green]{this is layer 3}}}]
\starttext
\addBGafter{layer1}
\input tufte
\page
\addBGafter{layer2}
\input tufte
\page
\addBGbefore{layer3}
\input tufte
\page
\removeBG{layer2}
\Values
\input tufte
\page
\removeBG{layer1}
\input tufte
\stoptext
i dunno what you want to to, but why not
background={l-1,l-2,l-3,l-4}
and simply set and reset layers, with
\defineoverlay[l-1][] % gone
\defineoverlay[l-1][present]
\defineoverlay[l-1][] % gone again
Hans
_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context