LaTeX sphack family of commands
I can help at least on the naming: these are 'space hacks' to try to avoid messing up spacing with commands that 'do nothing' in output terms. So you have \@bsphack
= 'begin space hack', \@esphack
= 'end space hack'. I think \@Esphack
is intended only for floats, but on this I'm not certain.
Joseph answered the naming question (I have always liked the idea of an esp hack).
The reason for making \@savsk
nonzero is because it moves into horizontal mode (\leavevmode
) and \@esphack
checks if \@savsk
is positive. If it is, then it uses \ignorespaces
to gobble space tokens (as the quote says).
I'm not terribly sure I follow what this could be used for though.