当我在文档期间重置节计数器时,Hyperref 无法正常工作

当我在文档期间重置节计数器时,Hyperref 无法正常工作

当我重置每个部分的节计数器时,目录中的超引用会将我带到文档的错误部分。——当我在目录中单击第二部分的第 1 节时,超引用会将我带到第一部分的第 1 节。——有没有办法解决这个问题?

第一部分 第 1 节 第 2 节 第 3 节 第二部分 第 1 节 第 2 节

ETC。

此致。

答案1

您描述的现象在使用时会产生

\setcounter{section}{0}

手动重置计数器。以下是重现该错误的简单文档:

\documentclass{article}
\usepackage[colorlinks]{hyperref}

\begin{document}

\tableofcontents

\part{Test part one}
\setcounter{section}{0}
\clearpage
\section{First test section in part one}
\clearpage
\section{Second test section in part one}

\part{Test part two}
\setcounter{section}{0}
\clearpage
\section{First test section in part two}
\clearpage
\section{Second test section in part two}

\end{document} 

无需手动重置每个部分的计数器,而是使用以下命令进行重置\@addtoreset

\documentclass{article}
\usepackage[colorlinks]{hyperref}

\makeatletter
\@addtoreset{section}{part}
\makeatother

\begin{document}

\tableofcontents

\part{Test part one}
\clearpage
\section{First test section in part one}
\clearpage
\section{Second test section in part one}

\part{Test part two}
\clearpage
\section{First test section in part two}
\clearpage
\section{Second test section in part two}

\end{document} 

\clearpage命令仅用于示例。

相关内容