amsmath 的 multline 和 fleqn

amsmath 的 multline 和 fleqn

作为一个fleqn狂热分子,我每周都会遇到一次这个问题:当使用 amsmath 拆分一个长公式时multline,中间的线会向左对齐:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\begin{document}
\begin{multline}
  1+2+3+4+5+6+7+8+9+10+11+12 \\
  +13+14+15+16+17+18+19+20+21+22 \\
  +23+24+25+26+27+28+29+30+31
\end{multline}
\end{document}

尽管有记录表明这一点,但我认为这是相当不道德的行为。

有没有办法使固定这个?我明白这amsmath本质上是冻结的,但即使是一些笨拙的方式,即使\shovecenter是最终可以成为更活跃的一部分mathtools也会有所帮助!

附言multline顺便说一句,这种对选择的原教旨主义坚持fleqn与 采取的更自由主义方法形成了鲜明对比gathered!两全其美 :-)

\documentclass[fleqn]{article}
\usepackage{amsmath}
\begin{document}
  \[
    \left(
      \begin{gathered}
        1+2+3+4+5+6+7+8+9+10+11+12 \\
        16+17+18+19+20+21+22 \\
        +23+24+25+26+27+28+29+30+31
      \end{gathered} 
    \right)
  \]
\end{document}

答案1

这是一个临时解决办法,但您可以利用该\multline \shoveright功能来重新定位错误地位于左侧太远的线条:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\begin{document}
\begin{multline}
  1+2+3+4+5+6+7+8+9+10+11+12 \\
  \shoveright{+13+14+15+16+17+18+19+20+21+22} \kern.1\textwidth \\
  +23+24+25+26+27+28+29+30+31
\end{multline}
\end{document}

示例代码输出

不幸的是,这样的行末尾所需的额外空间量需要通过实验来确定。

定位错误很久以前(1996 年)就被报告了,并且已经知道修复方法,但是amsmath尚未安排更新。

在回答评论中提出的关于谁给这个野兽命名的问题时 multline,答案是迈克尔·斯皮瓦克 (Michael Spivak);这个概念和很大一部分代码都是从原始amstex(非乳胶!) 包中提取出来的。

答案2

只需根据需要在中间几行添加即可\hfill。有三行:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\begin{document}
\begin{multline}
  1+2+3+4+5+6+7+8+9+10+11+12 \\
\hfill  +13+14+15+16+17+18+19+20+21+22 \hfill\\
  +23+24+25+26+27+28+29+30+31
\end{multline}
\end{document}

在此处输入图片描述

有四行:

\documentclass[fleqn]{article}
\usepackage{amsmath}
\begin{document}
\begin{multline}
  1+2+3+4+5+6+7+8+9+10+11+12 \\
\hfill  +13+14+15+16+17+18+19+20+21+22 \hfill\hfill\\
 \hfill\hfill +23+24+25+26+27+28+29+30+31+32 \hfill\\
+33+34+35+36+37+38+39+40+41
\end{multline}
\end{document}

在此处输入图片描述

事实上,如果线条的长度差别很大,你可能需要在\hfill

相关内容