Hyperref 链接到正确的页面,但太低(标题不可见)

Hyperref 链接到正确的页面,但太低(标题不可见)

要将术语、参考书目和索引添加到目录中,您可以选择

  1. 使用相应包的内置选项,即使用\usepackage[intoc]{nomencl}\printbibliography[heading=bibintoc]\usepackage[totoc]{idxlayout}

  2. 通过添加手动执行此操作

    \cleardoublepage
    \phantomsection
    \addcontentsline{toc}{chapter}{xxx}
    

    之前\printnomenclature\printbibliography\printindex

两种方法都提供相同的视觉输出。

方法 1 似乎是更可取的,因为它的代码更干净,您不必多次使用方法 2 的相同三行,也不必在 中手动输入标题名称addcontentsline

但是,如果您使用的是hyperref,目录中的链接将指向相应标题后的第一行(即,标题本身不可见)。将其与指向标题上方相当远位置的标准章节的链接进行比较。方法 2 也是如此。

这种行为是故意的吗?如果是,为什么?我可以使用方法 1 并仍然获得方法 2 中的链接吗?

方法一(仅适用于命名法,参考书目和索引同样适用):

\documentclass{scrreprt}

\usepackage[intoc]{nomencl}
\usepackage{hyperref}

\makenomenclature

\begin{document}
  \tableofcontents
  \nomenclature{$T$}{test}

  \chapter{Test}
  \printnomenclature
\end{document}

方法2(仅适用于命名法,参考书目和索引同样适用):

\documentclass{scrreprt}

\usepackage{nomencl}
\usepackage{hyperref}

\makenomenclature

\begin{document}
  \tableofcontents
  \nomenclature{$T$}{test}

  \chapter{Test}
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{chapter}{Nomenclature}
  \printnomenclature
\end{document}

答案1

您的两个示例都适用于当前版本的 hyperref。因此我建议使用最新版本的 hyperref。

相关内容