Работа с вдовами в многоцветной среде
У меня есть проблемы с вдовами в среде многоцветного доступа, то есть мне не удалось дать LaTeX команду удалить их.
Этот документ PDF показывает пример проблемы. В верхней части второй страницы я получаю вдову из последнего абзаца первой страницы. Я попробовал пару подходов, без удачи:
- установка обоих
\widowpenalty
а также\clubpenalty
к высоким значениям - переключение между
\raggedcolumns
а также\flushcolumns
- регулируя
collectmore
а такжеunbalance
счетчики
Я также прочитал документацию для multicol, но не нашел ничего полезного.
Могу ли я попробовать что-нибудь еще?
2 ответа
Решение
{\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
в любом месте вашего абзаца. Разрывы страниц после этого макроса будут запрещены до конца абзаца.
Похоже, что у http://www.tex.ac.uk/cgi-bin/texfaq2html?label=widows есть варианты, которые вы еще не пробовали.