我的论文有 3 章。第 1 章分为 3 节。第一节有 8 个小节。我想要定理和定义编号如下;例如定理 1.2.4 或定义 1.8.1 等。
其余 2 节没有小节。在第二节中,我希望它显示如下:定理 2.1 或定义 2.4 等,没有小节编号。在第三节中,我希望它是定义 3.1 等。
我尝试编辑了一下\newtheorem{thm}{Theorem}[subsection]
,遇到了一些麻烦,第 1 节第 8 小节中,最后一个数字是 1.1.8.8。第 2 节中,第一个定义的数字是 1.2.0.9。如何编辑代码,让数字 1.2.0.9 变成 1.2.1?
请建议合适的命令。
答案1
不要。但如果你真的坚持,
\documentclass[oneside]{book} % oneside to make a smaller picture
\usepackage[a5paper]{geometry} % just to make a smaller picture
\usepackage{amsthm}
\newtheorem{thm}{Theorem}[subsection]
\renewcommand{\thethm}{%
\ifnum\value{subsection}>0
\thesubsection
\else
\thesection
\fi
.\arabic{thm}%
}
\begin{document}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\begin{thm}
First theorem
\end{thm}
\subsection{Second subsection}
\begin{thm}
Second theorem
\end{thm}
\begin{thm}
Third theorem
\end{thm}
\section{Second section}
\subsection{Third subsection}
\begin{thm}
Fourth theorem
\end{thm}
\chapter{Second chapter}
\section{Third section}
\begin{thm}
Fifth theorem
\end{thm}
\end{document}
答案2
以下重新定义\thethm
应该可以满足您的要求。如果您希望以类似的方式对定义进行编号,并且如果您已经定义了例如\newtheorem{definition}{Definition}
,那么类似的重新定义\thedefinition
应该可以工作。
\documentclass{book}
\usepackage{amsmath,amsthm}
\newtheorem{thm}{Theorem}
\renewcommand{\thethm}{%
\ifnum \value{subsection} = 0
\arabic{chapter}.\arabic{section}%
\else
\arabic{chapter}.\arabic{section}.\arabic{subsection}%
\fi%
}
\begin{document}
\chapter{First chapter}
\section{A section with subsections}
\subsection{A subsection}
\begin{thm}
A theorem.
\end{thm}
\subsection{Another subsection}
\begin{thm}
Another theorem.
\end{thm}
\section{Another section with subsections}
\subsection{A subsection}
\begin{thm}
A theorem.
\end{thm}
\chapter{Second chapter}
\section{A section without subsections}
\begin{thm}
A theorem.
\end{thm}
\section{Another one}
\begin{thm}
Another theorem.
\end{thm}
\end{document}