下面的准 MWE 使用该类memoir
并且运行良好。它生成具有以下结构的文档:
- 目录
- 书
- 第1部分
- 第1章
- 第2部分
- 第2章
- 指数
在这里,目录和索引中的交叉引用都可以正常工作。但我想将每个部分的章节号重置回“1”(如果有很多书,最终是每本书的章节号)。为此,我取消注释了\counterwithin
序言中的说明。
hyperref
现在,根据分配给选项的值hypertexnames
,我得到以下行为:
如果
true
,第 2 部分中第“2”章(现已重新编号为“1”)的目录链接不起作用,但第“5”页上 AAAAA 的索引链接起作用;如果
false
,则指向第 2 部分中第“2”章(现已重新编号为“1”)的目录链接有效,但指向第“5”页上的 AAAAA 的索引链接无效。
难道我做错了什么?
\documentclass[a4paper,12pt]{memoir}
%\counterwithin*{chapter}{part} % Restarts chapter count within Part.
\usepackage{hyperref}
\hypersetup{
hypertexnames=true,
linktocpage=false,
colorlinks=true,
}
\indexintoc
\makeindex[main]
\begin{document}
\frontmatter{}
\tableofcontents*
\mainmatter{}
\book{BookTitleA}
\part{PartTitleA}
\chapter{TitleA}
AAAAA\index[main]{AAAAA}.\\
\part{PartTitleB}
\chapter{TitleB}
BBBBB.
\backmatter
\clearpage
\printindex[main]
\end{document}
答案1
简单地移动\counterwithin*
似乎\hypersetup
可以解决问题:
\usepackage{hyperref}
\hypersetup{
hypertexnames=true,
linktocpage=false,
colorlinks=true,
}
\counterwithin*{chapter}{part}