Layers
From ConTeXt wiki
< Layout | Columns | Overlays | Logos >
Layers are ConTeXt's mechanism for absolute positioning of elements and other advanced techniques like switching elements on and off.
There's still no manual about them.
Contents |
[edit] My first Layer
Define a layer that takes the whole page
\definelayer [mybg] % name of the layer [x=0mm, y=0mm, % from upper left corner of paper width=\paperwidth, height=\paperheight] % let the layer cover the full paper
Now you can put something in that layer:
\setlayer [mybg] % name of the layer [hoffset=1cm, voffset=1cm] % placement (from upper left corner of the layer) {\framed[frame=on, width=3cm, height=2cm]{LAYER}} % the actual contents of the layer
Activate the layer as a background:
\setupbackgrounds[page][background=mybg]
This command makes the layer appear only once after the background is activated. If you want to repeat the layer on each page, use the option repeat=yes in the \definelayer command.
[edit] Placement
There are several possibilities for defining the placement of layer content:
- x, y : offset from upper left corner of paper
- hoffset, voffset : offset from upper left corner of layer
- corner : reference point, something like
{left, top} - location : alignment of the element relative to the corner, something like
{right, bottom} - preset : a named location, see below
There are some "presets" for paper egde placement:
% These four are defined by ConTeXt! \definelayerpreset [lefttop] [corner={left,top}, location={right,bottom}] \definelayerpreset [righttop] [corner={right,top}, location={left,bottom}] \definelayerpreset [leftbottom] [corner={left,bottom}, location={right,top}] \definelayerpreset [rightbottom] [corner={right,bottom}, location={left,top}]
Similarly you can define your own presets.
[edit] State
The available options for the "state" of a layer are:
- start: layer appears only on the current page
- stop: layer doesn't show up
- repeat: layer prints on all pages
- next: layer appears on the following page
- continue: layer appears on all pages except the first
[edit] Placing labels on pictures
Layers can be used to put labels on pictures, alternative ways can be found in the details manual.
\definelayer [figure][width=\overlaywidth,height=\overlayheight] \defineoverlay[figure][{\directsetup{figure}\tightlayer[figure]}] \setupcolors[state=start] \starttext \startsetups figure \setlayerframed [figure] [preset=rightbottom, x=.25\layerwidth, y=.25\layerheight] {HERE} \setlayerframed [figure] [preset=leftbottom, x=.15\layerwidth, y=.35\layerheight] {THERE} \stopsetups \externalfigure[cow][background={foreground,figure},width=4cm,height=8cm] \startsetups figure \setlayerframed [figure] [preset=righttop, x=.25\layerwidth, y=.25\layerheight] {MORE} \setlayerframed [figure] [preset=middle, foregroundcolor=green] {EVEN MORE} \stopsetups \externalfigure[cow][background={foreground,figure},width=14cm,height=2cm] \defineexternalfigure[whatever][background={foreground,figure}] \startsetups figure \setlayerframed [figure] [preset=righttop, x=.25\layerwidth, y=.25\layerheight] {\red MORE} \setlayerframed [figure] [preset=middle, foregroundcolor=green] {EVEN MORE} \stopsetups \externalfigure[cow][whatever][width=14cm,height=4cm] \stoptext
[edit] Links
- Some applications in the Details manual
- Sample documents: BusinessCard and Letter style
- Source: page-lyr
- Example of Alternating backgrounds and repeating layers and Draft Watermark
![]() | TODO: We need a lot of documentation and samples for this complicated subject. (See: To-Do List) |
Categories: ToDo | Graphics | Layers


