Somebody \smash'd our company letter style

Hartmut Henkel hartmut_henkel at gmx.de
Mon Apr 1 22:09:28 CEST 2019


Hi,

with newest TeX Live testing, running letters through our (din-brief)
based letterstyle, the footer info (company address, phone, etc.) at the
lower page end slips to the top of the page, ugly. The reason seems to
be some changed functionality of \smash{}. We have been using \smash{}
in vertical mode to shift stuff like a footers vertically around from
some anchor position by \kern, conceptually something like:

\documentclass{article}
\def\briefkopf{%
  \vbox to 0pt{
    \smash{\hbox to \textwidth{Headerstuff\hss}}
    \kern720bp
    \smash{\hbox to \textwidth{Footerstuff\hss}}
    \vss
  }
}
\begin{document}
\briefkopf
\end{document}

Now \kern doesn't work anymore here. Seems the reason is this line,
found by "svn blame latex.base":

49390 karl \def\finsm at sh{\ht\z@\z@ \dp\z@\z@ \leavevmode at ifvmode\box\z@}

It looks like recently a \leavevmode sneaked into the \smash{}
definition, starting a new paragraph, and by this making \smash{} pretty
incompatible with its former self and with Plain TeX. Our solution for
now is to write \hbox{\smash{...}} in an updated letter style, but this
change hits also many of our archived projects, where we have been
happily using the \smash{}\kern idiom all along for many (> 30) years
:-)

It would be nice if this \leavevmode could still be removed. But it must
have also some beneficial purpose yet unknown to me.

Best Regards, Hartmut


More information about the tex-live mailing list