![Hyperref 链接到正确的页面,但太低(标题不可见)](https://linux22.com/image/247780/Hyperref%20%E9%93%BE%E6%8E%A5%E5%88%B0%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%A1%B5%E9%9D%A2%EF%BC%8C%E4%BD%86%E5%A4%AA%E4%BD%8E%EF%BC%88%E6%A0%87%E9%A2%98%E4%B8%8D%E5%8F%AF%E8%A7%81%EF%BC%89.png)
要将术语、参考书目和索引添加到目录中,您可以选择
使用相应包的内置选项,即使用
\usepackage[intoc]{nomencl}
、\printbibliography[heading=bibintoc]
和\usepackage[totoc]{idxlayout}
或通过添加手动执行此操作
\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。