我有三个长度不同的方程,每个方程内都有对齐(在“=”和“+”符号处)。但是,我还想在每个方程的第一个“=”处对齐这三个方程(下图中用黄色标记),并保持它们之间的间距,这是由三个对齐环境产生的。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\begin{document}
\begin{align*}
\frac{\partial F(\phi)}{\partial \beta_1} &= \sum_{i: x_i =0} y_i .... \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab
\end{align*}
\begin{align*}
\frac{\partial F(\phi)}{\partial \beta_2} &= \sum_{i: x_i =0} y_i + 2y_{i}^{2} \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab + 2x
\end{align*}
\begin{align*}
\frac{\partial F(\phi)}{\partial \beta_3} &= \sum_{i: x_i =0} y_i + (y+1)^2 - (y-1)^2 \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab
\end{align*}
\end{document}
答案1
我认为实现您想要的最简单的方法实际上是使用单一环境。然后,您可以在切换行时align*
在 的可选参数中的三个表达式之间手动添加一些额外的间距。\\
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\begin{document}
\begin{align*}
\frac{\partial F(\phi)}{\partial \beta_1} &= \sum_{i: x_i =0} y_i .... \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab \\[4mm]
\frac{\partial F(\phi)}{\partial \beta_2} &= \sum_{i: x_i =0} y_i + 2y_{i}^{2} \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab + 2x \\[4mm]
\frac{\partial F(\phi)}{\partial \beta_3} &= \sum_{i: x_i =0} y_i + (y+1)^2 - (y-1)^2 \\
&\mathrel{\phantom{=}} + \sum_{i: y_i > 0} 2y_i + ab
\end{align*}
\end{document}
答案2
除了使用单一align*
环境之外,我还建议您将所有六个\sum
项都放入\smashoperator
“包装器”中,以使方程看起来更紧凑。(基本上,这些\smashoperator
指令让求和下标项向左和向右突出,而不会弄乱符号左右两侧的间距\sum
。)我还将&\mathrel{\phantom{=}}
用&\quad
或替换 的所有实例&\qquad
。
\documentclass{article}
\usepackage{amssymb,amsthm}
\usepackage{mathtools} % 'mathtools' loads 'amsmath' automatically
\begin{document}
\begin{align*}
\frac{\partial F(\phi)}{\partial \beta_1}
&= \smashoperator{\sum_{i: x_i =0}} y_i \dots \\
&\qquad+ \smashoperator{\sum_{i: y_i > 0}} 2y_i + ab \\[\jot]
\frac{\partial F(\phi)}{\partial \beta_2}
&= \smashoperator{\sum_{i: x_i =0}} y_i + 2y_{i}^{2} \\
&\qquad+ \smashoperator{\sum_{i: y_i > 0}} 2y_i + ab + 2x \\[\jot]
\frac{\partial F(\phi)}{\partial \beta_3}
&= \smashoperator{\sum_{i: x_i =0}} y_i + (y+1)^2 - (y-1)^2 \\
&\qquad+ \smashoperator{\sum_{i: y_i > 0}} 2y_i + ab
\end{align*}
\end{document}
答案3
根据@Mico 的很好的回答(+1),但使用\pdv
包derivative
和
multlined
环境,\smashoperator
以及\mathrlap
包mathtools
:
\documentclass{article}
\usepackage{amssymb, amsthm}
\usepackage{mathtools} % it load amsmath too
\usepackage{derivative}
\begin{document}
\begin{align*}
\pdv{F(\phi)}{\beta_1}
& = \begin{multlined}[t]
\smashoperator{\sum_{i:x_i=0}} \mathrlap{y_i \dots} \\
+ \smashoperator{\sum_{i:y_i>0}} 2y_i + ab
\end{multlined} \\[\jot]
%
\pdv{F(\phi)}{\beta_2}
& = \begin{multlined}[t]
\smashoperator{\sum_{i:x_i=0}} \mathrlap{y_i + 2y_{i}^{2}} \\
+ \smashoperator{\sum_{i:y_i>0}} 2y_i + ab + 2x
\end{multlined} \\[\jot]
%
\pdv{F(\phi)}{\beta_3}
& = \begin{multlined}[t]
\smashoperator{\sum_{i:x_i=0}} \mathrlap{y_i + (y+1)^2 - (y-1)^2} \\
+ \smashoperator{\sum_{i:y_i>0}} 2y_i + ab
\end{multlined}
\end{align*}
\end{document}
答案4
使用 IEEEtrantools 包。轻松对齐多个复杂方程。使用 \\ 分隔多个方程并使用 \begin{IEEEeqnarray}{} 和 \end{IEEEeqnarray}。开始括号中有三种对齐选择。
\documentclass[letterpaper, 10pt]{memoir}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage[retainorgcmds]{IEEEtrantools} %for aligning eqns with multiple lines
\begin{document}
\begin{IEEEeqnarray}{rCl}
\overline{C_2B} &=& r = \dfrac{\sqrt {9\Phi^{2}+1} }{2}\,tis.\nonumber \\\
\overline{BX} &=& \mbox{midface of pentagon to a vertex of pentagon} = \dfrac{\Phi}{\sqrt {\Phi^{2}+1} }\,tis. \nonumber \\\
h^{2} &=& \overline {C_{2} B}^{2}-\overline {BX}
^{2}=\dfrac{9\Phi^{2}+1}{4}-\dfrac{\Phi^{2}}{\Phi^{2}+1}\nonumber \\\
&=& \dfrac{(\Phi^{2}+1)(9\Phi^{2}+1)-4\Phi^{2}}{4(\Phi
^{2}+1)}\nonumber \\\
&=&\dfrac{9\Phi^{4}+6\Phi^{2}+1}{4(\Phi
^{2}+1)}=\dfrac{(3\Phi^{2}+1)^{2}}{4(\Phi^{2}+1)}\nonumber \\\
h &=& \dfrac{3\Phi^{2}+1}{2\sqrt {\Phi^{2}+1} }\,tis=2.327438437\,tis.
\end{IEEEeqnarray}
相同的方程,但第一个参数从 {rCl} 变为 {cCl},每个方程的左侧居中
第一个参数从 {lCl} 变为 {lCl} 的相同方程式将每个方程式的左侧一直移到左侧
该系统非常灵活,允许您将方程式排列在您想要的位置。