通过单击图像的不同部分可以链接到文档的不同部分。
例如指定图像的某个区域(x、y、宽度高度)和超链接。
(我知道您可以通过单击图像中的任意位置来链接到单个部分,但这不是我需要的)
(我见过将图像的子部分链接到不同的标签(如 html 图像映射)和是否可以将图像的不同区域链接到不同的标签?但不知道如何使用他们所说的话)
谢谢
编辑:我已尝试处理单个链接。
\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\begin{figure}
\centering
\hyperref[xxx]{\includegraphics[width=\linewidth]{image.png}}
\end{figure}
\pagebreak
\section{Section 1}
Some Text
\pagebreak
\section{Section 2}
\label{xxx}
Some Text
\end{document}
答案1
修订方法(\stackinset
)
在这里,我只需要\stackinset
任意数量的\hyperref
ed\makebox
来包含基础图像的所需部分。可以\stackinset
相对于l
、c
、r
水平锚点和t
、c
、b
垂直锚点来指定 。
\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref,stackengine}
\begin{document}
\begin{figure}
\centering
\stackinset{l}{10pt}{t}{20pt}{\hyperref[topleft]{\makebox(100,100){}}}{%
\stackinset{r}{30pt}{t}{40pt}{\hyperref[topright]{\makebox(50,40){}}}{%
\stackinset{l}{40pt}{b}{50pt}{\hyperref[bottomleft]{\makebox(70,20){}}}{%
\stackinset{r}{110pt}{b}{70pt}{\hyperref[bottomright]{\makebox(40,80){}}}{%
\includegraphics[width=\linewidth]{example-image}}}}}
\end{figure}
\clearpage
\pagebreak
\section{Section 1}
\label{topleft}
Some Text
\pagebreak
\section{Section 2}
\label{topright}
Some Text
\pagebreak
\section{Section 3}
\label{bottomleft}
Some Text
\pagebreak
\section{Section 4}
\label{bottomright}
Some Text
\end{document}
原始方法(\clipbox
)
这里我把\clipbox
图形分成 4 个 [不等大小] 象限,尽管理论上没有理由不能将其切成任意数量的矩形。
我不知道如何做,但我确信hyperref
提供了使边界框不可见的方法\hyperref
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref,trimclip,stackengine}
\begin{document}
\begin{figure}
\centering
\setbox0=\hbox{\includegraphics[width=\linewidth]{example-image}}
\stackunder[0pt]{%
\hyperref[topleft]{\clipbox{0pt .4\ht0{} .3\wd0{} 0pt}{\copy0}}%
\hyperref[topright]{\clipbox{.7\wd0{} .4\ht0{} 0pt 0pt}{\copy0}}}{%
\hyperref[bottomleft]{\clipbox{0pt 0pt .3\wd0{} .6\ht0}{\copy0}}%
\hyperref[bottomright]{\clipbox{.7\wd0{} 0pt 0pt .6\ht0}{\copy0}}}
\end{figure}
\clearpage
\pagebreak
\section{Section 1}
\label{topleft}
Some Text
\pagebreak
\section{Section 2}
\label{topright}
Some Text
\pagebreak
\section{Section 3}
\label{bottomleft}
Some Text
\pagebreak
\section{Section 4}
\label{bottomright}
Some Text
\end{document}
单击图像的不同角落将带您进入文档中的不同页面。
答案2
您可以使用,例如,overpic
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{overpic,picture}
\usepackage{hyperref}
\begin{document}
\begin{figure}
\begin{overpic}[%grid,% use this if you need help in finding coordinates
width=\linewidth]{example-image}
\put(0,0){\hyperref[sec:first]{\makebox(50,75)[lb]{}}}%
\put(50,0){\hyperref[sec:last]{\makebox(50,75)[lb]{}}}%
\end{overpic}
\caption{Example of link areas}
\end{figure}
\pagebreak
\section{Section 1}
\label{sec:first}
Some Text
\pagebreak
\section{Section 2}
\label{sec:last}
Some Text
\end{document}
两个红色框是两个链接区域。如果您不想要这样的框,请使用例如hyperref
的选项pdfborder
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{overpic,picture}
\usepackage{hyperref}
\begin{document}
\begin{figure}
\hypersetup{pdfborder=0 0 0}% No borders around the hyperlink areas
\begin{overpic}[%grid,% use this if you need help in finding coordinates
width=\linewidth]{example-image}
\put(0,0){\hyperref[sec:first]{\makebox(50,75)[lb]{}}}%
\put(50,0){\hyperref[sec:last]{\makebox(50,75)[lb]{}}}%
\end{overpic}
\caption{Example of link areas}
\end{figure}
\pagebreak
\section{Section 1}
\label{sec:first}
Some Text
\pagebreak
\section{Section 2}
\label{sec:last}
Some Text
\end{document}
不会显示边框:
尽管如此,这些区域仍然存在。