您最喜欢的排版方式是什么(多行)数学表达式(中间有等号或不等号),需要同时包含数字和注释?在这里,注释指的是任何类似于“2.5.1”、“根据引理 3”、“使用 Jensen 不等式”或非常长的内容。以下图片(来自 Yurii Nesterov 的凸优化讲座) 希望能够让您了解我所谈论的内容。
我喜欢 Nesterov 的风格,他将注释(几乎总是引用方程式)放在中间符号上方。这让我们可以自由地将方程式编号放在任何一行。但如果注释太长,这也很容易出现问题。
另一种方法是将方程编号放在等号上方,并将注释作为tag{}
。这还有一个额外的好处,如果注释太长而无法与表达式放在同一行,它会自动调整到新行(右对齐)。
我看到的另一个(尽管相对不常见的)惯例是根本不在等式中添加任何注释!遵循此惯例的作者更喜欢将注释放在等式后面的文本中。虽然这似乎是一个合理的想法,但在我看来,它破坏了多行表达式的线性、紧凑形式。
我想知道其他人遵循什么惯例以及相应的优缺点。
答案1
我不喜欢这种风格,因为它在关系符号周围留下了太多空间。
既然您询问“最佳实践”,我将介绍几种方法。
\documentclass{article}
\usepackage{amsmath}
\usepackage{newtxtext,newtxmath}
\newcommand{\relcomm}[2]{% #1 = comment, #2 = relation
\overset{\substack{\text{\makebox[0pt]{#1}}\\\downarrow}}{#2}%
}
\begin{document}
% just to get the same numbers as in the picture
\renewcommand{\theequation}{3.1.\arabic{equation}}
\setcounter{equation}{71}
First a dummy equation for the reference
\begin{equation}\label{A}
1=1
\end{equation}
Now I present the first solution
\begin{equation}
\begin{aligned}
(g^*,x_\delta-x_*)
&\overset{\text{\eqref{A}}}{\ge} K(A^T\bar{y},\bar{x}+\delta-x^*)
=K(\bar{y},A\delta+b-Ax_*) \\
&\overset{\hphantom{\text{\eqref{A}}}}{=} K\lVert b-Ax_*\rVert + K(A^T\bar{y},\delta)
\end{aligned}
\end{equation}
Next the second solution
\begin{equation}
\begin{aligned}
(g^*,x_\delta-x_*)
&\relcomm{\eqref{A}}{\ge} K(A^T\bar{y},\bar{x}+\delta-x^*)
=K(\bar{y},A\delta+b-Ax_*) \\
&= K\lVert b-Ax_*\rVert + K(A^T\bar{y},\delta)
\end{aligned}
\end{equation}
and finally the third solution
\begin{equation}
\begin{aligned}
(g^*,x_\delta-x_*)
&\ge K(A^T\bar{y},\bar{x}+\delta-x^*) && \text{by \eqref{A}} \\
&= K(\bar{y},A\delta+b-Ax_*) \\
&= K\lVert b-Ax_*\rVert + K(A^T\bar{y},\delta)
\end{aligned}
\end{equation}
\end{document}