节命令之后的 Expex 示例不会阻止分页符

节命令之后的 Expex 示例不会阻止分页符

将示例直接放在expex节命令之后并不能防止之前出现分页符。有什么想法可以避免这种情况下出现分页符吗?

\documentclass{report} 
\usepackage{expex}
\usepackage{lipsum}
\begin{document}
\lipsum[2-6]
\subsection*{test}
\ex[exno=, exnoformat=X] \begingl 
\glpreamble This is a sentence // 
\gla This is a sentence //  
\glb \textsc{dem} 3.\textsc{be} \textsc{det} sentence //
\glft This is a translation // 
\endgl \xe
\end{document}

我之所以问这个问题,是因为我使用了expex的编号功能来创建行号,如下所示答案,因此需要第二种机制来对文本/示例进行编号。我创建了一个环境,它使用命令\subsection*来创建标题,例如文本 1.1但尽管如此,仍可能发生这样的情况:标题是一页的最后一行,而expex注释从下一页开始。

答案1

您可以通过设置 expex 的行惩罚来防止此处中断(这里我是全局设置的,但您也可以在本地设置)

\documentclass{report} 
\usepackage{expex}
\usepackage{lipsum}
\def\lingexbreakpenalty{10000}
\begin{document}
\lipsum[2-6]
\subsection*{test}
\ex[exno=, exnoformat=X] \begingl 
\glpreamble This is a sentence // 
\gla This is a sentence //  
\glb \textsc{dem} 3.\textsc{be} \textsc{det} sentence //
\glft This is a translation // 
\endgl \xe
\end{document}

相关内容