我有一些图必须以横向旋转显示。为此,我使用\begin{sidewaysfigure}
而不是。但现在我发现我的文本中和\begin{figure}
之间的交互存在问题。虽然标题和正文中的图编号都是正确的,但单击文本中的交叉引用会与错误的图相关联(向后几个数字)。sidewaysfigure
hyperref
编辑:下面的内容为我重现了该问题:
\documentclass[a4paper]{book}
\usepackage{caption}
\usepackage{rotating}
\usepackage[pdftex]{hyperref}
\usepackage[figure,table]{hypcap} % corrects the hyper-anchor of figures/tables
\begin{document}
First: Fig.~\ref{fig:first}. Second: Fig.~\ref{fig:second}.
Third: Fig.~\ref{fig:third}. Fourth: Fig.~\ref{fig:fourth}.
\begin{figure}
\includegraphics[width=1\textwidth]{figures/zelle148_IMG_1903m.jpg}
\caption{First}\label{fig:first}
\end{figure}
\begin{figure}
\includegraphics[width=1\textwidth]{figures/zelle148_IMG_1903m.jpg}
\caption{Second}\label{fig:second}
\end{figure}
\begin{figure}
\includegraphics[width=1\textwidth]{figures/zelle148_IMG_1903m.jpg}
\caption{Third}\label{fig:third}
\end{figure}
\begin{sidewaysfigure}
\includegraphics[width=1\textwidth]{figures/zelle148_IMG_1903m.jpg}
\caption{Foruth}\label{fig:fourth}
\end{sidewaysfigure}
\end{document}
如果我删除该hypcap
包,问题就会消失。这很奇怪,因为评论准确地写着“纠正图形/表格的超级锚点”……
我已经发现一个非常相似的问题这个问题并没有得到真正的解答。渲染时控制台中的一些信息:
这是 pdfTeX,版本 3.1415926-2.3-1.40.12(TeX Live 2011)
LaTeX2e <2009/09/24>
当我\listfiles
按照另一篇文章中的建议添加时,我得到以下条目:
rotating.sty 2009/03/28 v2.16a rotated objects in LaTeX
hyperref.sty 2011/04/17 v6.82g Hypertext links for LaTeX
hobsub-hyperref.sty 2011/04/23 v1.4 Bundle oberdiek, subset hyperref (HO)
hycolor.sty 2011/01/30 v1.7 Color options of hyperref/bookmark (HO)
pd1enc.def 2011/04/17 v6.82g Hyperref: PDFDocEncoding definition (HO)
hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
hpdftex.def 2011/04/17 v6.82g Hyperref driver for pdfTeX
hypcap.sty 2011/02/16 v1.11 Adjusting anchors of captions (HO)
答案1
包装hypcap
有点过时了。
在包的文档中,caption
您可以找到新选项的描述hypcap=true
或hypcap
获取旧包的功能hypcap
。
因为您正在使用包,所以caption
不要使用包hypcap
。请参阅包的文档caption
以获取更多信息。
编辑:
您给出的 MWE 将与我所做的小改动一起工作(我使用包MWE
作为示例图像,添加了选项hypcap
并注释了包hypcap
):
\documentclass[a4paper]{book}
\usepackage[hypcap=true]{caption} % <==============
\usepackage{rotating}
\usepackage[pdftex]{hyperref}
%\usepackage[figure,table]{hypcap} % corrects the hyper-anchor of figures/tables % <==============
\begin{document}
First: Fig.~\ref{fig:first}. Second: Fig.~\ref{fig:second}.
Third: Fig.~\ref{fig:third}. Fourth: Fig.~\ref{fig:fourth}.
\begin{figure}
\includegraphics[width=1\textwidth]{example-image-a.jpg} % <==============
\caption{First}\label{fig:first}
\end{figure}
\begin{figure}
\includegraphics[width=1\textwidth]{example-image-a.jpg} % <==============
\caption{Second}\label{fig:second}
\end{figure}
\begin{figure}
\includegraphics[width=1\textwidth]{example-image-a.jpg} % <==============
\caption{Third}\label{fig:third}
\end{figure}
\begin{sidewaysfigure}
\includegraphics[width=1\textwidth]{example-image-a.jpg} % <==============
\caption{Foruth}\label{fig:fourth}
\end{sidewaysfigure}
\end{document}