我需要将文本链接到页面(按页码)。我不想使用标签,只想指定文本和页码。我可以用 来做到这一点吗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.I
,page.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
在链接的项目下放置一条细蓝线。
您可以将链接颜色从蓝色更改为红色、黑色、绿色或任何您想要的颜色。