\pdfbookmark 超链接旨在降低 \includepdf

\pdfbookmark 超链接旨在降低 \includepdf

我正在尝试使用 pdfTeX 整合多个 PDF 文档,并使用 Adob​​e/Preview 的书签功能在侧边栏窗口中提供超链接结构。当我尝试对多个 PDF 文件进行多级缩进时,超链接结构“有效”,但某些链接指向太低!请查看以下内容:

\documentclass[11pt]{article}%
\usepackage{pdfpages}%
\usepackage{bookmark}%

\begin{document}%
\pdfbookmark[1]{Test 0}{test0}%
\includepdf[pages={-},link,linkname=test0,linkfit=FitH]{Testpdf0.pdf}%

\pdfbookmark[2]{Test 1}{test1}%
\includepdf[pages={-},link,linkname=test1,linkfit=FitH]{Testpdf1.pdf}%

\pdfbookmark[3]{Test 2}{test2}%
\includepdf[pages={-},link,linkname=test2,linkfit=FitH]{Testpdf2.pdf}%

\pdfbookmark[1]{Test 3}{test3}%
\includepdf[pages={-},link,linkname=test3,linkfit=FitH]{Testpdf3.pdf}%
\end{document}%

将您最喜欢的 PDF 文件用作 Testpdf 文件 0、1、2 和 3。编译此文件,然后在 Adob​​e Reader 或 Preview 中打开生成的文档并单击书签。Test 0 和 Test 3 的书签工作正常 - 您可以看到文档的顶部 1.5 厘米 - 这正是我想要的。但是,Test 1 和 Test 2 的书签太低,切断了每个页面的顶部。有什么想法可以解决此问题吗?(是故意的吗?)

我正在准备一份重要的文件,我不想惹恼我的读者(否则他们不会倾向于做出对我有利的决定)!

答案1

下面的应该可以解决这个问题,尽管我不确定它是否会破坏其他东西。

添加

\makeatletter
\renewcommand*{\pdfbookmark}[3][0]{%
  \bookmark[level=#1,dest={#3.1}]{#2}% originally dest={#3.#1}
  \hyper@anchorstart{#3.1}\hyper@anchorend% originally #3.#1
}
\makeatother

加载后进入文档前言bookmark上述修改将超级目标的目标固定为#3.1(级别 1),而书签级别仍然依赖于第一个(可选参数)并使用进行内部设置level=#1

这肯定是有意为之。1 级(和 0 级)书签通常构成整页样式的一部分(如\chapter\part),而较低级别的书签则出现在页面中间(如\section\subsection)。要了解为什么会出现这种情况,请包含showframe包裹在您的序言中。第 2 级和第 3 级书签的超链接刚好指向文本块的第一行,由 制成的边框指示showframe

答案2

\pdfbookmark超链接似乎瞄准可打印区域的顶部。

\usepackage{geometry}
\newgeometry{top=0cm}

帮我解决了。

相关内容