在对齐环境中添加评论的最佳模式?

在对齐环境中添加评论的最佳模式?

我一直在使用对齐环境来排列证明/解释/等等中的方程式,并且我喜欢在每个步骤中添加括号注释,类似于下面的代码:


\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align*} f(ax + by) & = f(ax) + f(by) & (By Property 1) \\ & = af(x) + bf(y) & (By Property 2) \\ \end{align*}

\end{document}

我遇到的问题是,注释完全扭曲了方程区域的整体对齐;为包含注释的列分配了太多空间。

我希望,只要可能,方程式本身能够对齐在页面的中心,而注释则简单地出现在右侧,而不会影响方程式的整体对齐。实现此目的的最佳方法是什么?

答案1

在不知道此评论的用例的全部范围的情况下,以下操作没有问题:

在此处输入图片描述

\documentclass{article}
\usepackage{showframe}% http://ctan.org/pkg/showframe
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\comment}[1]{%
  \text{\phantom{(#1)}} \tag{#1}
}
\begin{document}
\begin{align*}
  \comment{By Property 1} f(ax + by) & = f(ax) + f(by) \\
  \comment{By Property 2}            & = af(x) + bf(y)
\end{align*}
\end{document}​

上面的最小示例用于\tag排版注释(必须用括号括起来)。此功能由amsmath默认情况下。但是,您将无法添加编号方程,因为\tag用作方程编号的替代。如果需要,允许在标签内引用。

\comment{<stuff>}必须在等式的开头使用,以平衡 上的等式\textwidth,因为它会排版\phantom \tag

showframe本例中仅仅说明了文本框架,一般来说不需要。

答案2

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{align}
   f(ax + by) & = f(ax) + f(by) \tag{By Property 1}\\
              & = af(x) + bf(y) \tag*{By Property 2}
\end{align}

\end{document}​

在此处输入图片描述

答案3

根据具体的应用,另一个需要考虑的选项是使用\intertext,或\shortintertextmathtools包中:

在此处输入图片描述

或者对于更长的评论使用\parbox

在此处输入图片描述

\documentclass[border=2pt]{standalone}
\usepackage{mathtools}% includes amsmath

\begin{document}
\begin{align*}
   \shortintertext{By Property 1} f(ax + by) & = f(ax) + f(by) \\
   \shortintertext{By Property 2}            & = af(x) + bf(y)
\end{align*}

\begin{align*}
   f(ax + by) & = f(ax) + f(by) & \parbox[c]{0.4\linewidth}{Some long comment about first equation}\\
              & = af(x) + bf(y) & \parbox[c]{0.4\linewidth}{Some other even longer comment about second equation}
\end{align*}
\end{document}​

答案4

我永远不会将评论放在最右边(标签的位置),因为评论是对齐的一部分,而标签不是。

有以下几种可用的策略:

\begin{alignat*}{2}
  f(ax + by) & = f(ax) + f(by)\qquad && \text{(By Property 1)} \\
             & = af(x) + bf(y)\qquad && \text{(By Property 2)}
\end{alignat*}

\begin{alignat*}{2}
  f(ax + by) & = f(ax) + f(by) && \rlap{\qquad (By Property 1)} \\
             & = af(x) + bf(y) && \rlap{\qquad (By Property 2)}
\end{alignat*}

我更喜欢前者,而只有当评论非常短并且在方程式居中后适合放在边距时,后者才是可行的。

双重&&意味着评论将彼此左对齐。

\\注意:避免在对齐环境中使用 final 。

相关内容