下面的 LaTeX 代码对我来说看起来非常简单:
\begin{eqnarray*}
& \lambda_l \mathbf{l}\cdot\mathbf{r} & = & \lambda_r \mathbf{l}\cdot\mathbf{r} \nonumber \\
\therefore & \mathbf{l}\cdot\mathbf{r} & = & 0 \nonumber
\end{eqnarray*}
但它会导致错误:
! Missing $ inserted.
<inserted text>
$
l.78 ..._l \mathbf{l}\cdot\mathbf{r} & = & \lambda
_r \mathbf{l}\cdot\mathbf{...
如果我删除足够多的“&”符号,我就能得到一个干净的执行,但随后我就会失去我试图获得的对齐。
第一行隐含的第一个空项是否存在问题,或者是由其他原因造成的?
答案1
环境eqnarray
允许每行最多两个&
。
另一方面,它已经损坏,不应使用,请参阅eqnarray 与 align
这里有两个关于环境的实现amsmath
。我最喜欢的是后者。
\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{amssymb}
\usepackage{lipsum} % just for the example
\begin{document}
\lipsum*[3]
\begin{alignat*}{2}
& &\quad \lambda_l \mathbf{l}\cdot\mathbf{r} & = \lambda_r \mathbf{l}\cdot\mathbf{r}\\
& \therefore &\quad \mathbf{l}\cdot\mathbf{r} & = 0
\end{alignat*}
\lipsum*[4]
\begin{align*}
\lambda_l \mathbf{l}\cdot\mathbf{r} & = \lambda_r \mathbf{l}\cdot\mathbf{r}\\
\shortintertext{therefore}
\mathbf{l}\cdot\mathbf{r} & = 0
\end{align*}
\end{document}