¿El espacio y el espacio de control son diferentes con respecto al estiramiento y la contracción?

¿El espacio y el espacio de control son diferentes con respecto al estiramiento y la contracción?

Alimentación

\documentclass{article}
\showoutput
\begin{document}\noindent
A B\\
A\ B\\
A\hskip\fontdimen2\font plus\fontdimen3\font minus\fontdimen4\font B
\end{document}

produce latextres veces el mismo “AB” en el archivo DVI sin ninguna diferencia visible. Sin embargo, los valores de extensión y reducción en la salida de la consola difieren:

....\OT1/cmr/m/n/10 A
....\glue 3.33333 plus 1.66498 minus 1.11221
....\OT1/cmr/m/n/10 B
....\penalty 10000
....\glue 0.0 plus 1.0fil
....\penalty -10000
....\glue(\rightskip) 0.0
...\penalty 150
...\glue(\baselineskip) 5.16669
...\hbox(6.83331+0.0)x345.0, glue set 327.0833fil
....\OT1/cmr/m/n/10 A
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 B
....\penalty 10000
....\glue 0.0 plus 1.0fil
....\penalty -10000
....\glue(\rightskip) 0.0
...\penalty 150
...\glue(\baselineskip) 5.16669
...\hbox(6.83331+0.0)x345.0, glue set 327.0833fil
....\OT1/cmr/m/n/10 A
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 B

La diferencia es leve ( plus 1.66498 minus 1.11221en la primera línea versus plus 1.66666 minus 1.11111en la segunda y tercera línea), pero aún existe. ¿Por qué pasó esto? SiguienteEl libro de texto, Pensé que así \es como escribimos un espacio habitual después de un comando (digamos, \foo\vs. \foo), sin ninguna diferencia en la semántica, pero aparentemente, me equivoqué en esto.

Respuesta1

El espacio agregado por es el espacio especificado por las dimensiones de fuente ajustadas por \spacefactor, específicamente el pluscomponente se multiplica por \spacefactor/1000como \spacefactorsuele ser 1000 pero es 999 después de una letra mayúscula, por lo que los valores difieren en un factor de 999/1000, ya que \no se ve afectado por \spacefactory siempre agrega un espacio de palabra estándar incluso después de la puntuación (o letras mayúsculas). El minuscomponente es similar pero multiplicado por1000/\spacefactor

\documentclass{article}
\showoutput
\begin{document}\noindent
A B\\
A\ B\\
A\hskip\fontdimen2\font plus\fontdimen3\font minus\fontdimen4\font B\\
A\dimen0=\fontdimen3\font
\multiply\dimen0 \spacefactor % = 999 not 1000
\divide\dimen0 1000
\dimen2=\fontdimen4\font
\multiply\dimen2 1000
\divide\dimen2 \spacefactor
A\hskip\fontdimen2\font plus\dimen0 minus\dimen2 B

a\showthe\spacefactor  A\showthe\spacefactor 
\end{document}

Esto muestra las cuatro configuraciones de pegamento como

....\glue 3.33333 plus 1.66498 minus 1.11221
....\glue 3.33333 plus 1.66666 minus 1.11111
....\glue 3.33333 plus 1.66666 minus 1.11111
....\glue 3.33333 plus 1.66498 minus 1.11221

mostrando que el cálculo de la última línea coincide con el pegamento.

información relacionada