使用 \numberwithin{equation}{subsection} 对方程进行编号的问题

使用 \numberwithin{equation}{subsection} 对方程进行编号的问题

我正在写一篇文章,其中前两节没有小节,但第三节有两个小节。第一节有 2 个方程,第二节有 3 个方程,第三节有 2+2 个方程。

当我使用时\numberwithin{equation}{subsection},我得到了以下方程式编号:

第一部分

1.0.1

1.0.2

第二部分

2.0.3

2.0.4

2.0.5

第三部分

第 1 小节

3.1.1

3.1.2

第二小节

3.2.1

3.2.2

但是有没有办法得到第二节的方程式编号

第二部分

2.0.1

2.0.2

2.0.3

答案1

借助该changcntr包,有两种方法可以实现这一点。首先,如果您不想显示0不存在的子节 — 即如果某一点没有子节,则仅显示节号+方程式编号:

\documentclass[11pt,a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{chngcntr}
\usepackage{etoolbox}
\counterwithin*{equation}{section}
\counterwithin*{equation}{subsection}
\renewcommand\theequation{\ifnumgreater{\value{subsection}}{0}{\thesubsection.}{\thesection.}\arabic{equation}}%

\begin{document}

\section{A First Section}
\begin{equation}
a = b
\end{equation}
\begin{equation}
a + c = b + c
\end{equation}
\begin{equation}
a × c = b × c
\end{equation}

\section{A Second Section}
\begin{equation}
a = b
\end{equation}
\begin{equation}
a + c = b + c
\end{equation}

\section{A Third Section}

An extra equation :
\begin{equation}\
  \ln a = \ln b
\end{equation}
\subsection{First subsection}
\begin{equation}
a = b
\end{equation}
\begin{equation}
a + c = b + c
\end{equation}

\subsection{Second subsection}
\begin{equation}
a = b
\end{equation}
\begin{equation}
a + c = b + c
\end{equation}

\end{document} 

在此处输入图片描述

如果希望0显示,请从序言中删除\renewcommand\theequation{…}\usepackage{etoolbox},并替换counterwithin*{equation}{subsection}为无星号的版本。

在此处输入图片描述

相关内容