在开始之前,我给出了以下一些新命令。
\newcommand{\eqal}[1]{\begin{align}#1\end{align}}
\newcommand{\case}[1]{\begin{dcases*}#1\end{dcases*}}
下面的代码运行得很好。
\begin{document}
\section{Question}
1) $E_{1x}E_{1y}\neq 0$
\eqal{
\case{
\text{partially longitudinal} \quad (E_{1x} \neq 0) \\
\text{partially transverse} \quad (E_{1y} \neq 0)
}
}
\end{document}
但是,添加“&”之后,会显示一些错误,
“缺少插入的 $ }”和“额外的 },或忘记了 $。}”。
我找不到原因。这里到底是什么问题?
\begin{document}
\section{Question}
1) $E_{1x}E_{1y}\neq 0$
\eqal{
\case{
\text{partially longitudinal} \quad & (E_{1x} \neq 0) \\
\text{partially transverse} \quad & (E_{1y} \neq 0)
}
}
\end{document}
答案1
考虑dcases
环境。它具有以下语法:
\begin{dcases*}
<case 1> & <condition 1> \\
<case 2> & <condition 2> \\
...
\end{dcases*}
上述语法假设 <case X>
在数学模式下设置,而<condition X>
在文本模式,从以下最小示例可以看出:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
\begin{dcases*}
A & if $x < 0$ \\
B & if $x \geq 0$
\end{dcases*}
\]
\end{document}
如果不使用&
,则没有<condition>
文本,或者仅<case>
假定 a ,这是在数学模式中设置的。一旦使用,&
您就会将输入分为 a<case>
和<condition>
。
在你的情况下,这种分离将置于<condition>
文本模式,你不能使用下标没有数学模式(在 中E_{1x} \neq 0
)。要么在数学模式中设置<condition>
,要么交换它们,因为即使不知道上下文,这似乎也是合理的:
\documentclass{article}
\usepackage{mathtools}
\newcommand{\eqal}[1]{\begin{align}#1\end{align}}
\newcommand{\case}[1]{\begin{dcases*}#1\end{dcases*}}
\begin{document}
\eqal{
\case{
(E_{1x} \neq 0) & \text{partially longitudinal} \\
(E_{1y} \neq 0) & \text{partially transverse}
} \\
\case{
\text{partially longitudinal} & $(E_{1x} \neq 0)$ \\
\text{partially transverse} & $(E_{1y} \neq 0)$
}
}
\end{document}