更改文档中定理的编号方式

更改文档中定理的编号方式

我正在编写一个包含一个(非常大)章节的文档,其中定理、引理等都以 编号subsubsection,即文档的开头有命令

\newtheorem{theorem}[subsubsection]{Theorem}

但是,该文档也有一些短章节,其中定理等用 编号subsection。目前,我能做到这一点的唯一方法是theorem_在文档开头定义 :

\newtheorem{theorem_}[subsection]{Theorem}

并使用theorem有时和theorem_其他时间。这似乎是一个丑陋的黑客行为,如果有某种方法可以\begin{theorem}...\end{theorem}在整个文档中使用,并在每章开头使用一些命令来确定定理是否用subsection或编号,我会很高兴subsubsection。这可能吗?

答案1

你可以使用

\renewcommand{\thetheorem}{\thesubsection.\arabic{theorem}}

紧接着您希望更改的章节之前。

% arara: pdflatex
\documentclass{report}

\usepackage{lipsum}

\newtheorem{theorem}{Theorem}[subsubsection]

\setcounter{secnumdepth}{3}
\begin{document}

\chapter{one}
\section{sec}
\subsection{subsec}
\subsubsection{subsubsec}
\begin{theorem}
  \lipsum[1]
\end{theorem}

\renewcommand{\thetheorem}{\thesubsection.\arabic{theorem}}
\chapter{two}
\section{sec}
\subsection{subsec}
\subsubsection{subsubsec}
\begin{theorem}\label{thm:test}
  \lipsum[1]
\end{theorem}
\ref{thm:test}

\end{document}

在文档中途更改编号惯例可能会让读者感到困惑。你有多少条定理?编号需要这么深吗?只是一些想法 :)

相关内容