Indicate where MathJax's LaTeX is stricter
I remember that some of our commands are stricter. I think \mod is one of them (\mod{} works but \mod does not).
I would like to markup the TeX documentation to indicate those commands. @dpvc could you list them here?
I don't think \mod works differently for MathJax than for TeX. Note that \mod requires a parameter, in both LaTeX and MathJax, so \mod by itself doesn't work in either case, but a \mod b is fine. (Actually, $\mod$ is OK is LaTeX, because \mod reads the dollar sign as its argument, and then inserts it back during the substitution of its definition, and when the dollar is read again, it closes math mode. This is a difference in how TeX reads its file compared to MathJax. MathJax determines the extent of the math before processing it, whereas TeX enters math mode when it sees a dollar, continues processing, and then leaves math mode when it sees another dollar. So the fact that LaTeX will process $\mod$ while MathJax doesn't has little to do with \mod itself and everything to do with how the two determine what is inside math mode.)
As for the others, it depends on the document class in some cases, and also sometimes the macros involved, so it is not always as clear cut as we might like. Since this is not an intentional difference, some testing would need to be done in order to come up with this list. In general, however, MathJax requires braces whenever an argument to a macro consists of more than one token. It is TeX that is not consistent about this, so it is TeX that needs to be investigated to find out when this is not the case. It frequently has to do with whether the control sequence is actually a macro or is a TeX primitive, but that is not the only factor involved.
For example in TeX \vec \bf x is OK but \vec \mathbf x is not (neither is valid in MathJax). This is an interaction between \vec and \bf or \mathbf, and the way that TeX collects the argument for a macro compared to that for a primitive. On the other hand, neither \sqrt \bf x nor \sqrt \mathbf x is valid (in TeX or MathJax).
So unless you want to document pairs of macros, I'm not sure how to do this. My own feeling is that the best way to handle it is simply to say that MathJax requires braces around any argument that is more than one token, even when TeX does not.
Thanks for the clarification, Davide!
Related: https://github.com/mathjax/MathJax/issues/694
This is ancient history and today's docs are much better.