
\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
包含兩個splits
在align
.你不能做的就是將這樣的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
環境之外。