在我的例子中
\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
样式应用于标签文本。