我有一系列方程式,我想将它们在等号处对齐。但是,我还希望最后三行的左侧彼此左对齐(即与三行中最宽的行对齐,而不是与页面左边缘对齐)。
以下是我目前拥有的:
以下是我想要的:
我的代码如下:
\begin{align*}
\text{Solve } D_1 = D_2 \Rightarrow \sqrt{(x-3)^2 + (y-4)^2} &= \sqrt{(y-2)^2}\\
(x-3)^2 + (y-4)^2 &= \quad (y-2)^2\\
(x^2 - 6x + 9) + (y^2 - 8y + 16) &= \quad y^2 - 4y + 4\\
x^2 - 6x + 21 &= \quad 4y\\
x^2 - 6x - 4y + 21 &= \quad 0
\end{align*}
看来我想要的是最后三行的一个额外对齐点,但我还没能找到类似的东西。
我见过对齐环境,但我相信这会破坏等号的对齐。
有任何想法吗?
答案1
环境array
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[\setlength\arraycolsep{1pt}
\begin{array}{rll}
\text{Solve } D_1
& = D_2 \Rightarrow \sqrt{(x-3)^2 + (y-4)^2} & = \sqrt{(y-2)^2} \\
&\hfill (x-3)^2 + (y-4)^2 & = \quad (y-2)^2 \\
& (x^2 - 6x + 9) + (y^2 - 8y + 16) & = \quad y^2 - 4y + 4 \\
& x^2 - 6x + 21 & = \quad 4y\\
& x^2 - 6x - 4y + 21 & = \quad 0
\end{array}
\]
\end{document}
答案2
这种排列方式看上去非常令人困惑,但是......
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\newlength\zzz
\settowidth\zzz{$\displaystyle x^2 - 6x + 9) + (y^2 - 8y + 16)$}
\begin{align*}
\text{Solve } D_1 = D_2 \Rightarrow \sqrt{(x-3)^2 + (y-4)^2} &= \sqrt{(y-2)^2}\\
(x-3)^2 + (y-4)^2 &= \quad (y-2)^2\\
(x^2 - 6x + 9) + (y^2 - 8y + 16) &= \quad y^2 - 4y + 4\\
\makebox[\zzz][l]{$\displaystyle x^2 - 6x + 21$} &= \quad 4y\\
\makebox[\zzz][l]{$\displaystyle x^2 - 6x - 4y + 21$} &= \quad 0
\end{align*}
\end{document}
答案3
我建议采用稍微不同的计算方式和另一种布局,使用\ArrowBetweenLines
来自的命令mathtools
,这需要使用alignat{2}
:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat*}{2}
\intertext{Solve $ D_1 = D_2 \Rightarrow $}
& & \sqrt{(x-3)^2 + (y-4)^2} &= \sqrt{(y-2)^2}\\
\ArrowBetweenLines
& & (x-3)^2 + (y-4)^2 & = (y-2)^2\\
\ArrowBetweenLines
& & (x-3)^2 & = (y-2)^2 -(y-4)^2\\
& & & = \bigl((y-2)-(y-4)\bigr)\bigl((y-2) + (y-4)\bigr)\\
\ArrowBetweenLines
& &x^2 - 6x + 9 & = 2 (2y -6)\\
\ArrowBetweenLines
& & x^2 - 6x - 4y + 21 &= 0
\end{alignat*}
\end{document}