La primitiva di TeX \relax è usata abbastanza spesso. Sui manuali c’è scritto che… non fa niente. Mi chiedo allora quando è necessario dire a LaTeX di non fare niente. Mi viene in mente il comando ` \ifthenelse{condizione}{faiquesto}{\relax}`
oppure…..
Qui è inutile. In certe situazioni però è molto importante perché, essendo non espandibile, può fermare espansioni che potrebbero andare oltre il desiderato.
Supponiamo di avere una macro in cui compaia \ifcase\pippo, dove \pippo è una macro la cui espansione è un numero; le regole di TeX dicono che \ifcase provoca l’espansione di tutto ciò che segue fino a che vengono trovati token che possono essere interpretati come cifre.
Per ovviare al problema di espansioni premature di ciò che appare in
`\ifcase\pippo
…
\fi`
è conveniente mettere \relax dopo \pippo.
Ma è roba TeXnica. Con le interfacce di LaTeX (per esempio \ifthen), \relax è inutile.
Ciao
Enrico