Re: Parallel パッケージと Overfull \vbox

名前: 本田
日時: 2007-01-10 22:40:52
IPアドレス: 222.158.121.*

>>46481 この現象は parallel.styの\ParallelRText/\ParallelLTextで 無造作に \everypar{} とやってるのがまずいんでしょう. 修正案としては,対症療法的ですが, Parallel環境の中の先頭で \global\clubpenalty\@clubpenalty とかすれば,解決しませんか. \sectionのあとに (1)一つ以上の段落をおく もしくは (2)一切段落をおかない という状態のときに現象は発生しません. (1)の場合は, 最初の段落の先頭で\sectionで設定された \everyparによって, ・\clubpenaltyが10000に設定され ・次の段落の先頭\clubpenaltyを\@clubpenalty(デフォルト150)に戻せという命令 が実行されます. したがって,二つ目の段落の先頭で\clubpenaltyが普通の値に戻って, parallel.styが想定しているだろう状態になって正しく動作します. (2)の場合は,\sectionの中で設定された\everyarによってなされる \clupenalty10000の設定(とそのクリア)が 実行される前に \ParallelRText/\ParallelLText によって,\everyparそのものがクリアされるので, 問題が露見しないのです. #\clubpenalty絡みだというのはすぐ見当ついたのですが・・・ ##経験上,見出し後の一行目で何か問題がある場合は ##ほとんどすべてで\clubpenaltyが絡みます. #なぜかというのは,ある人にいわれるまで #全然思いつかなかったんですが(^^;; ##いわれてみれば当然でしたが, これはたぶん,内部で\vsplitするときまで\clubenaltyが10000のままだったら 一行目では切れないですので, こういうわけのわからない状態になるのでしょう. なんでこんな状態になるかまでは突き詰めていませんが. これはきっとparallel.styの作者の想定外というか,なんというか. 必用であればきちんと内部のほかのものとの整合性も考慮して 修正してくれるのであれば,修正して欲しい気もしますね.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)