我怎样才能实现这个目标?
Example 1: a = b b = c
Example 2: this equation is way longer than the others
Example 1: c = d e = f
所有三行都在一个align
环境中,但我无法做到正确,使用&&
我总是得到
Example 1: a = b b = c
Example 2: this equation is way longer than the others
Example 1: c = d e = f
因为第二个方程很长?
我的代码:
\begin{align*}
& Example 1: && a = b && b = c \\
& Example 2: && \text{this equation is way longer than the others} \\
& Example 1: && c = d && e = f
\end{align*}
答案1
这里有三种可能性,要么使用 ,align*
要么使用alignat*
(以完全控制列间距)。另外,我认为,如果对齐环境从左边距开始会更好看,这可以使用fleqn
来自的环境在本地完成nccmath
。此外,环境开始的左边距的距离可以设置为可选参数fleqn
:
\documentclass{article}
\usepackage{nccmath, mathtools}
\begin{document}
\noindent Some text. Some more text. Some more text. Some more text. Some more text. Some more text.
\begin{align*}
& \text{Example 1:} && a = b && b = c \\
&\text{Example 2:} && \mathrlap{this equation is way longer than the others} \\
& \text{Example 3:} && c = d && e = f
\end{align*}
\vskip 1cm
\begin{fleqn}
\begin{align*}
& \text{Example 1:} && a = b && b = c \\
&\text{Example 2:} && \mathrlap{this equation is way longer than the others} \\
& \text{Example 3:} && c = d && e = f
\end{align*}
\end{fleqn}
\vskip 1cm
\begin{fleqn}[1em]
\begin{alignat*}{3}
& \text{Example 1:} &\qquad& a = b &\hspace{5em}& b = c \\
&\text{Example 2:} && \mathrlap{this equation is way longer than the others} \\
& \text{Example 3:} && c = d && e = f
\end{alignat*}
\end{fleqn}
Some more text. Some more text. Some more text. Some more text. Some more text.
\end{document}
答案2
欢迎来到 TeX.SX!环境align*
最适合用于对齐方程式,而不是文本(在您的例子中,“示例”一词将不会排版为文本,而是排版为数学符号)。也许使用align
(without *
) 环境更适合稍后引用您的方程式,因为它会为每行编号。
如果你真的想把两者结合起来,我建议使用tabular
和\multicolumn
:
\begin{tabular}{r c c}
Example 1: & $a=b$ & $b=c$ \\
Example 2: & \multicolumn{2}{c}{this equation is way longer than the others}\\
Example 3: & $c=d$ & $e=f$
\end{tabular}
结果如下:
这\intertext
align
如果您想打破环境但又记住对齐,命令也可能有用。