
柔軟性のある接着剤(具体的には)を持っていて、同じ長さの\hskip 2.4in plus 2fil
ものを作りたいのですが、うまくいきません。同様の結果を得る方法はありますか?\hbox
\hbox to 2.4in plus 2fil
これを使用したい理由は、ボックスで囲まれた3列のフォーマットをより柔軟にするためです(特に異なるサイズの列に対して)。私はpdfTeXを使用しているので、e-TeXの追加機能が役立つ場合は使用できます。
答え1
pdftex 機能を使用して、接着ノードの前後の位置を記録し、(2 回目の実行時に) その情報を使用して目的のサイズのボックスを構築できます。
ここでは、段落 1 にはグルーのみがあり、段落 2 には Z...Z が同じサイズに設定されたボックスがあります。
\newwrite\zz % easier in latex where this is set up already
\openin\zz=\jobname.aux
\ifeof\zz\else
\input \jobname.aux
\closein\zz
\fi
\immediate\openout\zz=\jobname.aux
1) zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
zzzz%
\hskip 2.4in plus 2fil
zzz zzzz zzz
zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
2) zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
zzzz%
\ifx\zzA\undefined\else
\leavevmode\rlap{\hbox to \dimexpr \zzB sp -\zzA sp{Z\dotfill Z}}%
\pdfsavepos\write\zz{\gdef\string\zzA{\the\pdflastxpos}}%
\hskip 2.4in plus 2fil
\pdfsavepos\write\zz{\gdef\string\zzB{\the\pdflastxpos}}%
zzz zzzz zzz
zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
zzz zz zz zz zz zz zz zz zzzz zz zz zz zz zz zz zz z
\bye