如何重置回忆录类中的分段计数器以避免破坏复杂文档中的目录交叉引用?

如何重置回忆录类中的分段计数器以避免破坏复杂文档中的目录交叉引用?

我已经在这里问过类似的问题:

重置回忆录类别计数器时,目录/索引交叉引用不正确

并得到了满意的答复。现在,我希望将章节计数器重置(使用\counterwithin*)应用于更复杂的文档,但这似乎失败了。我只想在书籍的每个部分以及我的文档结构中的每本书中重新启动章节计数器,如下所示:

  • 書1

    • 第1部分
      • 第1章
      • ...
    • 第2部分
      • 第1章
      • ...
    • ...
  • 書2

    • 第1章
    • ...
  • 書3

    • 第1章
    • ...

我目前有以下 MWE:

\documentclass[a4paper,12pt]{memoir}

\usepackage{hyperref}             
\hypersetup{
    hypertexnames=true,                
    linktocpage=false,
    colorlinks=true,                                        
}

\counterwithin*{chapter}{book}
\counterwithin*{chapter}{part}

\begin{document}

\tableofcontents*

\book{Book1}
 \part{Part1}
  \chapter{Chapter1}
 \part{Part2}
  \chapter{Chapter1}

\book{Book2}
  \chapter{Chapter1}

\book{Book3}
  \chapter{Chapter1}

\end{document}

我似乎无法在目录中正确交叉引用 Book2 和 Book3 中的章节。我是否应该以\counterwithin*某种方式将命令拼接到各个章节中?

答案1

由于章节编号重复,因此您需要指定hyperref链接使用唯一编号。您可以在序言中添加以下内容:

\renewcommand*{\theHchapter}{\thepart.\thebook.\thechapter}

当出现这种情况时,您可以在日志文件中看到警告。

相关内容