将引用放在 align* 环境内的不等号上方

将引用放在 align* 环境内的不等号上方

我有一串垂直对齐的不等式需要解释,我试图在每个不等式符号上方放置数字(1、2、3、...),以便在 align* 环境之外引用它们并解释每个段落。有人能帮忙吗?

答案1

这里有一种方法:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\markthis}[3]{% #1 = marker, #2 = label, #3 = relation
  \overset{% the marker and the label
    \textup{\makebox[0pt]{#1}}%
    \def\@currentlabel{#1}%
    \ltx@label{#2}%
  }{% the relation
    #3%
  }%
}
\makeatother

\begin{document}

\begin{align*}
(1+x)^{n+1}
& \markthis{(1)}{b:1}{=} (1+x)(1+x)^n \\
& \markthis{(2)}{b:2}{\ge} (1+x)(1+nx) \\
& \markthis{(3)}{b:3}{=} 1+x+nx+nx^2 \\
& \markthis{(4)}{b:4}{\ge} 1+(n+1)x
\end{align*}
We have~\ref{b:1} by definition; \ref{b:2}~by the induction hypothesis;
\ref{b:3}~by algebra; \ref{b:4}~because $nx^2\ge0$.

\begin{alignat*}{2}
(1+x)^{n+1}
& = (1+x)(1+x)^n  &\qquad& \text{(definition)} \\
& \ge (1+x)(1+nx) &&      \text{(induction hypothesis)} \\
& = 1+x+nx+nx^2   &&      \text{(algebra)} \\
& \ge 1+(n+1)x    &&      \text{(because $nx^2\ge0$)}
\end{alignat*}

\end{document}

我添加了第二种排版方式,这是我更喜欢的。

在此处输入图片描述

诀窍是使用\ltx@label因为amsmath会拒绝\label并适当设置参考。

答案2

使用该stackengine包:

\documentclass[margin=3mm,varwidth]{standalone}
\usepackage{amsmath} 
\usepackage{stackengine}
\newcommand\marksymb[2]{\,\stackon{#1}{\scriptscriptstyle (#2)}\, }
\stackMath

\begin{document}
\begin{align}
A   & \marksymb{>}{1} B   \\ 
C+D & \marksymb{=}{2} E   \\
C+D & = E
\end{align}
\end{document}

在此处输入图片描述

相关内容