定义控制序列时未定义控制序列?

定义控制序列时未定义控制序列?

我已经定义了一个命令 - \renewcommand{\U}{\mbox{$\cal U$}}。但是当我编译时,它显示:

! Undefined control sequence.
<\recently read/> \cal 
l.489 If $\U
            $ is an open ultrafilter on $X$ then $\Us$ is used to denote

如果我改为\renewcommand\newcommand它会说\U is already defined

  • 项目清单

如何解决这个问题呢?

答案1

请注意(正如错误帮助文本所说)未定义的命令是错误消息第一行结束前的最后一个命令,而不是错误消息最后一行(即源文件中发生错误的行)中提到的命令。

因此在这种情况下\cal是未定义的(不是\U)。

\cal是一个简单的 TeX 命令,最接近的等效 LaTeX 命令是\mathcal\cal格式未定义它,但为了与旧版本的 LaTeX(1993 年之前)兼容,一些文档类(包括标准article类)可能对其进行了定义。

你几乎肯定最好不要使用框和嵌套数学模式,因此

\newcommand\U{\mathcal{U}}

或者(如果你已经定义了\U)同样的方式\renewcommand

相关内容