将文本链接到页面(按页码)

将文本链接到页面(按页码)

我需要将文本链接到页面(按页码)。我不想使用标签,只想指定文本和页码。我可以用 来做到这一点吗hyperref

答案1

page.<number>只要该pageanchor选项处于活动状态(无论如何,这是默认设置),您就可以使用隐式页面锚点链接到任何页面。使用标签仍然是更正确和推荐的。

请注意,这会使链接跳转到页面左上角,页面锚点会自动插入到该处。缩放级别不会改变,因此如果您之前的缩放系数较大,则可能看不到整个页面。

\documentclass{article}

\usepackage[pageanchor]{hyperref}
\usepackage{lipsum}

\begin{document}
\hyperlink{page.5}{On page 5}

\lipsum[1-50]

\end{document}

请注意,页码是由 给出的“数字” \thepage。如果您的封面内容使用罗马数字,则页面链接可能是page.Ipage.II并且page.5应该是逻辑页面,而不是物理页面 5。

使用该bookmark包,您还可以创建 PDF 书签(PDF 阅读器显示的目录结构),该书签直接指向绝对页面(从 1 开始,表示文档的第一页)。使用此链接,无论现有缩放级别如何,都会始终显示完整页面。

\bookmark[page=5]{Absolute page 5}%  useful option: level=<number>

似乎没有宏可以将这样的页面链接添加到文本中。\hyperlink不支持任何选项。我发布了一个留言于comp.text.tex询问此事。的作者hyperref在那里很活跃。

此外,如果您想获取资料的绝对页码(即使用 标记它们),该zref包及其模块很有用。abspage\zlabel


补充:

经过与作者的简短讨论,hyperref我想出了这个补丁,使所有页面锚点都以全页模式显示,即缩放级别更改为使整个页面适合屏幕。我非常喜欢这个页面链接。

\makeatletter
\let\orig@Hy@EveryPageAnchor\Hy@EveryPageAnchor
\def\Hy@EveryPageAnchor{%
    \begingroup
    \hypersetup{pdfview=Fit}%
    \orig@Hy@EveryPageAnchor
    \endgroup
}
\makeatother 

答案2

\documentclass{article}

\usepackage[hidelinks]{hyperref}
\usepackage{xcolor}
\usepackage{lipsum}
\newcommand{\jump}[2]{\hyperlink{#1}{\colorlet{temp}{.}\color{blue}{\underline{\color{temp}#2}}\color{temp}}}

\begin{document}
Go to \jump{page.5}{page 5}.
\lipsum[1-50]

\end{document}

这个解决方案绕过了hyperref's突出显示链接的非正统方法。\jump在链接的项目下放置一条细蓝线。

您可以将链接颜色从蓝色更改为红色、黑色、绿色或任何您想要的颜色。

相关内容