如何在等號處對齊兩個拆分環境?

如何在等號處對齊兩個拆分環境?
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{amsmath,  amsthm,  amssymb}
\usepackage{mathtools}

\begin{document}
    \begin{align}
        \begin{split}
            \label{eq:lines}
            Q_{1x} &= C_{1x} + \mu_1 \vec{h_{1x}} \\
            Q_{1y} &= C_{1y} + \mu_1 \vec{h_{1y}} \\
            \vdots \\
            Q_{3z} &= C_{3z} + \mu_3 \vec{h_{3z}}
        \end{split} \\
        \begin{split}
            \label{eq:distances}
            \overline{Q_1 Q_2}^2 &= (Q_{1x}-Q_{2x})^2 + (Q_{1y}-Q_{2y})^2 + (Q_{1z}-Q_{2z})^2\\
            \vdots
        \end{split}
    \end{align}
\end{document}

我想以相同的方式沿著“=”符號對齊兩個分割環境中的方程式。有任何想法嗎?

答案1

您需要做的就是記住&在您的所有行上放置對齊標誌splits(您的程式碼中沒有任何\vdots行)。最小化你的例子給:

\documentclass{scrartcl}

\usepackage{amsmath}

\begin{document}

\begin{align}
   \label{eq:lines}
   \begin{split}       
      Q_{1x} &= C_{1x} + \mu_1 \vec{h_{1x}} \\
      Q_{1y} &= C_{1y} + \mu_1 \vec{h_{1y}} \\
      \vdots& \\
      Q_{3z} &= C_{3z} + \mu_3 \vec{h_{3z}}
   \end{split} \\
   \label{eq:distances}
   \begin{split}        
      \overline{Q_1 Q_2}^2 &= (Q_{1x}-Q_{2x})^2 + (Q_{1y}-Q_{2y})^2 
                                      + (Q_{1z}-Q_{2z})^2\\
      \vdots&
   \end{split}
  \end{align}
\end{document}

樣本輸出

現在您需要決定如何放置\vdots...

討論

該文檔amsmath.pdf對此結構不太清楚,說

分割結構應該構成封閉結構的整個主體,除了像 \label 這樣不產生可見材料的命令。

在「透過對齊分割方程式」部分中,與下面的描述相反gather

集合中的任何方程式都可以由 \begin{split} ... \end{split} 結構組成 - ...

然而,隨附的文件testmath.pdf包含兩個splitsalign.你不能做的就是將這樣的split結構封裝在例如\left ... \right結構中。

請注意,有一個套件breqn包含允許各個區塊之間進行複雜對齊的程式碼,但它改變了數學模式的基本結構,因此存在許多相容性問題。

答案2

好吧,我必須承認,我不知道為什麼這有效,只是想添加一個使用\vdotswithin{}from 的範例mathtools,突然=s 對齊了。我還將 更改\vec為僅遍歷h

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{amsmath,  amsthm,  amssymb,mathtools}
\usepackage{mathtools}

\begin{document}
    \begin{align}
        \begin{split}
            \label{eq:lines}
            Q_{1x} &= C_{1x} + \mu_1 \vec{h}_{1x} \\
            Q_{1y} &= C_{1y} + \mu_1 \vec{h}_{1y} \\
            &\vdotswithin{=} \\
            Q_{3z} &= C_{3z} + \mu_3 \vec{h}_{3z}
        \end{split} \\
        \begin{split}
            \label{eq:distances}
            \overline{Q_1 Q_2}^2 
            &= (Q_{1x}-Q_{2x})^2 + (Q_{1y}-Q_{2y})^2 + (Q_{1z}-Q_{2z})^2\\
            &\vdotswithin{=}
          \end{split}
    \end{align}
\end{document}

影像

答案3

你需要aligned而不是split

\documentclass{scrartcl}
\usepackage{amsmath}

\newlength{\templen}

\begin{document}

\settowidth{\templen}{$\displaystyle\overline{Q_1 Q_2}^2$}
\begin{align}
\label{eq:lines}
&\begin{aligned}
\makebox[\templen][r]{$\displaystyle Q_{1x}$} &= C_{1x} + \mu_1 \vec{h_{1x}} \\
Q_{1y} &= C_{1y} + \mu_1 \vec{h_{1y}} \\
\vdots \\
Q_{3z} &= C_{3z} + \mu_3 \vec{h_{3z}}
\end{aligned} \\
\label{eq:distances}
&\begin{aligned}
\overline{Q_1 Q_2}^2 &= (Q_{1x}-Q_{2x})^2 + (Q_{1y}-Q_{2y})^2 + (Q_{1z}-Q_{2z})^2\\
\vdots
\end{aligned}
\end{align}
\end{document}

寬度\templen可以隨意重複使用。它必須設置在align環境之外。

相關內容