假设我有多个align
由多行方程组成的环境。如何将单独的对齐环境与符号对齐=
?
我想要实现的目标:
first we do the multiplication (text)
a = 1x2 + 2x3 + 4 (mathmode)
= 2+6+4 (mathmode)
now we perform the addition (text)
a = 8+4 (mathmode)
= 12 (mathmode)
以上当然是一个简化的示例。我最终想要做的是定义几个大矩阵。我希望每个矩阵都与符号对齐=
,对每个矩阵单独编号,如果空间不足,它将继续到下一页(如果我只有一个align
环境来包含所有矩阵,那么我会发现如果页面上剩余的空间不足,那么只会在新页面上开始整个块,从而在原始页面上留下大量不需要的空白空间)。
那么,最好的方法是什么?
答案1
现在amsmath
确实支持这种东西,它涉及\allowdisplaybreaks
/\displaybreak
和\intertext
,前两个用于分页符,后者用于行之间的文本align
:
- 放置
\allowdisplaybreaks
在序言中将允许在所有多行显示数学环境中进行分页amsmath
。 - 在
\displaybreak
特定行之前添加允许在该特定行之后进行分页。\\
align
\intertext{text}
应放置在align
环境内 之后\\
,并放置text
在“正常”文本行上,在其后继续对齐。
因此,您的简单示例可以在 LaTeX 中写为
\documentclass{article}
\usepackage{amsmath}
\allowdisplaybreaks
\begin{document}
first we do the multiplication (text)
\begin{align}
a &= 1\times 2 + 2\times 3 + 4 \\
&= 2+6+4 \\
\intertext{now we perform the addition}
a &= 8+4 \\
&= 12
\end{align}
\end{document}
不过,在 LyX 中,情况会更糟,因为\intertext
目前不支持 GUI,请参阅功能请求http://www.lyx.org/trac/ticket/723。我目前想不出任何好的解决方法,align
在 ERT 中写入整个 s 可能不会引起您的兴趣。
但是,在所有环境中允许分页符align
很容易,只需转到文档 --> 设置 --> LaTeX 前言并添加\allowdisplaybreaks
。