ConTeXt:定义特定页面的布局

ConTeXt:定义特定页面的布局

我想提前指定某些页面要有不同的布局,具体来说,第一页的页眉应该比其余页面的页眉更大。

根据维基百科文章,这应该通过类似以下的方式实现:

% different layout for first two pages
\definelayout[1][wide]
\definelayout[3][reset]

但是,当我组装自己的 MWE 时,它的表现并不像预期的那样。我没有只设置第一页有大标题,而是不知何故将所有页面都设置为有大标题,除了第二页。

\setuppapersize[A6]

\definelayout[bigheader][header=0.5\textheight]
\definelayout[smallheader][header=0.1\textheight]

\setuplayout[smallheader]
\definelayout[1][bigheader]
\definelayout[2][smallheader]

\starttext
\showframe
\input knuth
\input knuth
\input knuth
\stoptext 

输出

有人能解释一下出了什么问题吗?

我也知道此解决方案但仅设置第一页的布局似乎过于复杂。

答案1

我不知道为什么 MWE 中的代码不起作用。一种可能的解决方法是删除\definelayout[2][smallheadings]。例如:

\setuppapersize[A6]

\definelayout[bigheader][header=0.5\textheight]
\definelayout[smallheader][header=0.1\textheight]

\setuplayout[smallheader]
\definelayout[1][bigheader]

\starttext
\showframe
\input knuth
\input knuth
\input knuth
\stoptext 

相关内容