我的目标是将一个页面插入正文中,该页面具有不同的布局,并且项目位于同一层中。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
%--------------------------------------------------------------------
答案1
您的方法似乎存在顺序问题。
- 如果你
\setupbackgrounds
在推迟环境内执行此操作,它会在组内丢失。 - 我认为这是因为有两种不同的布局在起作用,并且不知何故不同步,但我没有仔细观察。
我猜你有时想把图片放在下一页。从一页到另一页更改布局有点像自找麻烦。一种方法可能是推迟位于底部的浮动。
\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