使用 ConTeXt 中的 MetaFun 在多个页面上传播图形

使用 ConTeXt 中的 MetaFun 在多个页面上传播图形

我目前正在重构我的文档,并注意到许多 MetaPost 图形我想画得更大,通常是在两页上,没有任何布局边框。在 ConTeXt 中有没有简单的方法可以做到这一点?我注意到这个问题正如已经问到的那样,但答案是以 LaTeX 为中心的。

对于这个问题,我们假设我有一份双面 A4 文档,上面有一个42cm宽度图形(A4 纸宽度的 2 倍):

\setuppagenumbering[alternative=doublesided, location=]
\setuppapersize[A4][A4]

\startuseMPgraphic{MyLongGraphic}
  fill origin -- (42cm,0cm) -- (42cm,10cm) -- (0cm,10cm) -- cycle withcolor .3[white,red] ;
\stopuseMPgraphic


\starttext
  \useMPgraphic{MyLongGraphic}
\stoptext

答案1

谢谢沃尔夫冈·舒斯特戴夫·贾维斯此链接我找到了比我想象的更简单的答案;甚至比原来的答案还简单,因为我们不必调整图层中的图形宽度和高度。

\setuppagenumbering[alternative=doublesided, location=]
\setuppapersize[A4][A4]

\startuseMPgraphic{MyLongGraphic}
  path background;
  background := origin -- (42cm,0cm) -- (42cm,10cm) -- (0cm,10cm) -- cycle ;
  fill background withcolor 0.3[white,red] ;

  label("left",origin) scaled 10 shifted (5cm, ypart(center background)) withcolor white ;
  label("right",origin) scaled 10 shifted (35cm, ypart(center background)) withcolor white ;
\stopuseMPgraphic

\definelayer[BookIllustrationLayer]
            [width=\paperwidth,
             height=\paperheight,
             doublesided=yes]

\startsetups[BookSetupIllustration]
  \setlayer[BookIllustrationLayer]
           [y=.0\paperheight]
           {\clip[nx=2,x=\doifelseoddpage{1}{2}]
             {\useMPgraphic{MyLongGraphic}}}
\stopsetups

\setupbackgrounds[page]
                 [setups=BookSetupIllustration,
                  background=BookIllustrationLayer]

\starttext
Hello \page World
\stoptext

在此处输入图片描述

相关内容