The syntax for \mathaccent
is (TeXbook, p. 291)
\mathaccent
⟨15-bit number⟩⟨math field⟩
A ⟨15-bit number⟩ is an integer (in any denotation allowed by LaTeX) in the range 0–215. What's a ⟨math field⟩? We find it on page 289
⟨math field⟩ → ⟨filler⟩⟨math symbol⟩ | ⟨filler⟩{
⟨math mode material⟩}
A ⟨filler⟩ is any sequence of space tokens and \relax
tokens which are ignored (doing expansion) when processing the input stream looking for something that fits the syntax rule.
Thus in LaTeX the \relax
will be gobbled as a ⟨filler⟩, whereas in plain TeX the space terminates the specification for the number and is ignored as well.
Why does LaTeX use \relax
? The answer is in the definition of \DeclareMathAccent
that internally uses \set@mathaccent
:
% latex.ltx, line 3596:
\def\set@mathaccent#1#2#3#4{%
\xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
The choice might depend on the fact that when writing to an auxiliary file \relax
is better suited to the job.