A general DLMF/DRMF macro looks like this
\macro{}...{}[]...[]@...@{}..{},
where \macro is the macro name,
there are n parameters {}...{},
m optional parameters []...[],
p number of @ symbols, and
q number of arguments {}...{}.
Note:
(1) if n>0 then must give full list (possibly empty) of parameters;
(2) if m>0 then []...[] may or may not appear (hence optional);
(3) if p>0 then @'s may appear in any number 0\le p' \le p; and
(4) if q>0 then must give either zero arguments of full q'=q list of arguments.
A general DLMF/DRMF macro looks like this
\macro{}...{}[]...[]@...@{}..{},
where \macro is the macro name,
there are n parameters {}...{},
m optional parameters []...[],
p number of @ symbols, and
q number of arguments {}...{}.
Note:
(1) if n>0 then must give full list (possibly empty) of parameters;
(2) if m>0 then []...[] may or may not appear (hence optional);
(3) if p>0 then @'s may appear in any number 0\le p' \le p; and
(4) if q>0 then must give either zero arguments of full q'=q list of arguments.