e-TeX \hbox 到膠水的大小

e-TeX \hbox 到膠水的大小

我有一塊\hskip 2.4in plus 2fil柔韌的膠水(特別是),我想創建一個\hbox相同長度的膠水,但\hbox to 2.4in plus 2fil不起作用。有沒有辦法達到類似的結果?

我想使用它的原因是讓裝箱的 3 列格式更加靈活(特別是對於不同大小的列)。我正在使用 pdfTeX,因此如果有幫助的話我可以使用 e-TeX 的額外功能

答案1

您可以使用 pdftex 功能來記錄黏合節點之前和之後的位置,然後(在第二次運行時)使用該資訊建立所需大小的方塊。

這裡第 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

相關內容