避免在 ConTeXt 中的特定部分之前出现新页面

避免在 ConTeXt 中的特定部分之前出现新页面

我已在每个部分中放置一张空白页:

\setuphead[section][page=yes]

我不想在某些特定部分之后插入空白页:

例如。

\section{Section 1}%starts a new page after
bla...
\section{Section 2}% I need this section does not start a new page
bla...

答案1

另一个选择可能是定义一个新的部分命令:

\setuphead[section][page=yes]

\definehead[sectionnopage][section][page=no]

\starttext
Some text here.
\section[title=Section 1]
bla...
\sectionnopage[title=Section 2]
bla...
\stoptext

答案2

您可以\disablepagebreaks在部分周围成组使用,但我不知道这是否有任何副作用。

\setuphead[section][page=yes]

\starttext

\section{Section 1}
bla...

{\disablepagebreaks\section{Section 2}}
bla...

\stoptext

似乎没有对应的\disablepagebreaks。仍然可以定义一个,但请记住,这不受支持,并且可能会以意想不到的方式中断。

\unprotect
\let\normal_page_breaks_process\page_breaks_process
\unexpanded\def\enablepagebreaks%
    {\let\page_breaks_process\normal_page_breaks_process}
\protect

\setuphead[section][page=yes]

\starttext

\section{Section 1}
bla...

\disablepagebreaks
\section{Section 2}
\enablepagebreaks
bla...

\stoptext

相关内容