Beamer 动画在讲义模式下错位

Beamer 动画在讲义模式下错位

animateinline在制作涉及包中的环境的演示幻灯片时animate,所有幻灯片在正常/演示节点中均按预期正常,如下所示:

在此处输入图片描述

但我在将幻灯片转换为讲义时遇到了一个问题。正如您在下面的输出中看到的,动画不在正确的位置。(系统:Windows Vista 上的 WinEdt)

在此处输入图片描述

有什么建议吗?我在这个过程中遗漏了什么吗?

MWE 代码

\documentclass[12pt,handout]{beamer} 
\usepackage{tikz}
\usepackage{animate,pgfpages}
\usetheme[secheader]{Boadilla}
\setbeamertemplate{navigation symbols}{}
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
%\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm]  % activate this line to show handout mode.


\begin{document}

\begin{frame}
\begin{columns}
\column{0.45\columnwidth}

Some text here on the left and an animation on the right for beamer presentation. The result is as expected.
However, when handout mode is used for 4 on 1 handout, then the animation does not stay on the right, but somewhere else.

\column{0.45\columnwidth}
\begin{animateinline}[poster=first,controls]{8}%
  \multiframe{10}{rt=0+.1,icount=0+1}
   {\fbox{\parbox{\columnwidth}{an animation shows here}}
   }
\end{animateinline}

\end{columns}
\end{frame}
\end{document}

答案1

其实现方式与使用 PDF-Annotations 的方式非常相似,与各种超链接的方式animate非常相似。hyperref

pgfpages使用子包生成每页多帧的讲义时,PDF 注释无法正确缩放。

摘自 PGF-3.0.0 手册,§85:

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

这就是为什么beamer在讲义模式下默认禁用导航符号的原因。

以下是第二帧上带有普通内部超链接的扩展示例。链接矩形在讲义中位置错误:

在此处输入图片描述

\documentclass[12pt,handout]{beamer}
\usepackage{tikz}
\usepackage{animate,pgfpages}

\usetheme[secheader]{Boadilla}
\setbeamertemplate{navigation symbols}{}
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
\hypersetup{colorlinks=false,pdfborder=0 0 2,linkbordercolor=0 0 1}

\begin{document}

\begin{frame}\label{previous}
\begin{columns}
\column{0.45\columnwidth}

Some text here on the left and an animation on the right for beamer presentation. The result is as expected.
However, when handout mode is used for 4 on 1 handout, then the animation does not stay on the right, but somewhere else.

\column{0.45\columnwidth}
\begin{animateinline}[poster=first,controls]{8}%
  \multiframe{10}{rt=0+.1,icount=0+1}
   {\fbox{\parbox{\columnwidth}{an animation shows here}}
   }
\end{animateinline}

\end{columns}
\end{frame}

\begin{frame}
  Here should follow a link to the previous frame: \ref{previous}
\end{frame}
\end{document}

相关内容