非法前缀标记 (\frac): 使用了‘c’

非法前缀标记 (\frac): 使用了‘c’

我正在我的 Latex 代码中插入一个方程式,但它出现了问题。

我试图创建一个由两个方程组成的系统,但问题不断出现,我不知道为什么

\begin{equation}
    \begin{array}
        \frac{d\vec{x}_P}{dt}(t) = \vec{u}_P(\vec{x}_{str}(t), t)\\
        \vec{x}_{str}(t = \tau) = \vec{x}_{P0}
    \end{array}
\end{equation}

希望你能帮忙,提前谢谢

答案1

array由于您没有指定对齐方式,因此会抛出错误。例如,如果我们将对齐方式设置为l左对齐,则编译正常:

\documentclass{article}

\begin{document}

\begin{equation}
    \begin{array}{l}
        \frac{d\vec{x}_P}{dt}(t) = \vec{u}_P(\vec{x}_{str}(t), t)\\
        \vec{x}_{str}(t = \tau) = \vec{x}_{P0}
    \end{array}
\end{equation}

\end{document}

OP 的方程组左对齐

就像 @dg 在评论中所说的那样,根据您希望它们的外观,有更好的方法来排版方程组。我个人使用casesfrom amsmath,但我将把这个讨论留给评论中的其他人。

此外,_{str}下标实际上应该是这样的_{\mathrm{str}}。后者被视为文本并按文本设置样式,而前者只是变量序列,并不总是能正确调整字距。

答案2

array需要一个参数来指定列类型。在您的例子中,单个列l被对齐。

但这不是适合此目的的正确工具。请参阅手册amsmath以获得更好的选择。这里我推荐aligned(或split)。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

You're missing the column specification for \texttt{array}
\begin{equation}
\begin{array}{l}
  \frac{d\vec{x}_P}{dt}(t) = \vec{u}_P(\vec{x}_{str}(t), t)\\
  \vec{x}_{str}(t = \tau) = \vec{x}_{P_0}
\end{array}
\end{equation}
but you can do much better with \texttt{aligned}
and \verb+\mathrm{str}+
\begin{equation}
\begin{aligned}
& \frac{d\vec{x}_P}{dt}(t) = \vec{u}_P(\vec{x}_{\mathrm{str}}(t), t)\\
& \vec{x}_{\mathrm{str}}(t = \tau) = \vec{x}_{P_0}
\end{aligned}
\end{equation}

\end{document}

在此处输入图片描述

我也固定P0P_0

相关内容