返回overlay 和 layer 的比较
在 ConTeXt 中,overlay 和 layer 都可以设置页面背景。但他们有些许不同:
    1. layer 可以使用xy坐标轴位置, 而 overlay 在应用区域的中心位置。
    2. layer 的背景默认只应用在当前页,如果需要应用在多个页面,需要在 definelayer 时使用 repeat = yes。
overlay 的背景默认应用在 pdf 的所有页面。不想要背景重复时,使用\setupbackgrounds[page][background=]来停止背景。

overlay 示例

为了展示叠放效果,我们来定义 2 个不同宽高和颜色的 overlay。一个叫 behind,是高 2 cm,宽 8 cm 的黄色横条,一个叫 before,是高8cm,宽 2 cm 的橘色竖条。在设置时,overlay 的应用顺序为 behind,foreground(文本),before,表示希望 behind 在最底层,文字在中间,before 在最上层。可以看到背景按照我们定义的顺序依次重叠在 page 中心区域。
\defineoverlay[behind][{\blackrule[height=2cm,width=8cm,color=yellow]}] \defineoverlay[before][{\blackrule[height=8cm,width=2cm,color=orange]}] \setupbackgrounds[page][background={behind,foreground,before}]
因为背景的顺序原因,可以看到 foreground 文字部分被 before 覆盖。如果想要文字不受背景影响,可以调整背景顺序为: \setupbackgrounds[page][background={behind,before,foreground}]

layer示例

使用 setlayer 定义和刚刚一样的宽高不同的黄色横条和橘色竖条,但这次可以通过 xy 定义坐标。可以看到背景现在出现在我们指定的 xy 位置。
    
\definelayer[behind] \definelayer[before] \setlayer[behind][x=-2cm,y=.75ex]{\blackrule[height=2cm,width=8cm,color=yellow]} \setlayer[before][x=5cm,y=.75ex]{\blackrule[height=8cm,width=2cm,color=orange]} \setupbackgrounds[text][background={behind,foreground,before}]
©2024 All Rights 石家庄市友文信息技术有限责任公司冀ICP备2023031763号