在 LaTeX 中重置计数器

在 LaTeX 中重置计数器

我用过

\section*{\centerline{3. abc}} 
\setcounter{section}{3} 

命令。它将章节标题设置在页面的中心。但是我对第 3 节的第一个定义编号为 3.8 而不是 3.1。第 2 节的最后一个定义编号为 2.7。我想重置每个章节的定义、定理、示例的计数器。我该怎么做?请帮忙!!!

答案1

看起来你正在对文档进行大量低级的“视觉”格式化。而这正是 LaTeX 想要消除的。我想起了下面这个非常古老的笑话:“优秀的 Fortran 程序员可以用任何语言编写 Fortran 程序。”

例如,通过发布指令

\section*{\centerline{3. abc}}

(a)将节标题居中设置(此处为“abc”),同时(b)在(c)手动设置的节号后放置一个“点”(又称“句号”),同时使用,\section*您将进行三种不同的手动低级格式化操作。正如您所知道的,\section*不增加计数器名为section。然后你会惊奇地发现下一个定义的计数器显示的是“3.8”而不是“3.1”。

如果您养成区分低级格式相关问题(理想情况下,应在文档的序言中处理)和内容及高级结构说明(文档主体部分应涉及的内容)的习惯,您会发现用 LaTeX 编写文档更加有趣,而且您的工作效率肯定会提高很多。

例如,下面的内容可能对您有用。

在此处输入图片描述

\documentclass{article} % or some other suitable document class

%% 1. define a 'defn' environment
\usepackage{amsthm} % or 'ntheorem'
\newtheorem{defn}{Definition}[section] % subordinate 'defn' counter to 'section' counter

%% 2. place a dot after section number in section header
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
   {\csname the#1\endcsname\space}%    default
   {\csname #1@cntformat\endcsname}}%  enable individual control
\def\section@cntformat{\thesection.\space} % section-level
\makeatother

%% 3. center-set section-level headers
\usepackage{sectsty}
\sectionfont{\centering}

\begin{document}

\setcounter{section}{2} % just for this example
\setcounter{defn}{7}

\begin{defn} \dots \end{defn}

\section{abc}
\begin{defn} \dots \end{defn}

\end{document}

相关内容