
Tenho um pedaço de cola ( \hskip 2.4in plus 2fil
especificamente) que é flexível e quero criar um \hbox
do mesmo comprimento, mas \hbox to 2.4in plus 2fil
não funciona. Existe uma maneira de obter um resultado semelhante?
A razão pela qual desejo usar isso é tornar mais flexível um formato de 3 colunas com colunas em caixa (especialmente para colunas de tamanhos diferentes). Estou usando o pdfTeX, então posso usar os recursos extras do e-TeX se isso for útil
Responder1
Você pode usar os recursos do pdftex para registrar a posição antes e depois de um nó de cola e então (na segunda execução) usar essas informações para construir uma caixa do tamanho desejado.
Aqui o parágrafo 1 só tem cola, o parágrafo 2 tem uma caixa com Z...Z configurado para o mesmo tamanho.
\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