我通常使用对齐环境在 LaTeX 中排版数学证明。例如,
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
& x^2 \\
&= x*x \\
&= x+x
\end{align}
\end{document}
这种方法效果很好,直到行变得太长而无法在页面上显示。理想情况下,我想使用类似于一行上的多行环境来实现这一点。例如,我希望过长的行能够换行,同时仍然对齐,如下所示:
= x+x+x+x+x+x+x+x+x+x+x+x+x+
x+x+x+x+x+x+x+x
= y+y+y+y+y+y+y+y+y+y+y+y+y+y+y
mathtools
使用来自align results 包中的multlined几乎可以工作:
\begin{align}
& \begin{multlined}x+x+x+x+x+x+x+x+x+x+x+x\\x+x+x+x+x+x+x+x\end{multlined}\\
&= y+y+y+y+y+y+y+y+y+y+y+y+y+y+y
\end{align}
不幸的是,第二个多线方程与第一个多线方程的最右边部分对齐,而不是与对齐块的右边对齐,看起来非常尴尬:
手动指定多行线的宽度,以使其填充对齐块,结果看起来还不错,但感觉很粗糙:
\begin{align}
& \begin{multlined}[c][3.63in]x+x+x+x+x+x+x+x+x+x+x+x\\x+x+x+x+x+x+x+x\end{multlined}\\
&= y+y+y+y+y+y+y+y+y+y+y+y+y+y+y
\end{align}
有没有更好的方法来处理校样中的长行?
答案1
您已经了解 Morten Høgholm 的mathtools
,那么您可以尝试他的breqn
套餐:
\documentclass{article}
\usepackage{breqn}
\begin{document}
\hsize=12cm
\begin{dmath}
f(x) = x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x = x*c
\end{dmath}
\hsize=6cm
\begin{dmath}
f(x) = x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x = x*c
\end{dmath}
\hsize=3cm
\begin{dmath}
f(x) = x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x+x = x*c
\end{dmath}
\end{document}