Beamer:在笔记中使用 href

Beamer:在笔记中使用 href

在我的例子中

\documentclass{beamer}
\usepackage{pgfpages}

%\setbeameroption{show notes on second screen}
\setbeameroption{show notes}
\setbeamertemplate{note page}{\insertnote}

\begin{document}
\frame{\href{http://www.google.com}{test frame}\note{\href{http://www.google.com}{test note}}}
\end{document}

“测试笔记”后面的链接只有在使用“显示笔记”时才有效,如果我切换到“在第二个屏幕上显示笔记”,则该链接根本无法点击。有什么想法或帮助吗?

答案1

我认为问题在于show notes on second screen需要,pgfpages但当pgfpages重新排列页面时会破坏超链接。我正在寻找其他东西,我刚刚在手册中找到了这个(然后不得不尝试找到这个问题):

警告:使用 pgfpages 将破坏超链接。实际上,超链接并没有被破坏,只是它们会出现在最终输出的完全错误的位置。这是由于 pdf 规范中的一个根本缺陷:在 pdf 中,超链接的边界矩形以“绝对页面坐标”给出,平移或旋转不会影响它们。因此,pgfpages 所应用的将页面放置在您想要的位置的转换(甚至不能)应用于超链接的坐标。在可预见的未来,这种情况不太可能改变。

参考的是tikz/pgf手册的第 920 页。

因为我认为整个注释页面可能是通过pgfpages您在第二个屏幕上请求注释时使用的转换来放置的,所以我担心您的问题的答案似乎是无法完成(目前和“可预见的未来”)。如果这是 PDF 规范本身的限制,正如本文档所暗示的那样,那么您可能运气不佳。

这不是一个确切的答案,只是从技术意义上讲,“有什么想法或帮助吗?”可能会被回答“没有。没有。”但我认为这些信息至少可以让你避免走死路,让你专注于制定替代策略。

答案2

@cfr 的回答很中肯。让我来描述一种巧妙的解决方法。它适用于不包含换行符的链接。

\newcommand{\fixedhref}[2]{\makebox[0pt][l]{\hspace*{\paperwidth}\href{#1}{#2}}\href{#1}{#2}}

将其用作 的替代品\href。这个想法很简单:除了像往常一样绘制链接(其可点击区域位于左窗格中,\paperwidth位于实际绘制标签的位置的左侧),还会在更靠右的位置第二次绘制链接。由于 PDF 规范中的错误,第二个链接的可点击区域将恰好位于绘制第一个链接的标签的位置。

改进的解决方案是删除左窗格中虚假的可点击区域,同时仍将\href样式应用于标签文本。

相关内容