hyperref 给 \appendix 的层次结构错误

hyperref 给 \appendix 的层次结构错误

这是我的问题:在此文档中,附录作为“第二部分”内的一章出现,但我希望它出现在此部分之后,因为它是一个附录!

目录中的所有内容都正常。我说的是hyperrefPDF 查看器(对我来说是 evince)生成并用于导航的书签。这些书签不会出现在 PDF 文件中,而是出现在查看器的导航面板中。在屏幕左侧的那些链接中,“list”似乎是“two”的一部分,我希望它出现在“two”之后。

我希望我说清楚了。

最小工作示例

\documentclass{book}
\usepackage{hyperref}
\begin{document}
\frontmatter
intro
\tableofcontents

\mainmatter
\part{one}
text
\chapter{one-one}
text
\part{two}
text
\chapter{two-one}
text

\appendix
\chapter{list}
list
\backmatter
biblio etc.
\end{document}

答案1

相关命令来自bookmark名为 的包\bookmarksetup——由于附录章节应与部分位于同一级别,因此需要重新启动下一个书签级别,使用\bookmarksetup{startatroot}

bookmark软件包扩展了hyperref书签功能,可以在一次运行中完成整个书签制作过程,而大多数 LaTeX 编译通常需要至少两次运行。

\documentclass{book}
\usepackage{hyperref}
\usepackage{bookmark}
\begin{document}
\frontmatter
intro
\tableofcontents

\mainmatter
\part{one}
text
\chapter{one-one}
text
\part{two}
text
\chapter{two-one}
text

\bookmarksetup{startatroot}
\appendix
\chapter{list}
list
\backmatter
biblio etc.
\end{document}

在此处输入图片描述

答案2

hyperref有一个配套程序bookmark,它可以禁用hyperref的书签并为您提供一些额外的功能。包括它,还包括:

\bookmarksetup{startatroot}

就在阑尾前。这样就能解决问题了。

答案3

借助@user31729的回答,我更喜欢使用

 \bookmarksetupnext{level=part} 

在附录之前,这样附录中的每个“章节”都会进入书签的下一级。之后,只需添加

 \bookmarksetup{startatroot} 

在参考书目之前。

相关内容