重新定义头部前的空白不符合 ConTeXt 中的网格

重新定义头部前的空白不符合 ConTeXt 中的网格

ConTeXt 中的以下 MWE 表明,如果在页面顶部的章节标题前插入空格,则会将该页面的内容移出网格。如果没有第二个参数setuphead,章节标题将位于第 2 行;如果有第二个参数,我希望它位于第 3 行。相反,它位于第 3 行和第 4 行之间。有人能建议如何实现这一点吗?

\setuplayout[grid=yes]

\setuphead
    [chapter]
    [before={\blank[force,line]}]

\showgrid

\starttext

\startchapter[title={One}]
This is Chapter One.
\stopchapter

\stoptext

答案1

这里有一个不太优雅的解决方案:\blank如果在页面顶部可以插入一些材料,则不会插入空格。\mbox{}切换到水平模式并插入一个空框(典型的 LaTeX 技巧)。这已经占据了一行。如果您想插入更多空间,\blank也可以正常工作。

\setuphead
    [chapter]
    [before={\mbox{}\blank[line]}]

\showgrid

\starttext

\startchapter[title={One}]
This is Chapter One.
\stopchapter

\startchapter[title={One}]
This is Chapter One.
\stopchapter

\stoptext

相关内容