flalign* 中的长括号

flalign* 中的长括号

我正在尝试输入一个好看的长函数总和:

看起来不错的例子

我设法通过flalign*和的组合来做到这一点\mspace

\begin{flalign*}
f(a+h)-f(a)=&f(a_1+h_1,\dots\mspace{25mu}\dots,a_n+h_n)-f(a_1,\dots\mspace{120mu}\dots,a_n)=\\
=&f(a_1+h_1,a_2+h_2,\dots\mspace{1mu}\dots,a_n)-f(a_1,a_2,\dots\mspace{95mu}\dots,a_n)+\\
+&f(a_1+h_1,a_2+h_2,a_3,\dots,a_n)-f(a_1+h_1,a_2,\dots\mspace{55mu}\dots,a_n)+\\
&\dots\\
+&f(a_1+h_1,\dots\mspace{24mu}\dots,a_n+h_n)-f(a_1+h1,\dots,a_{n-1}+h_{n-1},a_n)\\
\end{flalign*}

我对我得到的结果很满意,但我的问题是:是否可以让右括号自动放置在正确的位置?如果不是用 for代替bit \phantom,可能会有帮助。是否可以使用另一个指针(例如,)来标记“-”的行?a_n+h_na_n&&2

附言:为什么整个“声誉”不允许我创建新标签?它们不是应该帮助人们吗?

答案1

在此处输入图片描述

您需要将放在&之前+=之后,否则您将无法获得正确的间距,请注意您的图像两端都有没有中缀间距的运算符,我想您只是想要更多的对齐点。

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{flalign*}
f(a+h)-f(a)&=f(a_1+h_1,\dots&\dots,a_n+h_n)&-f(a_1,\dots&\dots,a_n)={}\\
&=f(a_1+h_1,a_2+h_2,\dots&\dots,a_n)&-f(a_1,a_2,\dots&\dots,a_n)+{}\\
&+f(a_1+h_1,a_2+h_2,a_3,&\dots,a_n)&-f(a_1+h_1,a_2,\dots &\dots,a_n)+{}\\
&\dots\\
&+f(a_1+h_1,\dots&\dots,a_n+h_n)&-f(a_1+h1,&\dots,a_{n-1}+h_{n-1},a_n)\phantom{{}+{}}\\
\end{flalign*}
`



\end{document}

答案2

笔记:

  • 我使用scrartcl该类只是因为您的原始方程对于标准类来说太宽了article
  • mathtools\math?lap家庭和\vdotswithin
  • \dots如果后面没有空格,我会删除其中一个。
  • \hphantom意图使方程式的第二部分更好地对齐。
  • 我使用alignat*环境是因为对于一个方程来说flalign*环境作用不大。(当然没有flalignat环境。)
  • 我还删除了行尾的=和,+因为我认为它们在那里没有任何意义。

代码

\documentclass{scrartcl}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{alignat*}{4}
f(a+h)-f(a) & = f(a_1 + h_1, \dots                             & \mathllap{\dots, a_n + h_n)} & {} - f(a_1, \dots          & \dots, a_n)   \\
            & = \hphantom{{}+{}} f(a_1 + h_1, a_2 + h_2,       &           \dots, a_n)        & {} - f(a_1, a_2, \mathrlap{\dots}     & \dots, a_n)   \\
            & \hphantom{{}={}} + f(a_1 + h_1, a_2 + h_2, a_3,  &        {} \dots, a_n)        & {} - f(a_1+h_1, \mathrlap{a_2, \dots} & \dots,a_n) \\
            & \hphantom{{}={}} \vdotswithin{+} \\
            & \hphantom{{}={}} + f(a_1+h_1,\dots               & \mathllap{\dots, a_n + h_n)} & {} - f(a_1+h_1,{} & \dots, a_{n-1}+h_{n-1},a_n)\\
\end{alignat*}
\end{document}

输出

在此处输入图片描述

答案3

我认为这不是表达你的想法的特别好的方式。

但是,这种方法只需要猜测最宽的向量,这可以在第一阶段完成。这肯定比猜测许多间距要容易得多。

\documentclass{article}
\usepackage{amsmath}

\newlength{\providewdlen}
\newcommand{\providewd}[2]{
  \settowidth{\providewdlen}{$\displaystyle#1$}
  \makebox[\providewdlen][s]{$\displaystyle#2$}
}
\newcommand{\alignplus}{\mathrel{\providewd{=}{\hfill+}}}

\begin{document}
\begin{align*}
f(a+h)-f(a)
 &= 
    f(\providewd{a_1+h_1,a_2+h_2,\dots\dots,a_n}{a_1+h_1,\dots\hfill\dots,a_n+h_n})
   -f(\providewd{a_1+h1,\dots,a_{n-1}+h_{n-1},a_n}{a_1,\dots\hfill\dots,a_n})\\
 &=
    f(\providewd{a_1+h_1,a_2+h_2,a_3,\dots,a_n}{a_1+h_1,a_2,\dots\hfill\dots,a_n})
   -f(\providewd{a_1+h1,\dots,a_{n-1}+h_{n-1},a_n}{a_1,a_2,\dots\hfill\dots,a_n})\\
 &\alignplus
   f(a_1+h_1,a_2+h_2,a_3,\dots,a_n)
  -f(\providewd{a_1+h1,\dots,a_{n-1}+h_{n-1},a_n}{a_1+h_1,a_2,\dots\hfill\dots,a_n})\\
 & \dots\\
 &\alignplus
   f(\providewd{a_1+h_1,a_2+h_2,a_3,\dots,a_n}{a_1+h_1,\dots\hfill\dots,a_n+h_n})
  -f(a_1+h_1,\dots,a_{n-1}+h_{n-1},a_n)
\end{align*}


\end{document}

请注意,符号不应该在行尾重复,&并且对齐点。应该有不是\\在对齐环境中处于尾随状态。

由于+的宽度小于=,所以我们也需要注意这一点。还请注意,在这种情况下flalign*的作用不大align*;当有多个对齐点时,可以看到差异。

在此处输入图片描述

我的感觉是,更简单的方法可以更清晰:

\begin{align*}
f(a+h)-f(a)
 &=f(a_1+h_1,\dots,a_n+h_n)-f(a_1,\dots,a_n)\\
 &=
   f(a_1+h_1,a_2,\dots,a_n)-f(a_1,a_2,\dots,a_n)\\
 &\alignplus
   f(a_1+h_1,a_2+h_2,a_3,\dots,a_n)-f(a_1+h_1,a_2,\dots,a_n)\\
 & \dots\\
 &\alignplus
   f(a_1+h_1,\dots,a_n+h_n)-f(a_1+h_1,\dots,a_{n-1}+h_{n-1},a_n)
\end{align*}

在此处输入图片描述

相关内容