在我的论文中,我有两种来自不同主题的方程式。我想在我的文章中对它们进行如下标记:
一些文字
a^2+b^2 = c^2(1.1 EM)
其他一些文字
A^2 + b^2 = c^2(1.1 克尔)
但我希望我可以将 EM/GR 作为参数传递给方程。我还希望能够引用我的方程,这样就可以写成
参照方程 (1.1 GR) 我们可以看到...
因此我的问题是是否有人知道如何实现这一点。
答案1
您可以使用subequations
:您只需要添加合适的标签。
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{Test}
\begin{subequations}\label{eq:group}
Some text
\begin{equation}\label{eq:EM}
a^2+b^2=c^2 \tag{\ref{eq:group} EM}
\end{equation}
More text
\begin{equation}\label{eq:GR}
a^2+b^2=c^2 \tag{\ref{eq:group} GR}
\end{equation}
\end{subequations}
Still more text
\begin{equation}\label{eq:again}
a^2+b^2=c^2
\end{equation}
\eqref{eq:EM} and \eqref{eq:GR} and \eqref{eq:again}
\end{document}
我们可以自动完成这个吗?可以。
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\newcounter{namedsubequations}
\newenvironment{namedsubequations}
{%
\subequations
\stepcounter{namedsubequations}%
\label{namedsubequations@\thenamedsubequations}%
}
{\endsubequations\ignorespacesafterend}
\newcommand{\addname}[1]{\tag{\ref{namedsubequations@\thenamedsubequations} #1}}
\begin{document}
\section{Test}
\begin{namedsubequations}
Some text
\begin{equation}\label{eq:EM}
a^2+b^2=c^2 \addname{EM}
\end{equation}
More text
\begin{equation}\label{eq:GR}
a^2+b^2=c^2 \addname{GR}
\end{equation}
\end{namedsubequations}
Still more text
\begin{equation}\label{eq:again}
a^2+b^2=c^2
\end{equation}
\eqref{eq:EM} and \eqref{eq:GR} and \eqref{eq:again}
\end{document}
答案2
该amsmath
包专门\tag
为这种情况提供了宏。
\documentclass{article} % or some other suitable document class
\usepackage{amsmath} % for '\tag' macro
\counterwithin{equation}{section} % just for this example
\begin{document}
\stepcounter{section} % just for this example
Some text
\begin{equation}
a^2 + b^2 = c^2 \tag{1.1 EM} \label{eq:em}
\end{equation}
More text
\begin{equation}
A^2 + b^2 = c^2 \tag{1.1 GR} \label{eq:gr}
\end{equation}
Still more text
\stepcounter{equation} % let the internal 'equation' counter catch up
\begin{equation}
A^2 + b^2 = c^2 \label{eq:still}
\end{equation}
Referring to Eq.\ \eqref{eq:gr} one can see \dots
\end{document}
答案3
这是一个使用新环境的可能解决方案labelledequation
。它需要一个参数,即放置在方程编号旁边的文本。我还定义了一个带星号的环境版本,除了不增加计数器外,它完全相同equation
。
\documentclass{article}
\usepackage{amsmath}
\newenvironment{labelledequation}[1]{%
\begin{equation}
\refstepcounter{equation}
\tag{\theequation{} #1}
}{\end{equation}\ignorespacesafterend}
\newenvironment{labelledequation*}[1]{%
\begin{equation}
\tag{\theequation{} #1}
}{\end{equation}\ignorespacesafterend}
\begin{document}
some text
\begin{labelledequation}{EM}
\label{eqEM}
a^2 + b^2 = c^2.
\end{labelledequation}
some more text
\begin{labelledequation*}{GM}
\label{eqGM}
a^2 + b^2 = c^2.
\end{labelledequation*}
references to the equations work! \eqref{eqEM} and \eqref{eqGM}
\end{document}