这个问题与 此主题但不是它的重复。
我想将我的第一个方程标记为 (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}