我的方程式环境的新标签

我的方程式环境的新标签

我想为我的方程环境创建一个新标签

\NewEnviron{MyEq}{\begin{equation}\BODY\end{equation}}

使用以下标签:$\mathbb D$.number-of-my-equation。例如

\begin{MyEq}
A+B=C\tag{\mathbb{D}.1}
\end{MyEq}

可以吗?非常感谢。

第一次编辑:我想要这样的东西

\documentclass{article}
\usepackage{mathtools,amssymb}
\newtagform{D}{$\mathbb{D}$.}{}
\newcounter{mycount}
\newcommand{\myeq}[2]{%
    \setcounter{mycount}{\value{equation}} % save current eq. nnumber
    \setcounter{equation}{#1}
    \addtocounter{equation}{-1}
    \usetagform{D}        % switch to special tag form
    \begin{equation} #2 \end{equation}
    \setcounter{equation}{\value{mycount}} % restore eq. nnumber
    \usetagform{default}% % restore default tag form
}

\begin{document}

\begin{equation}0+0=0\end{equation}
\myeq{1}{1+1=2}
\begin{equation}2+2=4\end{equation}
\myeq{2}{1+2=3}

\end{document}

但采用以下形式或等效形式:

%Preamble...
\begin{equation}0+0=0\end{equation}
\begin{myeq}0+0=0\end{myeq}
\begin{equation}2+2=4\end{equation}
\begin{myeq}1+2=3\end{myeq}

答案1

\NewEnviron除非您需要执行某些操作,否则不要使用\BODY(现在,有b参数类型\NewDocumentEnvironment)。

只需设置您需要的内容并\tag在关闭环境之前发出适当的命令。

\documentclass{article}
\usepackage{amsmath,amssymb}

\newcounter{Dequation}
\newenvironment{Dequation}
 {\stepcounter{Dequation}\begin{equation}}
 {\tag*{$\mathbb{D}$.\theDequation}\end{equation}\ignorespacesafterend}

\begin{document}

Some text and a standard equation
\begin{equation}\label{a}
1=1
\end{equation}
Some text and a D equation
\begin{Dequation}\label{b}
2=2
\end{Dequation}
Some text and a standard equation
\begin{equation}\label{c}
1=1
\end{equation}
Some text and a D equation
\begin{Dequation}\label{d}
2=2
\end{Dequation}
Some final text; \ref{a}, \eqref{a};
\ref{b}, \eqref{b};
\ref{c}, \eqref{c};
\ref{d}, \eqref{d}.

\end{document}

在此处输入图片描述

答案2

评论:在 OP 留下评论说“D”方程应该从 开始连续编号后,我重写了答案(\mathbb{D}.1)

\tag这是一个使用软件包提供的宏的解决方案。可以使用标准LaTeX机制amsmath交叉引用“D”方程。但请注意,该指令必须放在 的参数中。\label\ref\label\myeq

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}  % for '\tag' macro
\usepackage{amssymb}  % for '\mathbb' macro
\newcounter{mycount}  % counter for 'D'-type equations
\newcommand{\myeq}[1]{%
    \[ 
    \stepcounter{mycount} 
    #1
    \tag{$\mathbb{D}$.\arabic{mycount}}
    \]
}
\begin{document}

\begin{equation}0+0=0\end{equation}
\myeq{1+1=2\label{eq:D1}}
\begin{equation}2+2=4\end{equation}
\myeq{3+3=6\label{eq:D2}}
A cross-reference to equation \eqref{eq:D1}.

\end{document}

相关内容