将定理编号为子部分

将定理编号为子部分

我正在使用该类处理一个大型、多章节的文档memoir。每章中都有章节、小节和小小节,小小节中有定理、引理、命题等。

我让所有定理、命题等共享一个计数器,该计数器从属于该小节。因此目前情况如下:

第1章

第 1.1 节

1.1.1 小节

1.1.1.1 小节

定理 1.1.1.1

1.1.1.2 小节

定义 1.1.1.2

备注 1.1.1.3

1.1.1.3 小节

我希望定理、命题等的编号使用与小节相同的计数器,这样事情看起来就会像这样:

第1章

第 1.1 节

1.1.1 小节

1.1.1.1 小节

定理 1.1.1.2

1.1.1.3 小节

定义 1.1.1.4

备注 1.1.1.5

1.1.1.6 小节

我更愿意使用amsthm,但如果有必要,我也可以采用其他包。

加分点:如何让方程编号使用相同的计数器?

答案1

使用第一个可选参数\newtheorem

\documentclass{book}
\usepackage{amsthm}

\newtheorem{theo}[subsubsection]{Theorem}
\newtheorem{defi}[subsubsection]{Definition}
\setcounter{secnumdepth}{3}

\begin{document}

\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\begin{theo}
test.
\end{theo}
\subsubsection{Test Subsubsection}
\begin{theo}
test.
\end{theo}
\begin{defi}
test.
\end{defi}
\subsubsection{Test Subsubsection}

\end{document}

在此处输入图片描述

我认为这种编号方案可能会使读者难以理解(除此之外,例如,如果在创建小节之前有一个定理或定义怎么办?)。

为了获得加分(并且让读者更难理解):

\documentclass{book}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{etoolbox}
\numberwithin{equation}{subsection}

\newtheorem{theo}[subsubsection]{Theorem}
\newtheorem{defi}[subsubsection]{Definition}
\setcounter{secnumdepth}{3}

\AtBeginEnvironment{equation}{\setcounter{equation}{\value{subsubsection}}}{}{}{}
\AtEndEnvironment{equation}{\stepcounter{subsubsection}}{}{}{}

\begin{document}

\chapter{Test Chapter}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}
\begin{theo}
test.
\end{theo}
\subsubsection{Test Subsubsection}
\begin{theo}
test.
\end{theo}
\begin{defi}
test.
\end{defi}
\begin{equation}
a=b.
\end{equation}
\subsubsection{Test Subsubsection}
\begin{equation}
c=d.
\end{equation}

\end{document}

在此处输入图片描述

我宁愿使用更简单的编号方案:

\documentclass{book}
\usepackage{amsthm}
\usepackage{amsmath}

\newtheorem{theo}{Theorem}[chapter]
\newtheorem{defi}[theo]{Definition}
\newtheorem{prop}[theo]{Proposition}
\setcounter{secnumdepth}{3}

\begin{document}
...
\end{document}

相关内容