2010-03-05 38 views
3

我在处理多元醇环境中的寡妇时遇到问题,也就是说,我没有设法指示LaTeX将它们除去。在多元醇环境下处理寡妇

This PDF document显示了一个问题的例子。在第二页的顶部,我从第一页的最后一段得到一个遗wid。我已经尝试了几个方法,没有运气:

  • 同时设置\widowpenalty\clubpenalty高值
  • 开关\raggedcolumns之间\flushcolumns
  • 调整collectmoreunbalance柜台

我我也通读了documentation for multicol,但没有发现任何有用的东西。

还有什么我可以尝试吗?

The complete LaTeX document for the above example

+1

非常好的问题和非常有趣的问题。 – 2010-03-05 16:17:46

+0

这并不能完全解决您的问题,但是您是否想过尝试调整列之间的空间? – Mica 2010-03-05 16:51:18

+0

云母:没有尝试过。不知道它会看起来不错,因为该文件包含许多两个col多种环境。 – 2010-03-07 11:07:21

回答

1
{\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在您的段落的任何地方。在此宏之后,分页符将被禁止,直到段落结束。

+0

谢谢阿列克谢 - 会试试这个。 – 2010-03-07 11:08:25

+0

这个诀窍 - 再次感谢。 – 2010-03-21 14:22:23