\hyperref 指向章节顶部而不是正确的项目

\hyperref 指向章节顶部而不是正确的项目

我已使 \hyperrefs 基本正常工作,但对一个部分的引用(到目前为止,我注意到了两个部分)坚持将我带到 \section 的顶部,而不是下面的所需项目。源段落如下所示:

\section{The Cert workbook:} The Cert workbooks created by the HomeOffice program have the filename “\tit{RunLabel} \tit{manager’s AD ID}.xlsx”, where the \tit{RunLabel} is a string you designate in \hyperref[setRunLabel]{the RunLabel Setting}. Each in-house Cert contains four or five worksheets....

目标区域如下所示:

\item[RunLabel:]\label{setRunLabel} The Cert workbooks are created in a folder designated by....

由于大多数 \hyperref 链接都能正常工作,但指向此特定部分中项目的链接指向该部分的顶部而不是指向特定项目,因此我怀疑我在设置章节或部分时做错了什么。但我没有发现任何问题。也许你会:

\appendix
\chapter{Settings in Cert.xlsm}\label{AppSettings}
In Cert.xlsm is a worksheet named Settings....

\section{Description of the Settings worksheet:}
The Settings can be listed....

\section{How Settings work:}
Settings have different values depending....

\section{Description of the individual settings (in alphabetical order):}

\begin{description}[itemindent=-5mm]
\item[ADCooked:]\label{setADCooked} The path and filename of the processed (“cooked”) AD file....

有人能看到我做错什么了吗?

答案1

超链接跳转到目标,即锚点。此类目标通常是在某物被编号时创建的,因此例如\section具有锚点,枚举列表也是如此。如果您设置了\label对此标签的引用,则将跳转到最近创建的目标。

因此例如这里\pageref不会跳转到第 2 页而是跳转到第 1 页的部分(就像 一样\ref)因为那里是最新的锚点。

\documentclass{article}
\usepackage{hyperref}

\begin{document}
\section{a section}

\newpage 
HERE\label{here}?

\newpage 
Jump to page \pageref{here}??
\end{document}

如果您希望引用跳转到没有自动创建目标的位置,您可以使用 创建锚点\phantomsection,或者在最近的 LaTeX 中使用\MakeLinkTarget。如果从文档中删除了 hyperref,则第二个命令也会定义,它也可以用作 的替代品\hypertarget。它记录在hyperref-linktarget.pdf

\documentclass{article}
\usepackage{hyperref}

\begin{document}
\section{a section}

\newpage 
HERE\MakeLinkTarget{}\label{here}?

\newpage 
Jump: \pageref{here}?
\end{document}

相关内容