我在multicols环境中处理寡妇时遇到问题,也就是说,我没有设法指示LaTeX删除它们。
This PDF document显示了该问题的示例。在第二页的顶部,我从第一页的最后一段得到了一个寡妇。我尝试了几种方法,但是没有运气:
将\widowpenalty
和\clubpenalty
都设置为高值
在\raggedcolumns
和\flushcolumns
之间切换
调整collectmore
和unbalance
计数器
我也阅读了documentation for multicol,但没有发现任何有用的信息。
还有什么我可以尝试的吗?
(The complete LaTeX document for the above example)
最佳答案
{\obeyspaces\gdef\nomorebreak{\beginnomorebreak\let \nobreakspace}}
\def\beginnomorebreak{\begingroup
\def\par{\endgraf\endgroup\par\penalty 9999 }\obeyspaces
\brokenpenalty 10000 \widowpenalty 10000 \clubpenalty 10000 }
\def\nobreakspace{\vadjust{\nobreak} \removespaces}
\def\removespaces{\futurelet\next\checkspace}
\def\checkspace{\ifx\next\nobreakspace\expandafter\removesinglespace\fi}
\def\removesinglespace#1{\removespaces}
在段落的任何位置插入
\nomorebreak
。在该宏之后,将禁止分页符,直到该段末尾为止。关于latex - 在multicol环境中与寡妇打交道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2386828/