我正在使用该amsmath
软件包并撰写报告。我正在使用 LaTeX 手册 pdf,其中有一章关于编写数学公式。我按照它说的做了,但我不明白为什么我的方程式会导致“未定义的控制序列”错误
我正在尝试写这个数学公式:
\begin{equation}
q_k(p)= f(x_k) + \nablaf(x_k)^Tp + \frac{1}{2}p^T\nabla{^2}f(x_k)p
\end{equation}
方程式结果很好,除了 Nabla 平方项,2 周围不知为何有一些括号。然而,更大的问题是我无法继续,因为它说我创建了一个“未识别的控制序列”,但我不知道为什么。
答案1
你有
\nablaf
这可能是未定义的,我猜你想要
\nabla f
(请始终发布生成错误的完整文档,这样调试起来会容易得多)
答案2
A控制序列是 LaTeX 中具有特殊含义的字符序列 - 换句话说,它告诉程序做一些比将相应字符放入文档更有趣的事情。通常,它们写成反斜杠后跟一些字母(但也有一些例外)。控制序列必须在某个时候定义,以便 LaTeX 编译器知道它们的含义;例如,
\newcommand{\onehalf}{\frac{1}{2}}
是定义控制序列\onehalf
来表示分数 1/2 的一种方法。
当 LaTeX 抱怨“未定义的控制序列”时,这意味着您使用了从未定义的控制序列。编译器“有帮助地”向您显示错误消息中未定义的控制序列;例如:
! Undefined control sequence.
l.4 q_k(p)= f(x_k) + \nablaf
(x_k)^Tp + \frac{1}{2}p^T\nabla{^2}f(x_k)p
查看“未定义的控制序列”后面的下一行。这l.4
意味着有问题的控制序列是在文件的第 4 行找到的.tex
,并且特定的控制序列出现在该行的最末尾。在本例中,它是\nablaf
。所以这就是你需要改变的东西。根据具体情况,你可能需要使用类似的东西来定义控制序列\newcommand
,或者你可能需要加载一个定义它的包,或者你可能只是打错了,就像这里的情况一样。