LaTeX hyperref link goes to wrong page

与世无争的帅哥 提交于 2019-12-03 05:20:37

The \label command references the last invocation of \refstepcounter. \caption recognises that it is in a figure environment and calls \refstepcounter{figure}. You can call \refstepcounter by yourself.

To avoid skipping a number in the series of figures, you may create an own, meaningless counter with \newcounter{dummy}. The result:

\documentclass{scrreprt}
\usepackage{hyperref}
\newcounter{dummy}
\begin{document}

\chapter{First}

\newpage
\begin{figure}
{\Huge FIGURE}
\refstepcounter{dummy}
\label{fig:figure}
\end{figure}

\chapter{Second}

Goto \pageref{fig:figure}

\end{document}

Creates an hyperlink to the end of the figure. (works on my machine :-) Note than \ref{fig:figure} is meaningless.

Right before the label, use \phantomsection, like so:

\documentclass{memoir}
\usepackage{hyperref}
\begin{document}
some text
\clearpage
\begin{figure}
a figure
\phantomsection
\label{foo}
\end{figure}
more text
\clearpage
See figure on page \pageref{foo}.
\end{document}

:)

Loading the caption package should suppress caption output of empty captions. The labels for floats are always determined by the caption command preceding the label command.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!