为公式编号添加文字

为公式编号添加文字

在我的论文中,我有两种来自不同主题的方程式。我想在我的文章中对它们进行如下标记:

一些文字

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}

相关内容