对定理等进行连续编号,但不从 1 开始

对定理等进行连续编号,但不从 1 开始

假设我正在创建 50 个单独的 LaTeX 文件(每个讲座一个)。

我希望将第一个文件中的所有定理/命题标记为 1.1、1.2 等,但在第二个文件中,我希望将它们全部标记为 2.1、2.2 等,直到第 50 个讲座,其中所有内容都将被标记为 50.1、50.2 等。

换句话说,每个单独的 LaTeX 文件的所有内容都是连续编号的,但是(除了第一个文件),编号不会从 1 开始。实现此目的的最简单方法是什么?

第二个问题:学期末我会把 50 个文件粘贴在一起(这样学生们就能得到一个合并的文件)。理想情况下,上一个问题的答案在文件粘贴在一起时不会带来太多麻烦。

答案1

这取决于你如何定义你的“讲座”环境。但是,以下内容就足够了,并允许你在最后将它们合并在一起:

\documentclass{article}

%\usepackage{hyperref}

\newtheorem{theorem}{Theorem}

\newcommand{\settheoremprefix}[1]{%
  \setcounter{theorem}{0}%
  \def\theHtheorem{#1.\arabic{theorem}}% ...if you're loading hyperref
  \renewcommand{\thetheorem}{#1.\arabic{theorem}}%
}

\begin{document}

\settheoremprefix{1}

\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}

\settheoremprefix{2}

\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}

\settheoremprefix{3}

\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}
\begin{theorem}\end{theorem}

\end{document}

\settheoremprefix{<stuff>}添加<stuff>.到每个定理数之前。如果你正在加载hyperref,还要小心地更新特定的计数器以确保正确的超链接\theHtheorem跳转hyperref


\setcounterprefix{<counter>}{<stuff>}也可以使用更通用的版本

\newcommand{\setcounterprefix}[2]{%
  \setcounter{#1}{0}%
  \expandafter\def\csname theH#1\endcsname{#2.\arabic{#1}}% ...if you're loading hyperref
  \expandafter\def\csname the#1\endcsname{#2.\arabic{#1}}%
}

例如,

\setcounterprefix{theorem}{2}
\setcounterprefix{equation}{B}

相关内容