如何用字母数字的方式标记章节/小节中的方程式?

如何用字母数字的方式标记章节/小节中的方程式?

具体来说,我的问题是我想用以下公式标记某个小节(例如 2.1)的方程式:

(2.1(a)、2.1(b)...)

我知道如果我使用命令\numberwithin{equation}{subsection},但在这种情况下我得到的2.1.1不是我想要的。我对 LaTeX 不是很熟悉,但有没有什么方法可以让我自动获得我想要的标签。因为我认为可以通过使用命令手动完成\tag

谢谢。

答案1

我假设,由于方程式“数字”的新形式包含一对括号,因此方程式数字不应显示在一对额外的括号中。如果这个假设不正确,请告知。

我建议您不要使用该方法,而是\numberwithin按照以下示例进行操作。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} 
\renewcommand\theequation{\thesubsection(\alph{equation})}
\makeatletter
\def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}} % no parentheses
\@addtoreset{equation}{subsection}
\makeatother
\begin{document}

\setcounter{section}{2}    % just for this example
\setcounter{subsection}{1} % just for this example
\begin{equation}\label{eq:112} 1+1=2 \end{equation}

\refstepcounter{subsection}
\addtocounter{equation}{3}
\begin{equation} 0+0=0 \end{equation}
A cross-reference to equation~\eqref{eq:112}.
\end{document}

答案2

另一个解决方案是基于\newtagform的命令mathtools。我们可以使用 恢复为默认标签格式(或任何其他格式)\usetagform{default}

\documentclass{article}
\usepackage{mathtools}

\makeatletter
\newtagform{alphanum}[\thesubsection\alph{equation}\@gobble]{(}{)}
\makeatother

\begin{document}

\setcounter{section}{2} % just for this example
\setcounter{subsection}{1} % just for this example

\usetagform{alphanum}
\begin{equation}\label{eq:112} 1+1=2 \end{equation}

\refstepcounter{subsection}
\addtocounter{equation}{3}
\begin{equation} 0+0=0 \end{equation}
A cross-reference to equation~\eqref{eq:112}.

\section{Another section}

\usetagform{default}

Another equation with the usual numbering:

\begin{equation}\label{eq:112} 2\times3=6 \end{equation}

\end{document} 

在此处输入图片描述

相关内容