这一列两个方程有什么问题?
\begin{equation}
\begin{align}
u(x,t) &= \frac{\partial\phi}{\partial x}\\
\mathbf{u}(\mathbf{r}, t) &= \left(\begin{array}
\partial_y\phi(\mathbf{r},t)\\
-\partial_x\phi(\mathbf{r},t)
\end{array}\right).
\end{align}
\end{equation}
它删除\partial
并输出错误消息“包 amsmath 错误:方程结构嵌套错误;LaTeX 错误:数组 arg 中的非法字符。”
我们也欢迎其他获取正确输出的方法。
答案1
一些建议和意见:
环境
array
需要一个强制参数——要使用的列类型。您没有提供此参数,因此 LaTeX 被迫将其找到的下一个字符(符号)解释为 的参数,\partial
从而array
带来灾难性的后果,我实际上想建议你使用
pmatrix
环境而不是array
环境。这样,你可以省去\left(
和\right)
指令,而且材料更好,也就是说,间隔也更紧密。您不能将
align
环境包裹在equation
环境中。我建议您align
用替换split
。\phantom{-}
在列向量的第一行中使用指令来获得正确的(垂直)对齐。
\documentclass{article}
\usepackage{amsmath} % for "split" and "pmatrix" environments
\begin{document}
\begin{equation}
\begin{split}
u(x,t) &= \frac{\partial\phi}{\partial x}\\
\mathbf{u}(\mathbf{r}, t) &=
\begin{pmatrix}
\phantom{-}\partial_y\phi(\mathbf{r},t)\\
-\partial_x\phi(\mathbf{r},t)
\end{pmatrix}
\end{split}
\end{equation}
\end{document}
答案2
环境array
需要一个列说明符(即l
,, ) c
,r
它给出列的对齐方式。这是第二个错误LaTeX error: Illegal character in array arg
。第一个错误来自align
环境位于环境内部equation
,它们都启动显示数学并且不兼容,您可以使用单个align
环境或环境aligned
内部的环境equation
。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
u(x,t) &= \frac{\partial\phi}{\partial x}\\
\mathbf{u}(\mathbf{r}, t) &= \left(\begin{array}{r}
\partial_y\phi(\mathbf{r},t)\\
-\partial_x\phi(\mathbf{r},t)
\end{array}\right).
\end{align}
\hrule
\begin{equation}
\begin{aligned}
u(x,t) &= \frac{\partial\phi}{\partial x}\\
\mathbf{u}(\mathbf{r}, t) &= \left(\begin{array}{r}
\partial_y\phi(\mathbf{r},t)\\
-\partial_x\phi(\mathbf{r},t)
\end{array}\right).
\end{aligned}
\end{equation}
\end{document}