Re: \rightskip に fil を入れたときの末尾の挙動

名前: ZR
日時: 2010-07-22 10:00:41
IPアドレス: 119.104.58.*

>>55093 次のように「元の例と同じ幅をもつもの」を並べると 欧文 TeX でも同じ結果(1 行空く)になるので、 これは「正常動作」だと判ります。 \documentclass{article} \begin{document} \tracingoutput=1 \showboxdepth=100 \showboxbreadth=100 \parbox{24.0554pt}{% \rightskip 0pt plus 1fil\relax LINE\par \leavevmode \vrule height6pt width9.62216pt % ほ \hskip0pt plus.4pt minus.5pt % \kanjiskip \vrule height5pt width9.62216pt % げ \penalty10000 % \prebreakpenalty \kern-0.48114pt % jfm kern \vrule height2pt width5.04013pt % 。 \hskip4.58203pt minus 2.291pt % jfm glue \space % space \par LINE} \parbox{25pt}{% LINE\par \leavevmode \vrule height6pt width12pt \hskip0pt plus2pt minus2pt \vrule height6pt width12pt \hskip10pt plus 20pt \space \par LINE} \end{document} もっと単純化してこれでも同じ現象が起こります。 \vbox{\hsize=20pt \parindent=0pt A\par \leavevmode \vrule height5pt width20pt \hskip10pt \hskip1pt \par A} TeX は \par のところで 1 回 \unskip するのですが、 このように \par の前に 2 つ \hskip があると前のものが 残って、その前で行分割される可能性があるようです。 普通は、そのような分割をすると、後ろの行は全く空に なり(\hskip は消えてしまう)酷い underfull になるので なかなか起こらない(でも後の例では起こっていて、実際 underfull の警告が出る)のですが、\rightskip=0pt plus 1fil の状況だと、行が空でも underfull にならないので 変な行分割が起こりやすいと考えられます。

この書き込みへの返事:

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