Sì, lo so,e infatti nelle macro dell’Introduzione c’è scritto:
`
\hbox{$\relax$\fontsize{\sf@size}{\f@baselineskip}\selectfont#1}
`
e quell’ambiente matematico che contiene solo \relax fa la stessa cosa.
Vado a vedere che cosa c’è scritto nell’ultima versione di toptesi, su cui sto rimettendo le mani per renderla compatibile con XeLaTeX.
Non proprio la stessa cosa: con $\relax$ costruisci una formula vuota il cui effetto è certamente quello di calcolare i valori di \tf@size, \sf@size e \ssf@size, ma che può dare un risultato inaspettato se \mathsurround non è zero. Meglio sarebbe $\@math$.
Se poi guardi che succede quando apri una formula, scopri che viene valutata la token list contenuta in \everymath (per la verità in \frozen@everymath, ma non importa) e questa comincia con \check@mathfonts (per un display si usa \frozen@everydisplay, che è un alias per la primitiva \everydisplay, e anche questa comincia allo stesso modo). Dunque $\relax$ e $\@math$ sono solo modi complicati per dire \check@mathfonts. L’ho scoperto analizzando la definizione di \LaTeX.
Ciao
Enrico