LaTeX 中的 hyperref 宏包是一个非常强大的宏包,它提供了和超链接的各种接口。特别地,对于 LaTeX 原生的交叉引用,hyperref 宏包能够在引用位置生成一个超链接——点击之后跳转到相关位置。 不过,如果你将 \caption 放在 \includegraphics 后面,然后在文中对图片进行引用的话,点击超链接后将跳转到图片标题位置。此时,图片本身会被挡住。这多少有点不方便。 德国的 LaTeX 大牛 Heiko Oberdiek 写了一个叫做 hypcap 的宏包,专门用来解决这个问题。加载这个宏包之后,对浮动体(包括 figure/table 等)的引用链接会跳转至浮动体开始的地方。这样一来,figure 环境里的图片就不会被挡住了。 具体用法如下:

\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[all]{hypcap}
\usepackage{mwe} % for dummy text
\begin{document}
\begin{figure}[!htb]
\centering
\includegraphics[width = 0.6\linewidth]{example-image.jpg}
\caption{dummy figure}\label{fig:test}
\end{figure}
\blindtext
\clearpage
\blindtext

This is the hyper-reference of Figure \ref{fig:test}.
\end{document}
注意,这里我给 hypcap 宏包加上了 all 选项,说明 hypcap 宏包会处理全部类型的浮动体(详情请阅读其说明手册);mwe 宏包(是 Minimal Working Example 的缩写)是为了产生无意义的测试文字而加载的宏包,实际使用时可以去掉。 选自:http://liam0205.me/2015/07/27/using-hypcap-to-justify-the-link-point/

点赞(3)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部