更新命令不起作用

更新命令不起作用

我有一个 tex 文件编译,没有错误或警告。

但是当我添加这一行时:

\newcommand{\mag}{randomstr}

我收到此错误:

LaTeX Error: Command \mag already defined. [\newcommand{\mag}{randomstr}]

因此,我尝试将其改为:

\renewcommand{\mag}{randomstr}

但也会得到所有这些错误:

report.tex:32: Missing number, treated as zero. [\begin{document}]
report.tex:32: Missing = inserted for \ifnum. [\begin{document}]
report.tex:32: Missing number, treated as zero. [\begin{document}]
report.tex:32: Missing $ inserted. [\begin{document}]
report.tex:32: Missing number, treated as zero. [\begin{document}]
report.tex:32: Missing = inserted for \ifnum. [\begin{document}]
report.tex:32: Missing number, treated as zero. [\begin{document}]
report.tex:32: You can't use `the letter r' after \the. [\begin{document}]
report.tex:33: Missing $ inserted. []

我也尝试过该\def指令,但没有结果。有办法解决这个问题吗?谢谢。

答案1

这是因为\magTeX原始用于设置字体的放大级别。虽然您可以更改它,但它会带来灾难性的后果,因为它使用的是您调整过的原始设置。用更通俗的话来说,这就像决定更换汽车使用的燃料,因为它更适合您的钱包。因此,您选择柴油而不是汽油(例如)。汽车仍然需要汽油无需进一步改造即可运行,无论你的偏好,从而造成重大问题(无论是立即的,还是将来的)。*

解决方案:不要重新定义 TeX 基元(通过\renewcommand\def或类似方法)。您应该使用替代宏来定义randomstr。例如,

\newcommand{\Mag}{randomstr}

应该可以工作,因为控制序列(宏)区分大小写。

*在上面的讨论中,汽车/发动机是 (La)TeX,汽油是,\mag而柴油是“重新定义\mag”。

相关内容