4

複数列環境でウィドウを処理する際に問題があります。つまり、LaTeX にウィドウを削除するように指示することができませんでした。

この PDF ドキュメントは、問題の例を示しています。2 ページ目の上部に、1 ページ目の最後の段落からウィドウが表示されます。運が悪かったので、いくつかのアプローチを試しました:

  • との両方\widowpenalty\clubpenalty高い値に設定する
  • \raggedcolumnsと を切り替える\flushcolumns
  • collectmoreおよびunbalanceカウンターの調整

multicolのドキュメントも読みましたが、有用なものは見つかりませんでした。

他に試すことができるものはありますか?

(上記の例の完全な LaTeX ドキュメント)

4

2 に答える 2

1

TeX FAQ 項目Controlling widows and orphansには、まだ試していないオプションがいくつかあるようです。

未亡人を取り除くのはもっと難しい場合があります。オプションは

  • 前のページに最後の行が短い長い段落が含まれている場合は、「タイト」に設定できる場合があります\looseness=-1 。つまり、段落の最後の単語の直後に書き込みます。
  • それがうまくいかない場合は、ページ サイズを調整し、ページ\enlargethispage{\baselineskip}に「行を追加」します。これにより、段落全体が 1 ページに収まる可能性があります。
  • ページのサイズを縮小すると\enlargethispage{-\baselineskip}、(多かれ少なかれ) 許容できる「2 行のウィンドウ」が生成される場合があります。
于 2010-03-05T17:47:20.287 に答える
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段落の任意の場所に挿入します。改ページは、このマクロの後、段落の終わりまで禁止されます。

于 2010-03-05T16:17:08.217 に答える