为什么在下面的代码中,它们都没有\hyperlink
(\hyperref
无论是明确的还是来自目录)转到第 1 章的页面顶部,但是它们都转到第 2 章的页面顶部?
\documentclass{book}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\chapter{Chapter 1}%
\hypertarget{chapter1}{}%
\label{chapter1}%
Go \hyperlink{chapter1}{directly to chapter 1 via hyperlink}.
Go \hyperref[chapter1]{directly to chapter 1 via hyperref}.
\bigskip
Go directly to \hyperlink{chapter2}{chapter 2 from Chapter 1 via hyperlink}.
Go directly to \hyperref[chapter2]{chapter 2 from Chapter 1 via hyperref}.
\chapter{Chapter 2}%
\hypertarget{chapter2}{}%
\label{chapter2}
This is chapter 2.
Go \hyperlink{chapter1}{directly to chapter 1 via hyperlink}.
Go \hyperref[chapter1]{directly to chapter 1 via hyperref}.
\bigskip
Go directly to \hyperlink{chapter2}{chapter 2 from Chapter 2 via hyperlink}.
Go directly to \hyperref[chapter2]{chapter 2 from Chapter 2 via hyperref}.
\end{document}
答案1
\chapter{Chapter 1}% \hypertarget{chapter1}{}% \label{chapter1}%
\chapter
自动设置锚点。此锚点用于:
- 目录中的条目,
- 书签,以及
- 以下
\label
是通过 链接的\hyperref[...]
。
因此所有这些链接都指向章节标题的顶部。
另一方面\hypertarget
设置一个新的锚点,它被称为:
后章节标题。因此\hyperlink
地址为
以下章节标题。由于章节标题和 之间没有分页符\hypertarget
,因此位置仍然在同一页上。
引用 Ulrike Fischer 的话:“对我来说效果如预期”对我来说也适用,已使用 pdflatex、xelatex、latex/dvips/ps2pdf 进行了测试。您是否使用了其他驱动程序?软件包hyperref
是否是最新的?也许您可以测试不同的 PDF 查看器(如果输出格式为 PDF)?
锚点位置
运行pdflatex,PDF文件的锚点位置(水平和垂直位置):
chapter.1: 106.869 668.127
chapter.2: 106.869 668.127
chapter1: 106.869 488.961
chapter2: 106.869 488.961
因此,第一章和第二章的相应锚点在页面上的位置完全相同。如果您的 PDF 文件中的锚点不同,请将文件放在某个位置以供下载。