使用 amsmath 包时,{cases} 不起作用

使用 amsmath 包时,{cases} 不起作用

我尝试了以下操作:

$P_{ijt}^{bool}$: \begin{cases} 1 & \mbox{if } P_{ijt} > 0 \\ 0 & \mbox{else} \end{cases}

\usepackage{amsmath}位于文件的开头。

根据许多网站的说法,这应该可以工作,但我收到以下错误:

! Missing $ inserted.
<inserted text> 
                $
l.216 $P_
        {ijt}^{bool}$: \begin{cases} 1 & \mbox{if } P_{ijt} > 0 \\ 0 & \mbox{...

有人能告诉我我遗漏了什么吗?或者我如何以不同的方式定义这个带有大赞誉的变量?

答案1

环境cases必须在数学模式内。

正确编码此表达式的方法是

$P_{ijt}^{bool}:
 \begin{cases} 1 & \text{if } P_{ijt} > 0 \\
               0 & \text{...} ...
 \end{cases}
$

(请注意,我使用\text而不是\mbox,这样如果文本字符串出现在下标或上标中,就会使用正确的大小。)

答案2

当我们阅读您问题中显示的错误消息时,我们可以说所提到的错误与无关\begin{cases}...\end{cases}。源代码行在问题的位置断开,即在_P 之后使用的字符中。此“索引创建命令”只能在数学模式下使用。

我们可以看到,$在 P 字母之前,但从错误消息可以看出,$所提及行中的第一个不是段落中的第一个(我们看不到,因为您没有显示整个文本)。很可能,所提及行之前$有奇数个。$

当然,如果您更正了上述行之前的美元数字,那么您必须将$之后的第二个数字移动{bool}到末尾,{cases}因为{cases}只能在数学模式下工作。

我建议使用一些能够为段落内的数学模式着色的文本编辑器。这样你就不需要计算每个段落中的美元数了。

相关内容