我正在使用hyperref
包自动生成图形、方程式、目录等的超链接...我的问题是,如果我有一个由子图组成的大图,然后在文本中的某处有一个引用其中一个子图的标记(如下所示的示例),如果我单击 pdf 中生成的超链接,文件会导航到子图标题的顶部,而不是子图本身的顶部。这只发生在子图中。对于整个图形、方程式和部分/章节,文件会正确导航到图形、方程式等的顶部...这也不是图片类型的问题,我尝试了不同的图片类型。
我不知道这是否理所当然,或者我做错了什么。
这是示例代码:
\begin{figure}
\begin{center}
\subfigure[Sub-figure 1]
{\label{fig:subfig1}\includegraphics[width=0.45\textwidth]{subfig1}}
\subfigure[Sub-figure 2]
{\label{fig:subfig2}\includegraphics[width=0.45\textwidth]{subfig2}}
\end{center}
\caption{Two sub-figures}
\label{fig:sub-figures}
\end{figure}
Lorem ipsum turum bulum \ref{fig:subfig2} culum
只是为了说清楚。这是我单击 pdf 顶部边缘的链接后想要看到的内容。
------------------------ ------------------------
| | | |
| | | |
| PICTURE 1 | | PICTURE 2 |
| | | |
| | | |
------------------------ ------------------------
Figure 1a: Sub-figure 1 Figure 1b: Sub-figure 2
但相反,我得到的是这个:
Figure 1a: Sub-figure 1 Figure 1b: Sub-figure 2
非常感谢你的帮助。
答案1
完整的代码示例会更好。例如,问题没有显示您正在使用哪些其他包:可能是 caption、hypcap、subfig、subfigure、...
我猜您使用了 subfig 包:它与 hyperref 配合得不太好,链接可能指向子图标题而不是子图。
我建议使用subcaption
包。作者还写了caption
包,意识到了 subfig 问题,并且做得更好。使用选项hypcap
:
\usepackage[hypcap=true]{subcaption}
查看subcaption
文档了解更多。
center
顺便说一句:我看到您在图形环境中使用了环境。这会产生额外的垂直空间。我会\centering
在之后使用\begin{figure}
。
答案2
不带任何偏见地回答(他应该获得全部荣誉),这是你需要的代码:
\documentclass{article}
\usepackage{lipsum} % filler text
\usepackage{graphicx}
\usepackage[hypcap=true]{caption}
\usepackage[hypcap=true,list=true]{subcaption}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\listoffigures
\section{Section One}
\lipsum[1]
\begin{figure}[h]
\begin{subfigure}[b]{.5\linewidth}
\centering
\includegraphics[width=0.9\textwidth]{test}
\caption{Sub-figure 1}
\label{fig:subfig1}
\end{subfigure}%
\begin{subfigure}[b]{.5\linewidth}
\centering
\includegraphics[width=0.9\textwidth]{test}
\caption{Sub-figure 2}
\label{fig:subfig2}
\end{subfigure}
\caption{Two sub-figures}
\label{fig:sub-figures}
\end{figure}
\lipsum[1]
Lorem ipsum \ref{fig:subfig1} turum bulum \ref{fig:subfig2} culum \ref{fig:sub-figures}.
\end{document}