Am 15.01.2013 um 09:04 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
On Sat, 12 Jan 2013 19:11:47 +0100, Wolfgang Schuster
wrote: Move \definelayer and \setupbackgrounds *before* \startTEXpage because the environment creates a local group and you background setup is lost.
... Thanks for the hint - here's my next trial.
It should write "BEFORE" to tho top right corner of the page.
---- \setupbodyfont[30pt]
\starttext A
\bgroup \definelayer[beforetext][width=\paperwidth,preset=righttop]
\setupbackgrounds [page] [background={foreground,beforetext}]
\startTEXpage \setlayer[beforetext]{\framed[width=2in]{BEFORE}} \externalfigure[cow][width=30cm] \stopTEXpage \egroup
Z \stoptext ----
The problem now is the layer "beforetext" has width of the page in the moment is is defined - 21 cm.
But the layer is supposed to be used later inside \start/stop-TEXpage whose page size may be arbitrary, or better, the size will result from the content it will contain.
In my example - an image of 30 cm width is to define the page size.
And the text "BEFORE" is not put to the top right corner of the (30 cm) page (what I'd like to achieve) but to cca 2 thirds of these 30 cm (given by \pagewidth which was 21 cm at the moment of definition).
I would probably need a way to alter the layer size to the current content...
Or any other way to place something to the top right corner of the page from within \start/stop-TEXpage, where page size is not known in advance?
\setupbodyfont[30pt] \starttext A \definelayer [beforetext][width=\overlaywidth,height=\overlayheight] \defineoverlay[beforetext][{\setups[beforetext]\tightlayer[beforetext]}] \startsetups[beforetext] \setlayer[beforetext][preset=righttop]{\framed[width=2in]{BEFORE}} \stopsetups \startTEXpage[background={foreground,beforetext}] \externalfigure[cow][width=30cm] \stopTEXpage Z \stoptext A similar example is also on the wiki: http://wiki.contextgarden.net/Layers#Place_labels_on_pictures Wolfgang