PDF 查看器侧窗格中目录嵌套不正确

PDF 查看器侧窗格中目录嵌套不正确

以下是我的问题的一个最小示例:

\documentclass{article}
\RequirePackage{hyperref}
\newenvironment{qu}[1][]{\par\addcontentsline{toc}{subsection}{ #1}}{\par}
\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{a section}
\begin{qu}[foo]\end{qu}
\addcontentsline{toc}{section}{another section}
\begin{qu}[bar]\end{qu}
\end{document}

Latex 生成的目录看起来是正确的,有点像这样:

Contents
a section
  foo
another section
  bar

当我使用 pdflatex 编译此文件(两次)时,它还会生成一个目录,我的 pdf 查看器(Linux 上的 Evince 应用程序)知道该目录并将其显示在侧窗格中。该侧窗格具有错误的层次结构:

a section
  1. foo
    another section
      2. bar

为什么会发生这种情况?我该如何解决?

答案1

手动添加内容行且其中某些条目高于当前书签级别不会重置书签级别,即section目录中的级别不会移回书签的部分级别。

bookmark软件包会处理这个问题,否则,在我看来,hyperref手动使用是另一种但更糟糕的解决方案。\phantomsection

该包的另一个优点bookmark是,大纲(书签面板)经过一次编译运行后就已经正确了。

\documentclass{article}
\usepackage[open=true]{bookmark}

\newenvironment{qu}[1][]{\par\addcontentsline{toc}{subsection}{ #1}}{\par}


\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{a section}
\begin{qu}[foo]

\end{qu}
\addcontentsline{toc}{section}{another section}
\begin{qu}[bar]\end{qu}

\end{document}

相关内容