是否超出\clubpenalty
了\widowpenalty
发布条款的范围?具体来说,如果我把
First paragraph blah blah \clubpenalty10000 blah blah...
Next paragraph blah blah blah...
Next paragraph blah blah blah...
第一段中设定的惩罚值是否会延续到后续段落?我相信这不是什么秘密,但我找不到相关文献。
\enlargethispage{-\baselineskip}
我的目标是纠正一份很长、很复杂的文档中的一个错误分页符。我想在本地解决这个问题,我认为这比在这种双面格式中放入对开页的方法更省力。
答案1
你问,
是否
\clubpenalty
超出\widowpenalty
发布它们的段落?
一般来说,任何 TeX 宏的范围是(其余部分)团体它被设置(或重置),其中“组”是按照 TeX 的含义使用的。段落中断(通常)不会触发“组结束”标准。
请考虑以下示例:
\documentclass{article}
\clubpenalty10000
\begin{document}
bla bla bla \the\clubpenalty
\begingroup % start a group
\clubpenalty1000
bla bla bla \the\clubpenalty
\endgroup
$ % start a math group
\clubpenalty100
\mbox{bla bla bla }
\the\clubpenalty
$ % paragraph ends after end of math group
bla bla bla \the\clubpenalty % 10000? 1000? 100?
\end{document}
您认为的最终值\clubpenalty
是多少:100?1000?10000?
需要澄清两点。首先,正如 David Carlisle 在评论中指出的那样,有些宏(例如\looseness
)会为每个段落自动重置。对于此类宏,段落分隔符的作用(隐式地)类似于组结束标记。
其次,如果宏仅在 TeX 执行其段落构建算法时才起作用(\clubpenalty
就是此类宏的一个示例),则该段落末尾的宏的值将用于该段落。在上面显示的示例代码的中间段落中,数学组在段落结束之前结束。因此,\clubpenalty
用于该段落的宏的值是 10000,而不是 100。