名前: 北見 けん 日時: 2010-07-22 12:34:54 IPアドレス: 211.128.71.*
>>55095 横から失礼します。 >もっと単純化してこれでも同じ現象が起こります。 さらに単純化すると A\penalty-10000\par でもいいようです。 改段落のところで TeX が \unskip\penalty10000\hskip\parskip\penalty-10000 とするわけですが、この前に破棄不可能項目を残さずに行分割位置が入ると、 その次の行の破棄可能項目除去の際に最後の\parskipのところまですべて除去されて 空っぽ(\rightskipのみ)になってしまうわけですね。 行分割前のグルーや行分割直後の破棄可能項目の連なりを取り去ってしまう という仕様の意図からすれば、段落最後の行が有意なものを含まなくなった場合には その行ごと取り去ってしまってもよいような気がしますが、 (というか、根拠もなくそう思い込んでいました) そうはなっていないのですね。 > 普通は、そのような分割をすると、後ろの行は全く空に > なり(\hskip は消えてしまう)酷い underfull になるので > なかなか起こらない(でも後の例では起こっていて、実際 > underfull の警告が出る)のですが、\rightskip=0pt plus > 1fil の状況だと、行が空でも underfull にならないので > 変な行分割が起こりやすいと考えられます。 なるほど、です。 勉強になりました。
この書き込みへの返事: