
En el primer párrafo publicado por el siguiente programa, dolor
está fijado en el margen derecho. En el segundo, esto no sucede, presumiblemente porque cuando \hfill
sucede todavía estamos en la primera línea.
\hsize 4in
lorem ipsum
lorem ipsum
lorem ip
\hfill dolor
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ip
\hfill dolor
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ip%
\break\null
\hfill dolor
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
\break\null
\hfill dolor
\bye
¿Cómo puedo asegurarme de que dolor
esté establecido en el margen correcto, independientemente de la posición en la que ocurra? Es decir, ¿cómo puedo conseguir el efecto del tercer párrafo, pero no el del cuarto (con un salto de línea extra) si se cambia la longitud del texto antes de dolor?
Respuesta1
Esto está bien descrito en el TeXbook (busque Bourbaki en el índice).
\def\NN#1{\leavevmode\llap{\hbox to\parindent{#1\hss}}\ignorespaces} % for reference
\def\signed#1{{\unskip\nobreak\hfil\penalty50
\hskip2em\hbox{}\nobreak\hfil#1%
\parfillskip=0pt \finalhyphendemerits=0 \par}}
\hsize 4in
\NN1
lorem ipsum
lorem ipsum
lorem ip
\signed{dolor}
\NN2
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ip
\signed{dolor}
\NN3
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ip%
\signed{dolor}
\NN4
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
l
\signed{dolor}
\NN5
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lo
\signed{dolor}
\bye
Respuesta2
\leavevmode\penalty50\hbox{}\nobreak\hfill dolor
Debe agregar pegamento de relleno no descartable sin forzar un salto de línea.