如何跳转到我在目录中单击的准确位置(目录链接由 {hyperref} 生成)?

如何跳转到我在目录中单击的准确位置(目录链接由 {hyperref} 生成)?

我正在编写一本书,该书在目录中显示 6 个级别的标题:部分、章节、节、小节、小小节和段落。为了在目录中引用这些标题,我使用hyperref选项linktocpage

现在,当我单击结果目录中的部分和章节链接时,我会准确跳转到我应该跳转的位置,即相应部分或章节标题的开头。

但是,当我单击任何部分-段落范围时,我都会转到相应标题正下方的文本开头,而不是标题本身的开头,在这种情况下,标题隐藏在屏幕上边框上方。

无论我单击哪里:在 toc、parttoc、minitoc 中,还是在 Acrobat 或 Evince 的导航窗格中 --- 行为都是一样的。

我想知道是否可以做些什么来解决这个问题,因为我发现这种行为相当令人困惑。

我在 Suse Linux Desktop 11SP2 上使用 pdfLaTeX,其序言如下:

\documentclass{book}
\frenchspacing
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}
\usepackage{minitoc}
\setcounter{secnumdepth}{-2}
\setcounter{tocdepth}{4}
\usepackage[unicode]{hyperref}
\hypersetup{linktocpage,    
            pdfborder = {0 0 0}
            }
\includeonly{01,02}

\begin{document}

\noindent

\frontmatter

\doparttoc
\dominitoc
\tableofcontents

\mainmatter

\part[Документы МСФО с номенклатурой IAS]{Документы МСФО \\с номенклатурой\\ IAS}
\parttoc

\include{01}
\include{02}
\include{03}
...

答案1

您想跳转到页面还是标题?我将目录深度改为 5,这样您就可以在目录中看到所有 6 个级别。超链接工作正常。您指的是那 6 个级别,还是您找到了更深层次的内容?

\documentclass{book}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{blindtext}
\setcounter{secnumdepth}{-2}
\setcounter{tocdepth}{5}
\usepackage[unicode]{hyperref}
\hypersetup{linktocpage,    
            pdfborder = {0 0 0}
            }

\begin{document}

\tableofcontents

\part{Part}
\chapter{Chapter}
\blindtext
\section{Section}
\blindtext
\subsection{Subsection}
\blindtext
\subsubsection{Subsubsection}
\blindtext
\paragraph{Paragraph}
\blindtext
\subparagraph{Subparagraph}
\blindtext
\end{document}

编辑 如果您想通过 pdf 阅读器中的书签跳转到页面,只需添加:\hypersetup{bookmarks=true, bookmarksnumbered=true,}。为了正确链接到图片中的标题,请添加\usepackage[all]{hypcap}

相关内容