1列および2列形式での許容範囲

1列および2列形式での許容範囲

tolerance = 200記事クラスの 1 列レイアウトでは ですが、tolerance = 99992 列レイアウトではであることに気づきました。ただしltxgrid.cls、では、または のtoleranceどちらでも は 200 のままです。 \onecolumngrid\twocolumngrid

2 列の記事クラスの許容範囲が広くなると、2 列モードの狭い行で発生する多くの問題が解決されますが、非常に広いスペースが残る可能性があります。

そこで、私の質問は、なぜ記事クラスで 2 列の値がそれほど高く設定されているのか、そしてtolerance一般的な 2 列モードで望ましい値は何なのかということです。

答え1

articleする

\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi

したがって、ここで表示される許容範囲は の使用によるものです\sloppyが、他の狭い列のコンテキストで同じコマンドを使用することもできます。また、いくつかの場所で説明されているように、たとえば

\fussy、\sloppy、\emergencystretch、\tolerance、\hbadness の意味は何ですか?

\sloppyあまり増加せず\tolerance、 にもっと依存するのバージョンを検討してもよいでしょう\emergencystretch

答え2

David が言ったように、ここでは実際の最適値はありません。すべては、狭い設定での実際のコンテンツと、テキストを書き直したり、TeX が検出できなかったハイフネーション ポイントを追加したりして、個々の問題を手動で修正する意欲に依存します。

許容度を高く設定すると、TeX はより多くのブレークポイントを検討し、問題のあるケースで機能するブレークポイントを見つける可能性があります。その結果、1 行または数行の行間隔がかなり狭くなります。許容度を低く設定し、緊急ストレッチを高く設定すると、Tex は最初に「適切な」行区切り、つまり、行間隔がそれほど広くない行区切りのみを見つけますが、それでも解決しない場合は、1 行の行間隔が狭くなる代わりに、より多くの (またはすべての) 行の行間隔が「かなり狭く」なります。これは、この緊急ストレッチがすべての行に追加され、行間隔が広くなった行が全体的に見栄えが良くなるためです。どちらがより効果的かは好みの問題ですが、個人的にはどちらもあまり良くないと思います。

私は通常、追加の緊急ストレッチ用に小さな値を加えた許容値を 2000 ~ 3000 程度に設定し、残っている問題を手動で修正する用意をしていますが、完全に自動的な (またはほぼ) ソリューションが必要な場合は、\sloppy のようなもの、または緊急ストレッチに非常に高い値 (または、ほぼ同じブレーク セットが見つかるように、高い許容値 + 一致する緊急ストレッチの適切な組み合わせ) が唯一の可能性です。

関連情報