![\label{uniqueID} 与 \pageref{uniqueID} 配合使用可以打印正确的页码,但会链接到错误的页面](https://linux22.com/image/449423/%5Clabel%7BuniqueID%7D%20%E4%B8%8E%20%5Cpageref%7BuniqueID%7D%20%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E5%8F%AF%E4%BB%A5%E6%89%93%E5%8D%B0%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%A1%B5%E7%A0%81%EF%BC%8C%E4%BD%86%E4%BC%9A%E9%93%BE%E6%8E%A5%E5%88%B0%E9%94%99%E8%AF%AF%E7%9A%84%E9%A1%B5%E9%9D%A2.png)
我需要构建一个类似于指数...但它并不完全是一个指数。
我几乎完成了我想要做的事情,用来\label{some unique ID}
捕获页码...并\pageref{some unique ID}
打印该页码。
然而,在以下 MWE 中, \pageref 确实打印了正确的页码......但它链接到了错误的页面(它链接到包含页面的章节的第一页some unique ID
)。
我想(a)把它变成链接关闭(因为我的超链接无论如何都使用正确的超目标,...或(2)修复它以链接到正确的页面。
非常感谢您的帮助!
%&pdf laTeX
% !TEX encoding = UT F-8 Unicode
\documentclass[letter, 12pt]{book}
\usepackage{hyperref}
\newcommand{\mylink}[2]{ \hypertarget{#1}{#2} \label{#1}}
\begin{document}
\chapter*{Chapter One}
\mylink{key for link 1}{This} text on page one.
\newpage
\mylink{key for link 2}{This} text on page two.
\newpage
\mylink{key for link 3}{This} text on page three.
\newpage
\noindent \hyperlink{key for link 1} {Item 1} ............ pg \pageref{key for link 1}\\
\noindent \hyperlink{key for link 2} {Item 2} ............ pg \pageref{key for link 2}\\
\noindent \hyperlink{key for link 3} {Item 3} ............ pg \pageref{key for link 3}\\
\end{document}
答案1
\hypertarget 没有产生可被 \label 引用的目标。
\documentclass[letter, 12pt]{book}
\usepackage{hyperref}
\newcommand{\mylink}[2]{ \phantomsection#2\label{#1}}
\begin{document}
\chapter*{Chapter One}
\mylink{key for link 1}{This} text on page one.
\newpage
\mylink{key for link 2}{This} text on page two.
\newpage
\mylink{key for link 3}{This} text on page three.
\newpage
\noindent \hyperref[key for link 1] {Item 1} ............ pg \pageref{key for link 1}\\
\noindent \hyperref[key for link 2] {Item 2} ............ pg \pageref{key for link 2}\\
\noindent \hyperref[key for link 3] {Item 3} ............ pg \pageref{key for link 3}\\
\end{document}