带有 setcounter 的部分——具有相同标识符的目的地

带有 setcounter 的部分——具有相同标识符的目的地

当我在文档中使用两个部分并重置第二个部分的计数器时,我收到以下警告:

具有相同标识符(名称{section.1})的目标已被使用,重复项被忽略

一个简单的例子:

\documentclass{scrartcl}

\usepackage{hyperref}

\begin{document}

\tableofcontents

\newpage
\part{Part 1}
\section{Section 1-1}
\newpage
\setcounter{section}{0}
\part{Part 2}
\section{Section 2-1}

\end{document}

我怎样才能消除这个警告?

答案1

重新定义部分计数器的内部表示以提供hyperref帮助,例如:

\renewcommand*{\theHsection}{\thepart.\thesection}

出现错误是因为节计数器不唯一,您有两个节的编号为 1,每个部分一个。上面的重新定义使内部呈现为 1.2 和 2.1,因此是唯一的,并允许唯一的超链接,在输出中不可见。

例如,如果您按部分编号,错误也会消失

\usepackage{amsmath}% perhaps you already use it
\numberwithin{section}{part}

或者

\usepackage{chngcntr}
\counterwithin{section}{part}

因此,如果您参考第 1 节,就很清楚它是指第 1 部分还是第 II 部分。

相关内容