Is there any good and convincing reason to explain why LaTeX restricts usage of \DeclareSymbolFont and \DeclareMathSymbol to the preamble? and I could also ask the question for many other macros.
update: I add \DeclareMathVersion as a particularly relevant one.
I add the different case of \mathversion: it can only be used outside of math mode. This one would appear to everyone to be without any reason to discuss it. Or is it? as TeX looks at the math fonts when reaching the end of the math list, if one could use \mathversion (essentially \boldmath) midway this would change even previous things. So one could think, ok this is rationale enough to make it impossible to use it in math mode. But is it really? the user, rather than being authorized to see by himself the consequences of his choices (despite the suitable warnings in the manuals) just receive an error message which says than it is forbidden to do that.
I just don't see the point: in both cases an error arises. In the first case an error in the result; and after all the user will see it does not work the intended way. This will be motivation to get a good reference manual. In the second case, judgement is rendered immediately: it is just forbidden to do it! Which one is the best situation? I prefer the first.
\foodoes at a particular spot? – egreg Jan 14 at 17:34\DeclareMathSymbol. You will have a much harder time finding a firm ground with\DeclareMathVersion! – jfbu Jan 14 at 17:41