我正在制作一个链接到 pdf 的图像网格。我希望 pdf 也能链接到图像。
图像的超目标和 pdf 的超链接都不起作用。
latex 中是否有跳转到页面的指令?
例如\hyperlink[page=12]{\includegraphics{img.jpg}}
以下是 MWE:
\documentclass{article}
% Media
\usepackage{pdfpages}
\usepackage{graphicx}
% Hyperlinks
\usepackage{hyperref}
\begin{document}
\hypertarget{anchor_a}{
\hyperlink{anchor_b}{
\includegraphics[width=0.25\textwidth]{img.jpg}
}
}
\newpage
\hyperlink{anchor_a}{
\hypertarget{anchor_b}{
\includepdf[pages=-]{img.jpg}
}
}
\includepdf[pages=-]{pdf.pdf}
\end{document}
答案1
我最初没有包括我真正的错误(抱歉这是我第一次)。这是因为尝试做嵌套超链接\hyperlink{anchor_a}{\hypertarget{anchor_b}{STUFF}}
。我已更新问题。它可能不受支持。
我解决了这个问题,方法是将图片链接到大图旁边的幻影字符,然后对大图执行相同操作。这产生了预期的行为。
\documentclass{article}
% Media
\usepackage{pdfpages}
\usepackage{graphicx}
% Hyperlinks
\usepackage{hyperref}
\begin{document}
% Targets phantom character of small image
\hypertarget{number_b}{
\phantom{} % Makes 0 length character
}
% Links to phantom character of the big image when clicking on the small image
\hyperlink{number_a}{
\includegraphics[width=0.25\textwidth]{number.jpg}
}
\newpage
% Big image phantom
\hypertarget{number_a}{
\phantom{}
}
% Big image
\hyperlink{number_b}{
\includegraphics[width=\textwidth]{number.jpg}
}
\newpage
% Adds all the pages on the document with the pages=- option
\includepdf[pages=-]{number.pdf}
\end{document}
我从使用 \hyperlink 将文本链接到具有事先未知的隐式页面锚点的页面也可以通过跳转到页面锚点来解决:
\documentclass{article}
% Media
\usepackage{pdfpages}
\usepackage{graphicx}
% Hyperlinks
\usepackage{hyperref}
\begin{document}
\hyperlink{page.2}{
\includegraphics[width=0.25\textwidth]{number.jpg}
}
\newpage
\hyperlink{page.1}{
\includegraphics[width=\textwidth]{number.jpg}
}
\newpage
% Adds all the pages on the document with the pages=- option
\includepdf[pages=-]{number.pdf}
\end{document}
当然,这样做的问题是您必须知道所包含 PDF 的大小以及两张图片在页面中的位置,因此以编程方式包含文档的计算成本很高,因为您必须跟踪页码。对于几页来说,这无关紧要,但对于超过 1000 页的内容来说,这就会成为一个问题。
我在这个 ruby 中实现了我的解决方案要旨它将数组数组作为输入[ [first.jpg,first.pdf,first.name],...,[last.jpg,last.pdf,last.name] ]
并输出幻影解决方案。