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