我有一串垂直对齐的不等式需要解释,我试图在每个不等式符号上方放置数字(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}