我正在尝试让图形的超链接正常工作。我的意思是单击链接应该会将我带到图形(而不是标题)。它似乎无法与 floatrow 中的浮点数配合使用。无论我将 \capstart 放在哪里,链接总是指向标题而不是图形。MWE 就在这里。
\documentclass[11pt]{book}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lipsum}
\usepackage{floatrow}
\usepackage[hypcap]{caption}
\usepackage{hyperref}
\begin{document}
\begin{figure}
\begin{floatrow}[3]
\capstart\hypertarget{fig:1}{\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}}}
\capstart\hypertarget{fig:2}{\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}}}
\capstart\hypertarget{fig:3}{\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}}}
\end{floatrow}
\end{figure}
\clearpage
\newpage
\section{\protect\hyperlink{fig:1}{Section A}}
\lipsum
\section{\protect\hyperlink{fig:2}{Section B}}
\lipsum[2]
\section{\protect\hyperlink{fig:3}{Section C}}
\lipsum[3]
\end{document}
苏里亚
答案1
\caption
下面的例子使用via 的锚点\label{<label>}
并通过 via 进行链接\hyperref[<label>]{...}
:
\documentclass[11pt]{book}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lipsum}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{hyperref}
\begin{document}
\begin{figure}
\begin{floatrow}[3]
\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}\label{FIG:1}}
\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}\label{FIG:2}}
\ffigbox{\rule{3cm}{3cm}}{\caption{Click This Link}\label{FIG:3}}
\end{floatrow}
\end{figure}
\clearpage
\newpage
\section{\texorpdfstring{\hyperref[FIG:1]}{}{Section A}}
\lipsum
\section{\texorpdfstring{\hyperref[FIG:2]}{}{Section B}}
\lipsum[2]
\section{\texorpdfstring{\hyperref[FIG:3]}{}{Section C}}
\lipsum[3]
\end{document}
进一步说明:
\hyperref
将无法在书签中起作用,因此\texorpdfstring
将其禁用。- 该示例使用大写的标签名称,以避免标题行中带有大写字母的链接出现问题。