我的最低工作示例:
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{align}
\dot{x}_2 = \dot{x}_{2,0}&+\frac{\partial f_2(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})+\\
&+ \frac{1}{2}\frac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^2+ \\
&+ \frac{1}{6}\frac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^3+ \\
&+ g_2 (u-u_0)
\end{align}
\end{document}
结果:
现在我想获得以下结果:
有任何想法吗?
答案1
是的!alignat
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{3}
\dot{x}_2 = \dot{x}_{2,0} \,& + \,& \,\frac{\partial f_2(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}} & (x_1-x_{1,0}) &+\\
&+& \,\frac{1}{2}\frac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}} & (x_1-x_{1,0})^2 &+ \\
&+& \,\frac{1}{6}\frac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}} & (x_1-x_{1,0})^3 &+ \\
&+ \protect\makebox[0pt][l]{\,\,$g_2 (u-u_0)$}\,
\end{alignat}
\end{document}
注意:您应该注意花括号中的数字 - 它与“&”符号的总数有关。我认为它应该是总数 + 1 除以 2,但我有四个……我只是从自己的一些代码中复制并粘贴了它。也许有人会更好地解释“&”符号的数量!第一个“&”符号标记对齐点,下一列将右对齐。如果您输入另一个“&”,它将在后续列中左对齐,因此&&
如果您想立即左对齐,可以输入它。
请注意,我放入了一些\,
间距命令,以便将东西排列得稍微大一些,间隙也稍微大一些,以符合您所寻找的内容。
现在告诉我,我很困惑:既然您已经上传了您想要的内容 - 您是如何生成它的?
答案2
使用alignat
并\mathrlap
从mathtools
最后一行的包。
环境alignat
具有隐式{rlrl...rlrl}
对齐。参数是 r 列的数量。
该命令\mathrlap
将其参数放在零宽度框中并将其左对齐。
\documentclass{report}
\usepackage{mathtools}% loads amsmath
\begin{document}
\begin{alignat}{3}
\dot{x}_2 = \dot{x}_{2,0}&+{}&\frac{\partial f_2(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}}
&(x_1-x_{1,0})&{}+{}\\
&+{}& \frac{1}{2}\frac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}} &(x_1-x_{1,0})^2&{}+{} \\
&+{}& \frac{1}{6}\frac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}} &(x_1-x_{1,0})^3&{}+{} \\
&+\mathrlap{g_2(u-u_0)}
\end{alignat}
\end{document}
我已经使用&+{}&
和&{}+{}
来获得周围的正确间距+
。
答案3
这里,我使用表格堆栈来完成。但请注意,它只允许将单个方程编号应用于结果。但是,由于它是一个单个方程,我认为这样做可能没问题(如果您希望调整数字的垂直位置,也可以这样做)。
解决方案中唯一真正的怪癖是让g_2
术语在右对齐列中左对齐。为此,我只是将其移植到前一个符号的右侧+
。
\documentclass{report}
\usepackage{tabstackengine}
\stackMath
\usepackage{amsmath}
\begin{document}
\begin{equation}
\setstackgap{S}{6pt}
\TABbinary
\setstacktabulargap{0pt}
\tabularShortstack{rcrlc}{
\dot{x}_2 = \dot{x}_{2,0}&+&\dfrac{\partial f_2(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}}& (x_1-x_{1,0})&+\\
&+& \dfrac{1}{2}\dfrac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}}& (x_1-x_{1,0})^2&+ \\
&+& \dfrac{1}{6}\dfrac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}}& (x_1-x_{1,0})^3&+ \\
&+ \protect\makebox[0pt][l]{$g_2 (u-u_0)$}& &&&
}
\end{equation}
\end{document}
答案4
您可以保留环境中的对齐点,只需在第一行align
插入几个指令即可实现所需的间距调整。\phantom
顺便说一句,我建议您省略+
第 1、2 和 3 行末尾的符号,因为+
第 2、3 和 4 行开头的符号使它们变得多余。
\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{align}
\dot{x}_2 = \dot{x}_{2,0}&+\phantom{\frac{1}{2}}\frac{\partial {f_2}\phantom{^1}(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})\\
&+ \frac{1}{2}\frac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^2\\
&+ \frac{1}{6}\frac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^3\\
&+ g_2 (u-u_0)
\end{align}
\end{document}
但是,如果这些+
符号必须存在,我建议您(a)写下+{}
而不是只是+
为了这些符号获得适当的间距和(b)附加\phantom{^1}
到(x_1-x_{1,0})
第一行以进一步微调间距。
最后,如果您希望第三行和第四行之间的垂直间距与其他行之间的间距相同,则可以\phantom{\bigg|}
在 后添加指令g_2 (u-u_0)
。进行此调整后,+
前三行末尾的符号不会删除,您的等式将如下所示:
\documentclass{report}
\usepackage{amsmath,}
\begin{document}
\begin{align}
\dot{x}_2 = \dot{x}_{2,0}&+\phantom{\frac{1}{2}}\frac{\partial {f_2}\phantom{^1}(x_1)}{\partial x_1} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})\phantom{^1} +{}\\
&+ \frac{1}{2}\frac{\partial {f_2}^2(x_1)}{\partial {x_1}^2} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^2 +{}\\
&+ \frac{1}{6}\frac{\partial {f_2}^3(x_1)}{\partial {x_1}^3} \bigg|_{x_1=x_{1,0}} (x_1-x_{1,0})^3 +{}\\
&+ g_2 (u-u_0)\phantom{\bigg|}
\end{align}
\end{document}