什么原因导致控制序列未定义?

什么原因导致控制序列未定义?

我收到此错误:

! Undefined control sequence.
l.64 ...p(- \frac{E_j - E_i}{k_B T}) & \quad \text
                                                  {:  E_j > E_i}\\
? 
! Undefined control sequence.
l.65     1 & \quad \text
                        {:  E_j<E_i}\\
? 

出自:

\begin{equation}\label{eq:hop}
w_{i,j}=w_0 exp(-2 \gamma R_{i,j})\left\{ 
  \begin{array}{l l}
    exp(- \frac{E_j - E_i}{k_B T}) & \quad \text{:  E_j > E_i}\\
    1 & \quad \text{:  E_j<E_i}\\
  \end{array} \right.
\end{equation}

但我不明白为什么会出现这个错误。这是我的标题:

\documentclass[11pt]{iopart}
%\newcommand{\gguide}{{\it Preparing graphics for IOP journals}}
%Uncomment next line if AMS fonts required
\usepackage{iopams}
\usepackage{graphicx, wrapfig}
\usepackage{fixltx2e}
\graphicspath{{images/}}
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.gif}
\makeatletter
\g@addto@macro\@floatboxreset\centering
%\def\@cite#1{\textsuperscript{[#1]}}
\makeatother

我的课程文件是来自的标准 IoP 文件这里

有人能帮我读出这个错误吗?

答案1

错误是,正如 TeX 所指出的。它找不到您的\text命令。错误可能出在包中iopams,应该在那里注意到。它似乎没有加载 ams math 包(只有它的字体),因此您还需要明确包含该包。

附注:您还应该将其包含$在您的\text命令中。

解决方案:

\usepackage{amsmath}

答案2

该宏\text未定义。您需要加载amsmath包,或者至少amstext

\usepackage{amsmath}

\text定义在 中amstext,由 加载amsmath。加载后者,因为它提供了许多数学功能,例如对齐的多行公式等等。

答案3

类似的错误也可能由一些简单的事情导致,例如尝试构建错误的文件(例如,在“摘要”文件中单击 PDFLaTeX 命令,该文件是文档的一部分)。构建时,您应该在主文件中(调用并“收集”所有“较小”文件的地方)。

我希望这可以为像我这样的新手节省一些时间,因为这个页面是寻找此错误时的第一个建议。

相关内容