这个问题的答案如何删除章节编号但不将其从目录中删除给出如下形式:
\newcommand{\mychapter}[2]{
\setcounter{chapter}{#1}
\setcounter{section}{0}
\chapter*{#2}
\addcontentsline{toc}{chapter}{#2}
}
我的声誉还不足以对帖子发表评论,所以我想问一下重置计数器行有什么用\setcounter{section}{0}
。我正在尝试更深入地学习 LaTeX,如果有人能解释一下它们的作用,我将不胜感激。将它们从我的序言中注释掉似乎没有任何区别。章节计数器是否不是指它之前的章节的计数,因此如果您更改了该计数器,它会自动更改?
答案1
用户回答(如何删除章节编号但不将其从目录中删除) 链接的问题想要删除那里的章节编号,但保持章节编号“一致”。
这可以通过用户的方式实现:用来\chapter*
阻止显示章节计数器,但是,这不会增加或设置章节计数器。
部分计数器(通常)通过 定义\newcounter{section}[chapter]
,因此每次重置它们时,\refstepcounter{chapter}
或都会开始起作用,而应用\stepcounter
时则不是这种情况(因为它已经这样做了)。 (是标记计数器步骤,调用,而这又是 的一些特殊版本。)\chapter*{}
\chapter
\refstepcounter
\stepcounter
\addtocounter{countername}{1}
在这种情况下,答题者必须手动设置\setcounter{section}{0}
,每次使用的时间\mychapter
都是为了满足链接问题 OP 的特定需求。这样,数字section
是一致的,并且每次fake
使用这样的特定章节时都会重置
通常层次结构的顺序:(无\part
)
- 章节计数器得到
\stepcounter
ed 或\refstepcountered
。 - 由于
\newcounter{section}[chapter]
已使用,此上一步触发了章节计数器的重置。章节计数器不依赖于特殊的章节计数器值,它只是增加步骤。
问题的答案在这里:一般来说,如果没有明确定义,则不需要重置部分计数器,但在链接问题中,部分编号应该与链接答案中应用的方法一致,这\setcounter{section}{0}
只是一种方法。
如果绕过自动重置,则必须付费;-)
答案2
不会\setcounter{<counter>}
重置相关计数器。
对于每个计数器,都有一个关联的计数器列表,当计数器踏步。只有\stepcounter{<chapter>}
命令执行重置(并且\refstepcounter
,因为它调用基本命令)。
通过删除一个参数可以改进所示的代码:
\newcommand{\mychapter}[1]{%
\cleardoublepage
\refstepcounter{chapter}%
\addcontentsline{toc}{chapter}{#1}%
\chapter*{#1}%
}
这也将使其与 兼容hyperref
,因为在 加载\refstepcounter
时还会创建一个锚点,hyperref
书签中的条目和目录中的链接将引用该锚点。
如果我们需要从零或其他数字开始章节,则只需在序言中添加,
\AtBeginDocument{\setcounter{chapter}{-1}}
(或者-2
如果有两个章节需要处理)。