有没有很好且令人信服解释为什么 LaTeX 限制序言部分\DeclareSymbolFont
和的使用\DeclareMathSymbol
?我也可以问许多其他宏。
更新:我添加\DeclareMathVersion
一个特别相关的内容。
我添加了不同的情况\mathversion
:它只能在数学模式之外使用。这一点似乎没有必要讨论。或者是吗?当 TeX 在到达数学列表末尾时会查看数学字体,如果可以在中途使用\mathversion
(基本上\boldmath
),这甚至会改变之前的内容。所以人们可能会想,好吧,这足以让它无法在数学模式下使用。但真的是这样吗?用户无权亲自查看其选择的后果(尽管手册中有适当的警告),而只是收到一条错误消息,提示禁止这样做。
我只是不明白这一点:两种情况都会出错。第一种情况会导致结果出错;毕竟用户会发现它并没有按照预期的方式工作。这将成为获得良好参考手册的动机。第二种情况会立即做出判断:禁止这样做!哪种情况最好?我更喜欢第一种。
答案1
在\begin{document}
LaTeX 中,设置已声明的字体表需要做大量工作。如果允许稍后更改这些内容,则将变得相当复杂。此外,1993 年的机器上的 LaTeX2e 刚好适合 TeX 的可用内存,通过将所有字体声明机制(和包加载机制)重新定义为\let
相同的定义,它释放了大量标记内存,使您可以在文档中进行交叉引用和其他定义。