我有以下代码:
\begin{align*}
\eta(x, j) =
\begin{cases*}
\eta_\c{C}(x, j) \quad &\text{if } x\in \b{I}_\c{C}\\
\eta_{\c{D}}(x, f^{-1}(j)) \quad &\text{if } x\in \b{I}_{\c{D}} \text{ and } j\in \im{f}\\
0 \quad &\text{else}
\end{cases*}
\end{align*}
该代码可以编译,但是在 \end{align*} 行会出现大量错误,所有错误形式都是缺少 {、缺少 $ 等。
当我删除“&”符号时,没有任何错误。但我当然想对齐。我对发生的事情感到很困惑。
答案1
纯粹猜测……
- 在您的代码片段中,您使用命令
\c
,b
和\im
(除了c
,但我怀疑您是否喜欢在这里使用它)在 LaTeX 中没有定义,所以我们不知道它们的定义 cases*
在定义的第二列中mathtools
处于文本模式,因此其中的数学表达式必须用$
或\(
和括起来´)
- 变量索引中经常缺少花括号
假设c
代表\mathcal
,在包中定义的b
和没有意义所以可以删除,MWE(最小工作示例)可以是:bm
bm
\im
\documentclass{article}
\usepackage{mathtools,bm}
\begin{document}
\[ % to use align* here makes no sense
\eta(x, j) =
\begin{cases*}
\eta_{\mathcal{C}}(x, j) & if $x\in \bm{I}_{\mathcal{C}}$\\
\eta_{\mathcal{D}}(x, f^{-1}(j))\quad & if $x\in \bm{I}_{\mathcal{D}}$ and $j\in f$\\
0 & else
\end{cases*}
\]
\end{document}