使用newtxmath 2016/10/15 v1.51
和apacite 2013/07/21 v6.03
,如果newtxmath
在 之前加载apacite
,我们会得到关于\BIP
等\BIn
已定义的错误:
\documentclass{article}
\usepackage{newtxmath}
\usepackage{apacite}
\begin{document}
Anything!
\end{document}
! LaTeX Error: Command \BIP already defined.
Or name \end... illegal, see p.192 of the manual.
如果apacite
已加载前 newtxmath
,不会引发任何错误。参考看很好,例如各种 APAcite 字符串\BIP
仍然处于“印刷中”状态。
apacite
这应该算作一个错误吗?如果在之前加载,会不会对任何一个包产生任何副作用newtxmath
?
答案1
该包定义了用于“粗体斜体字母”的命令newtxmath
。\BIA
\BIZ
\BIa
\BIz
我认为不应该:用户可以而且应该使用bm
。
不过,按照你最后的做法显然没有任何问题。
事实上,apacite.sty
定义\BIP
,然后newtxmath
覆盖这个定义,但也在开始文档时apacite
加载一个文件,并且有.apc
english.apc
\renewcommand{\BIP}{in press}% % ``in press''
\renewcommand{\BIn}{In}% % for ``In '' editor...
因此被覆盖的两个宏newtxmath
会再次被覆盖。
如果使用不受支持的语言,即荷兰语、芬兰语、德语、西班牙语、英语、法语、希腊语、挪威语和瑞典语以外的语言,则可能会出现问题。在这种情况下,用户\renewcommand
无论如何都应该为这两种宏提供适当的功能。
更新
从 1.513 版开始newtxmath
,\BIx
(x
代表任意字母)不再默认定义,并且仅useBImacros
在包加载时传递选项时可用。
1.513 版中的变更
更改了宏的可用性\BIx
,以解决与其他软件包的冲突。现在可以使用选项启用它们useBImacros
,否则它们将被禁用。