如何在同一个文档中创建两种系列的方程式编号样式?

如何在同一个文档中创建两种系列的方程式编号样式?

我的文档中需要两种样式:一种适用于大多数公式,使用默认的公式编号样式;另一种适用于剩下的公式,其数量不会大于 10,使用新的样式(如下所示)。

功能 1

这里Function应该是直立的(不是斜体)。

至于引用样式(使用\ref{}命令时),这两种样式都是一样的,就像默认的一样。例如,如果我们有两个方程式,并且它们都编号为 1((1)Function 1),则应像1在文档文本中一样引用它们。

我尝试了软件包提供的方法\newtagform,并获得了正确的方程式编号输出。但是,有两个缺点:\usetagformmathtools

  • 参考数字不太好用;
  • 我需要为那些具有特殊数字风格的方程式证明数字,这很无聊。

我的代码在这里:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}

\newtagform{fnc}{Function~}{}
\begin{document}
\begin{equation}\label{eqn:ori1}
    E=mc^2
\end{equation}
\begin{equation}\label{eqn:tag1}
    \setcounter{equation}{1}
    \usetagform{fnc}
    E=mc^2
\end{equation}
\begin{equation}\label{eqn:ori2}
    E=mc^2
\end{equation}
\begin{equation}\label{eqn:tag2}
    \setcounter{equation}{2}
    \usetagform{fnc}
    E=mc^2
\end{equation}

Ref test

\ref{eqn:ori1}, \ref{eqn:ori2}, \ref{eqn:tag1}, \ref{eqn:tag2}.
\end{document}

其输出如下:

在此处输入图片描述

我需要这两个系列的样式同时工作良好(编号部分和引用部分)。这里有人有线索或提示吗?:)

答案1

我建议定义一个有自己的计数器的新方程环境:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}
\newtagform{fnc}{Function~}{}
\makeatletter
\@definecounter{Fequation}
\def\theFequation{\arabic{Fequation}}
\def\incr@Feqnum{\refstepcounter{Fequation}\let\incr@Feqnum\@empty}
\newenvironment{Fequation}{%
  \incr@Feqnum
  \mathdisplay@push
  \st@rredfalse \global\@eqnswtrue
  \mathdisplay{equation}%
  \def\theequation{\theFequation}%
  \usetagform{fnc}%
}{%
  \endmathdisplay{equation}%
  \mathdisplay@pop
  \ignorespacesafterend
}
\makeatother

\begin{document}
\begin{equation}\label{eqn:ori1}
    E=mc^2
\end{equation}
\begin{Fequation}\label{eqn:tag1}
    E=mc^2
\end{Fequation}
\begin{equation}\label{eqn:ori2}
    E=mc^2
\end{equation}
\begin{Fequation}\label{eqn:tag2}
    E=mc^2
\end{Fequation}

Ref test

\ref{eqn:ori1}, \ref{eqn:ori2}, \ref{eqn:tag1}, \ref{eqn:tag2}.
\end{document}

在此处输入图片描述


编辑

我是 OP。

由于我不想使用括号Function #,因此对这个答案进行了轻微的修改。

相关内容