我用它amsthm
来证明我的定理、引理等等。
我希望它们的编号看起来像这样:
Theorem 1.1.1
Lemma 1.1.2
Definition 1.1.3
Theorem 1.2.1
Definition 1.2.2
Corollary 1.2.3
Theorem 2.1.1
etc.
为了使编号“按部分”我做了
\newtheorem{defi}{Definition}[section]
但是我定义的每个定理类型都有自己的计数器。所以我尝试
\newtheorem{defi}[somecounter]{Definition}
但随后数字就变得很普通了,部分消失了!
所以我想写一些类似的东西
\newcounter{somecounter}[section]
\newtheorem{defi}[somecounter]{Definition}[section]
但这不起作用:(
我怎样才能达到这样的效果?
答案1
你需要构造一个“伪”定理,并让所有其他定理都服从该定理。例如:
\documentclass{article}
\usepackage{amsthm,amsmath}
% \newtheorem{dummy}{Dummy}[section]
\newcounter{dummy} \numberwithin{dummy}{section}
\newtheorem{thm}[dummy]{Theorem}
\newtheorem{defn}[dummy]{Definition}
\begin{document}
\section{First}
\begin{thm}
\end{thm}
\begin{defn}
\end{defn}
\section{Second}
\begin{thm}
\end{thm}
\begin{defn}
\end{defn}
\end{document}
注释\newtheorem
行或\newcounter
行都可以使用;\numberwithin
命令由 定义amsmath
,但如果您正在使用,amsthm
您可能也会使用它。如果不是,那么该\newtheorem
行只能与 一起使用amsthm
。
答案2
也许这就是你想要实现的:
\documentclass{book}
\usepackage{amsthm}
\newtheorem{theo}{Theorem}[section]
\newtheorem{lemm}[theo]{Lemma}
\newtheorem{coro}[theo]{Corollary}
\begin{document}
\chapter{Test chapter}
\section{Test section}
\begin{theo}
test
\end{theo}
\begin{coro}
test
\end{coro}
\begin{lemm}
test
\end{lemm}
\end{document}
第一个声明表示,每当父计数器增加时,环境计数器theo
将重置为 0 section
,并且定理标签将添加节号。其他声明只是将其计数器置于刚刚声明的计数器之下。