![ConTeXt:如何使用 /nextpage 进行计算?](https://linux22.com/image/458206/ConTeXt%EF%BC%9A%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20%2Fnextpage%20%E8%BF%9B%E8%A1%8C%E8%AE%A1%E7%AE%97%EF%BC%9F.png)
\definelayout[\nextpage][new]
这对于设置下一页的布局非常有用。
我该如何设置 \nextpage+2 的布局?这不起作用\definelayout[\nextpage+2][new]
我尝试了 \numexpr 但似乎也不起作用。
\showframe
\setupexternalfigures[location=default] % get the cow
\setuppapersize[A4][A3,landscape] \setuparranging[2SIDE]
% works
\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]
%--------------------------------------------------------------------
\starttext
\definelayout[\nextpage][new]
\definelayout[\nextpage+2][new]
\dorecurse{10}{\input{knuth} }
\stoptext
答案1
只会\nextpage
给出下一页的值。除了做一些计算,我不知道还有其他方法。类似这样的方法似乎有效。
\showframe
\setupexternalfigures[location=default]
\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]
\definecounter[Stanley]
\starttext
\dorecurse{4}{{\darkblue \samplefile{knuth}}\par}
\setnumber[Stanley][\numexpr\realpagenumber+4\relax]
\definelayout[{\rawcountervalue[Stanley]}][new]
\dorecurse{20}{\samplefile{knuth}\par}
\stoptext
我们添加了黑色变为蓝色的设置,它在四页之后生效。
另一个选项是在文档的开头使用\definelayout
,当您基本完成所有内容时。然后您可以\definelayout[15][new]
在第 15 页更改布局。