我知道使用\(...\)
和之间的区别$...$
(例如,在移动参数中),是的,我已经阅读了这个问题的答案:\( 和 \) 是否比 $ 更好?\(
)。我还知道和的定义\)
:
\def\({\relax\ifmmode\@badmath\else$\fi}
\def\){\relax\ifmmode\ifinner$\else\@badmath\fi\else\@badmath\fi}
(摘自 源2e.pdf)
我的问题是:在 LaTeX 内核中,无法\(
且已被定义为强命令?是否有任何(非平凡的)理由解释为什么它们被定义为脆弱命令?\)
答案1
由于fixltx2e
包的结尾是
\MakeRobust\(
\MakeRobust\)
\MakeRobust\[
\MakeRobust\]
\MakeRobust\makebox
\MakeRobust\savebox
\MakeRobust\framebox
\MakeRobust\parbox
\MakeRobust\rule
\MakeRobust\raisebox
可以肯定地说,这只是一个错误,因为内核此时无法更改,所以才遗留了下来。还值得指出的是,文档第 4 节fixltx2e
“2005/12/01 添加的修复”中介绍了这一点。