我正在编写一个包含一个(非常大)章节的文档,其中定理、引理等都以 编号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}
在文档中途更改编号惯例可能会让读者感到困惑。你有多少条定理?编号需要这么深吗?只是一些想法 :)