包含两个方程的列

包含两个方程的列

这一列两个方程有什么问题?

\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,, ) cr它给出列的对齐方式。这是第二个错误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}

在此处输入图片描述

相关内容