我使用该amsmath
环境,并将以下代码放在序言中:
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}{Corollary}[section]
\theoremstyle{definition}
\newtheorem{defn}{Definition}[section]
\newtheorem*{ex}{Example}
\newtheorem{prop}{Proposition}[section]
\theoremstyle{remark}
\newtheorem*{rem}{Remark}
这对于我的定理、证明等非常有效,但我想做一个小修改,用一个例子来说明会更容易:如果我在第 3 章中写了两个定理和一个定义,我希望下一个定义是 3.4 而不是 3.2。换句话说,我想将我的定理、引理等全部作为一个类别进行排序,而不是单独对每个类别进行排序。我该如何修改代码来做到这一点?
答案1
对于选定的结构,使用您最初从属于节计数器的结构的计数器作为第一个可选参数,因此选定的结构将共享计数器。例如,在您执行
\newtheorem{thm}{Theorem}[section]
thm
结构的计数器Theorem
从属于计数器section
,并且定义
\newtheorem{lem}[thm]{Lemma}
使lem
计数器共享结构的计数器Theorem
。完整的示例:
\documentclass{article}
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem*{ex}{Example}
\newtheorem{prop}[thm]{Proposition}
\theoremstyle{remark}
\newtheorem*{rem}{Remark}
\begin{document}
\section{Test}
\begin{thm}test\end{thm}
\begin{lem}test\end{lem}
\begin{prop}test\end{prop}
\begin{defn}test\end{defn}
\end{document}