在 \begin{tabularx} 中的环境中使用 \\

在 \begin{tabularx} 中的环境中使用 \\

我有以下代码:

\begin{table}[h]
    \begin{tabularx}{0.75\textwidth}{ m{4cm}  X }
        & \textbf{Derivations} \\
        $v=v_0+at$              & line 1\hrule \\
        $x=x_0+v_0t+½at^2$      & \begin{align*}
                                v=&equation 1 \\
                                =&equation 2 \\
                                =&equation 3
                                \end{align*} \hrule \\
        $v^2-v_0^2=2a(x-x_0)$   & line 3 \hrule \\
        $x-x_0=½t(v_0-v)$       & line 4
    \end{tabularx}
\end{table}

tabularx环境允许进一步的子环境,例如\begin{align*}...。我使用align*环境在方程式之间进行换行,并让它们沿等号对齐。

现在的问题是,我用它\\来制作方程式换行符里面此子环境。显然,tabularx环境仍会检测到此情况并做出响应。由于这\\已经是表格行尾的信号,因此不能容忍这种情况。

我该如何解决这个问题?有没有其他方法可以达到同样的目的(多个对齐的方程线)来\\避免这种情况?

答案1

我认为这之前已经出现过,这是 amsmath 的一个“功能”,但你可以隐藏环境{}

\documentclass{article}
\usepackage{amsmath,tabularx}
\begin{document}

\begin{table}[htp]% never just [h]
    \begin{tabularx}{0.75\textwidth}{ m{4cm}  X }
        & \textbf{Derivations} \\
        $v=v_0+at$              & line 1\hrule \\
        $x=x_0+v_0t+½at^2$      & {\begin{align*}
                                v=&equation 1 \\
                                =&equation 2 \\
                                =&equation 3
                                \end{align*}} \hrule \\
        $v^2-v_0^2=2a(x-x_0)$   & line 3 \hrule \\
        $x-x_0=½t(v_0-v)$       & line 4
    \end{tabularx}
\end{table}

\end{document}

相关内容