作为一个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