用相同的数字和不同的上标标记连续方程

用相同的数字和不同的上标标记连续方程

这个问题与 此主题但不是它的重复。

我想将我的第一个方程标记为 (1^+),将我的第三个方程标记为 (1^-)。第一部分很容易,但如果我\label第一个方程,然后尝试在里面使用标签,\tag当我对第三个方程进行编号时,我的第三个方程标签是 (1^{+-}),这当然不是我想要的。所以我需要能够保存第一个方程的数字部分(没有上标),然后将保存的数字包含在\tag第三个方程中。以下是出错的 MWE。

\documentclass[reqno]{amsart}
\begin{document}
\begin{align}
\refstepcounter{equation}
\tag{\theequation$\empty^+$}
\label{label}
f^+   = 3 \\
g     = 4 \\
\tag{\ref{label}$\empty^-$}
f^-   = -3 
\end{align}
\end{document}

答案1

这可能是作弊,因为它使用了普通的 tex 命令......

\documentclass[reqno]{amsart}
\begin{document}
\setcounter{equation}{1}
\xdef\plusminuseq{\number\theequation}
\begin{align}
\tag{\plusminuseq$^{+}$}
\label{label1}
f^+   = 3 \\
g     = 4 \\
\tag{\plusminuseq$^{-}$}
\label{label2}
f^-   = -3 
\end{align}
now, references to \eqref{label1} and \eqref{label2}
\end{document}

在此处输入图片描述

需要\xdef“冻结”的值\theequation。(很可能有一个等效的 latex 命令可以执行此操作,但我不记得了,也没有时间去查找。)

答案2

这是实现此目的的一种方法。

\documentclass[reqno]{amsart}

\newcommand{\myformat}[1]% #1 = counter name
{\ifcase\value{#1}\or-\or\or+\else\fi}

\begin{document}
\begin{subequations}
\renewcommand{\theequation}{$\theparentequation^{\myformat{equation}}$}
\begin{align}
f^+   &= 3 \\
g     &= 4 \\
f^-   &= -3 
\end{align}
\end{subequations}
\end{document}

演示

相关内容