![对齐环境中数学行末尾的文本](https://linux22.com/image/463641/%E5%AF%B9%E9%BD%90%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%95%B0%E5%AD%A6%E8%A1%8C%E6%9C%AB%E5%B0%BE%E7%9A%84%E6%96%87%E6%9C%AC.png)
如何在 align* 环境中将文本放在行末(最右外)?我在 align* 中有一组方程式,我想在每一行的末尾写一点文本来解释这一行。我希望它位于每一行的右侧。
答案1
有两种不同类型的对象可以修饰等式:
- 一个数字或标签或
- 一个解释”。
数字或标签不属于等式:它只是为了交叉引用的方便,比“第 234 页的第三个等式”更方便。
一个解释是等式的一部分(或推导中的步骤),并且不应右对齐。代码:
\begin{alignat*}{2}
a+(b+s(c))
&=a+s(b+c) &\qquad& \text{(definition)} \\
&=s(a+(b+c)) && \text{(definition)} \\
&=s((a+b)+c)) && \text{(induction)} \\
&=(a+b)+s(c) && \text{(definition)}
\end{alignat*}
相同(ab)使用\tag
:
\begin{align*}
a+(b+s(c))
&=a+s(b+c) \tag{definition} \\
&=s(a+(b+c)) \tag{definition} \\
&=s((a+b)+c)) \tag{induction} \\
&=(a+b)+s(c) \tag{definition}
\end{align*}
但这有一个明显的问题:如果文档类指定leqno
,你会得到
没有任何警告。
一个可能的解决方法是使用flalign*
\documentclass[leqno]{article}
\usepackage{amsmath}
\usepackage{showframe}
\begin{document}
After observing that $a+(b+0)=a+b=(a+b)+0$ we can proceed to prove
the associativity of addition by induction, namely
\begin{flalign*}
&&a+(b+s(c))
&=a+s(b+c) &&\text{(definition)} \\
&&&=s(a+(b+c)) &&\text{(definition)} \\
&&&=s((a+b)+c)) &&\text{(induction)} \\
&&&=(a+b)+s(c) &&\text{(definition)}
\end{flalign*}
\end{document}
但我会坚持使用第一个显示,原因已经在开头概述。