我想知道如何对齐文本后的方程式,例如:
But x + y = 2
y = 2 - x
= 2 - 3
= -1
我能看到的唯一方法是将文本放入对齐环境中,如下所示:
\begin{align*}
\text{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
我认为这似乎不太“干净”。 有更好的选择吗?
答案1
如果你把单词看作对齐中的标签,那么你的建议是可以的,但是如果你把数学看作周围句子的一部分,那么更自然的标记可能是aligned
\documentclass{article}
\usepackage{amsmath}
\begin{document}
zzzz
\begin{align*}
\text{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
zzzz But $\begin{aligned}[t]
x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{aligned}$
\end{document}
答案2
以下 MWE 提出了一种解决方案,该解决方案使用flalign
环境并将其与文本左边距左对齐,同时保持align
环境的居中对齐。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\text{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
\begin{flalign*}
\text{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1 &\\
\end{flalign*}
\end{document}
带星号的版本会抑制所有行的编号,类似于 的带星号版本align
。请注意,与 相比aling
,您似乎需要&\\
在最后一行的末尾,否则环境将水平居中。
答案3
我认为您提出的解决方案非常好。只需进行一项改进即可保持环境的水平对齐align
。请参阅 的使用\llap{}
。
\documentclass[11pt,a4paper]{report}
\usepackage{amsthm,amsmath,amssymb,amsfonts}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{align*}
\text{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
%
\begin{align*}
\llap{But } x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
%
\begin{align*}
x + y &= 2 \\
y &= 2 - x \\
&= 2 - 3 \\
&= -1
\end{align*}
\end{document}