Consider these five boxes:
\setbox1=\hbox{ab}
\setbox2=\hbox{a.b}
\setbox3=\hbox{a b}
\setbox4=\hbox{a. b}
\setbox5=\hbox spread -1pt{a. b}
By looking at their widths (in pt
with \showbox1
etc. or in sp
with \count1=\wd1 \showthe\count1
etc.), we can see that:
In the first case \hbox{ab}
, the width is 691771 sp (= 691771/65536 pt ≈ 10.55559pt). This comes from adding up the widths of the a
and the b
in the \tenrm
font.
In the second case \hbox{a.b}
, the width is 873816 sp (= 873816/65536 pt ≈ 13.33337pt). This comes from adding up the widths of the a
, the .
, and the b
in the \tenrm
font.
In the third case \hbox{a b}
, the width is 910224 sp (≈ 13.88892pt). The glue in this case is the normal interword glue, calculated from the font. This glue has:
natural width \fontdimen2\font
= 218453 (≈ 3.33333pt).
Stretch \fontdimen3\font
= 109226 (≈ 1.66666pt).
Shrink \fontdimen4\font
= 72818 (≈ 1.11111pt).
So we take the width of \hbox{ab}
and add the natural width of the glue above, to get 691771 + 218453 = 910224.
In the fourth case \hbox{a. b}
, the width is 1165087 sp (= 17.77782pt). Here the glue is larger because of the .
which has space factor 3000. The natural width, stretch, and shrink are transformed from the previous case as:
natural width: add \fontdimen7\font
= 72818 (≈ 1.11111pt), to get 218453+72818=291271 (≈ 4.44444pt).
Stretch: multiply by f/1000=3, so 109226*3 = 327678 (≈ 4.99997pt).
Shrink: multiply by 1000/f=1/3, so 72818/3 = 24272 (≈ 0.37036pt).
So we take the width of the \hbox{a.b}
, and add the natural width above, to get 873816 + 291271 = 1165087.
In the fifth case \hbox spread -1pt{a. b}
, the width is 1099551 (≈ 16.77782pt). This we get by simply decreasing the previous width by 65536 (=1pt) as requested, so 1165087 - 65536 = 1099551.
Compared to the natural width 1165087 decreased by the shrink 24272 (so 1165087 - 24272 = 1140815 ≈ 17.40745pt), this is further less by 41264 (≈0.62964pt) so you get an overfull warning mentioning that length. Or as @frougon pointed out, we can see that there was an available shrink of 24272 and we asked for a shrink of 65536, so we asked for 65536 - 24272 = 41264 more shrink than was available.