带注释的方程式

带注释的方程式

我需要我的许多方程式都有注释,说明它们的有效范围,或者方程式成立的某些条件。最好是,这些注释与方程编号齐平,否则不会影响方程内容的对齐。我希望能够写一些类似的东西

\begin{equation}
  \sigma_{(j)}\, i = i\, \sigma_{(j)}
  \Domain{C_{1,3}}
\end{equation}

并将其设置$C_{1,3}$在方程编号之前(可能用 分隔quad)。我想也许\Domain可以暂时重新定义\tag此方程中的命令(或实际将数字放在线上的任何内容),但我不知道该怎么做。特别是,有些方程没有命令\Domain,不应该在方程编号旁边设置任何东西。

我发现了一个非常相似的问题本论坛,这表明方程本身似乎是正确的:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
  \label{commutation}
  \sigma_{(j)}\, i = i\, \sigma_{(j)}
  \stepcounter{equation}
  \tag*{$C_{1,3}\quad$(\theequation)}
\end{equation}
References come out wrong, as when Eq.~\ref{commutation} is
referenced.
\end{document}

然而,正如例子所指出的,文中对方程编号的引用是$C_{1,3}\quad$(\theequation),而不仅仅是(\theequation)

文档amsmath本身建议使用align环境来完成此类工作,但这是不可接受的。(此外,如果有什么不同的话,我实际上使用的是revtex4-1,而不是article。)

答案1

如果等式太大,这将会过度打印等式。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\maketag@@@#1{\@Domain\hbox{\m@th\normalfont#1}}
\def\Domain#1{\def\@Domain{\llap{$#1$\quad}}}
\Domain{}
\makeatother

\begin{document}
\begin{equation}
  \label{commutation}
  \sigma_{(j)}\, i = i\, \sigma_{(j)}
  \Domain{C_{1,3}}
\end{equation}
References come out wrong, as when Eq.~\ref{commutation} is
referenced.
\end{document}

相关内容