hypcap 未修复超链接

hypcap 未修复超链接

Hyperref没有链接到 的正确位置figure。使用该hypcap包没有帮助。我一直收到错误:“您忘记使用\caption” ..

文档类别可在此处获取关联

以下是 MWE:

\documentclass[12pt,letterpaper,doublespaced,ETD,proposal]{thesis}
\bibfiles{refs,strings}
\usepackage{graphicx, subfig}
\usepackage{hyperref}

%Needed to Generate the figures page
\figurespagetrue


\begin{document}
\contents %Generates the figures list.

\begin{figure}[htb]

  \centering
  \centerline{\includegraphics[width=6cm]{graphics.png}}

\caption{fig1}
 \label{fig1}
\end{figure}
\end{document}

多谢。

答案1

您正在使用的类已经尝试过hyperref精明:这是其中的一些代码

312    \if@hyperrefused%
313       \typeout{This should not be output.}
314       \hypersetup{%
315          plainpages=true,
316          breaklinks=true,% not default in dvips mode, so we must specify
317          hypertexnames=false,%not ideal, but needed when pagenums duplicate (`i' vs. `1')
318          pageanchor=true,
319          colorlinks=true,
320          linkcolor={blue},
321          citecolor={green},
322          urlcolor={red},
323          pagecolor={cyan},
324          anchorcolor={black}
325       }
326       %\ifHy@nesting
327       \long\def\@caption#1[#2]#3{%
328          \hyper@makecurrent{\@captype}%
329          \par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
330             \protect\numberline{\csname fnum@#1\endcsname}{\ignorespaces #2}}%
331          \begingroup
332             \@parboxrestore
333             \if@minipage
334                \@setminipage
335             \fi
336             \normalsize
337             \@makecaption{\csname fnum@#1\endcsname}{%
338                \ignorespaces
339                \ifHy@nesting
340                   \hyper@@anchor{\@currentHref}{#3}%
341                \else
342                   \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#3%
343                \fi
344             }%
345             \par
346          \endgroup
347       }
348       %\else
349       %\fi
350       \let\Hy@float@caption\@caption
351       \@ifpackageloaded{float}{%
352          \def\Hy@float@caption{%
353             \hyper@makecurrent{\@captype}%
354             \float@caption
355          }
356          \let\HyOrg@float@makebox\float@makebox
357          \renewcommand{\float@makebox}[1]{%
358             \HyOrg@float@makebox{%
359                #1\relax
360                \hyper@@anchor{\@currentHref}{\relax}%
361             }% \HyOrg@float@makebox
362          }% \renewcommand
363       }{}%
364    \else

hyperref此代码在加载时执行;因此hypcap无法进行修补(无论如何都不需要),或者更好的是,它已经找到了一些冲突的代码。

如果结果不符合预期,那么这必须被视为类中的一个错误。

相关内容