我正在为一个班级写讲义,讲义很长,有很多定理、引理等。我想知道如何在每个章节开始时重置这些环境的编号。现在,这些环境的编号已经达到数百个,看起来很糟糕。以下是我序言的所有相关部分。我对此进行了大量研究,并向讲这些笔记的教授寻求帮助,我们得到的最好方法是在序言中包含“\numberwithin{equation}{section}”。不幸的是,这并没有解决问题。有没有一个简单的解决方法,让第 n 节中的定理编号为 n.1、n.2 等?
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{preamble}
\usepackage{listings}
\usepackage{enumitem}
\geometry{tmargin=.75in, bmargin=.75in, lmargin=.75in, rmargin = .75in}
\title{Ma 121a Lecture Notes}
\author{Instructor: Dr. Professor\\ Notes written by Me}
\date{Academic Year 2019-2020}
\numberwithin{equation}{section}
\begin{document}
\maketitle
\vspace{.25in}
\section*{Lecture 1}
\addtocounter{section}{1}
\begin{definition}
This is Definition 1.1.
\end{definition}
\begin{definition}
This is definition 1.2.
\end{definition}
\section*{Lecture 2}
\addtocounter{section}{1}
\begin{theorem}
This is Theorem 2.3. But I would like it to be Theorem 2.1.
\end{theorem}
以上是 MWE。下面是我使用 \usepackage{preamble} 单独加载为 .sty 文件的序言。如果没有序言,MWE 将无法工作。
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{wasysym}
\usepackage{verbatim}
\usepackage{bbm}
\usepackage{graphics}
\usepackage{geometry}
\usepackage{latexsym}
\usepackage{epsfig}
\usepackage{bm}
\usepackage{xspace}
\usepackage{times}
\usepackage{listings}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{fact}[theorem]{Fact}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{observation}[theorem]{Observation}
\newtheorem{conjecture}[theorem]{Conjecture}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
答案1
你已经拥有了
\newtheorem{theorem}{Theorem}[section]
因此,定理计数器将为每个编号部分重置,但即使部分计数器被分配了值,也不会重置未编号部分。作为最小更改,替换
\addtocounter{section}{1}
和
\refstepcounter{section}
它会重置定理计数器,并且还有额外的好处,您可以使用它\label
并\ref
参考其他讲座。
另一方面,看起来您确实有编号的节,但不想使用常规节使用的格式。我建议您切换到编号\section
命令并省略节计数器的任何显式设置。声明
\renewcommand\thesection{Lecture~\arabic{section}}
\renewcommand\thetheorem{\arabic{section}.\arabic{theorem}}
这会在章节编号前插入单词“Lecture”,而不是在它后面。当然,你不希望定理编号中出现该单词,因此你可以重新定义它以跳过\thesection
并直接使用\arabic{section}
。在每个讲座中声明一个没有标题的章节
\section{}
这将处理定理计数器的重置,按需要显示讲座标题,允许重新排列而无需手动编辑,允许讲座的解释性标题
\section{Welcome class} % for lecture 1
它提供了交叉引用,并具有目录的潜力。
如果您制作目录,请将此重新定义放入 preamble.sty 中:
\renewcommand\numberline[1]{%
\begingroup
\sbox\@tempboxa{#1 }%
\ifdim\wd\@tempboxa<\@tempdima
\wd\@tempboxa=\@tempdima
\fi
\usebox\@tempboxa
\endgroup
}
因为标准定义不喜欢“数字”部分像“讲座 2”那么宽。