在 \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}

相關內容