ConTeXt:需要帮助理解当图层被推迟时 \setupbackgrounds

ConTeXt:需要帮助理解当图层被推迟时 \setupbackgrounds

我的目标是将一个页面插入正文中,该页面具有不同的布局,并且项目位于同一层中。MWE 似乎运行良好。请参见下面的屏幕截图。

问题 1:\setupbackgrounds …必须在 之前\startpostponing …。如果我进入\setupbackgrounds …延期区块,我看不到该层。为什么?

问题 2:如果我删除 %,%\flushlayer[mine]它仍然有效,但照片和标题会向下和向右移动约 60 毫米。为什么?

\showframe
\setuppapersize[A4][A3,landscape] \setuparranging[2SIDE]

\setuplayout[backspace=80mm, width=100mm, topspace=50mm, header=0mm, footer=0mm, height=200mm, margindistance=10mm, leftmargin=40mm]

\definelayout[new][backspace=80mm, width=100mm, topspace=50mm, header=0mm, footer=0mm, height=80mm, margindistance=10mm, leftmargin=40mm]
%--------------------------------------------------------------------
% macros
% a caption
\define [1]\layercaption % a caption
    {\setlayer[mine]    
    [hoffset=30mm, voffset=170mm] 
    {\framed[frame=off, location=middle,align=flushleft,width=\leftmarginwidth, height=50mm]{#1} } }
% a photo
\define [1]\layerphoto    % photo across bottom
    {\setlayer[mine]    % name of the layer
    [hoffset=80mm, voffset=170mm] 
    {\externalfigure[#1][width=100mm]} }

\definelayer[mine][x=0mm, y=0mm, width=\paperwidth, height=\paperheight] 
%--------------------------------------------------------------------
\starttext 
\dorecurse{2}{\input{knuth} }   %start body text

\definelayout[\nextpage][new]   % set up layout for next page
\setupbackgrounds[page][background=mine]        
\startpostponing        % set up background for next page
\layercaption {Hi there all}
\layerphoto {cow}
%\flushlayer[mine]
\setuplayout[reset] 
\stoppostponing

\dorecurse{3}{\input{knuth} }   %continue body text
\stoptext 
%--------------------------------------------------------------------

MWE 好

答案1

您的方法似乎存在顺序问题。

  1. 如果你\setupbackgrounds在推迟环境内执行此操作,它会在组内丢失。
  2. 我认为这是因为有两种不同的布局在起作用,并且不知何故不同步,但我没有仔细观察。

我猜你有时想把图片放在下一页。从一页到另一页更改布局有点像自找麻烦。一种方法可能是推迟位于底部的浮动。

\showframe
\setuppapersize[A4][A3,landscape]
\setuparranging[2SIDE]

\setupexternalfigures[location=default]

\setuplayout[backspace=80mm, width=100mm, topspace=50mm, header=0mm, footer=0mm, height=200mm, margindistance=10mm, leftmargin=40mm]

\definefloat[bottomfigure][figure][
    default=bottom,
]

\setupcaption[bottomfigure][
    location=innermargin,
    width=40mm,
    align={flushleft},
]


\starttext 
\samplefile{knuth}\par

\startpostponing[+1]
\startplacebottomfigure[title={The dutch cow looks to the left to get the margin right.}]
\externalfigure[cow][width=\textwidth]
\stopplacebottomfigure
\stoppostponing

\dorecurse{7}{\samplefile{tufte}\par}
\stoptext 

推迟的数据

相关内容