如何在 Beamer 的演讲者笔记中包含下一张幻灯片的预览?

如何在 Beamer 的演讲者笔记中包含下一张幻灯片的预览?

Beamer 演讲者笔记的默认样式包括当前幻灯片的缩略图。我该怎么做才能获得当前幻灯片的缩略图?下一个滑动?

(我不需要查看当前幻灯片,因为它正在投影仪上显示;查看下一张幻灯片的预览可以避免出现不愉快的现象,即演讲者(即我)对单击“前进”时发生的事情感到惊讶...)

额外收获:我怎样才能使该缩略图变得更大?

答案1

也许这会给你一些你想要的东西。引入的命令/环境是

\previewmode[T or F]打开或关闭预览模式(当前默认为开启)

\begin{sframe}...\end{sframe}保存但不立即显示帧。请注意,需要保存帧才能使预览功能正常运作。本质上,这取代了环境的使用{frame}

\reciteframe[frame #]将朗读下一帧,或者可选参数指定的帧号。当beamer需要在帧之间重置参数时使用。的状态\previewmode将决定是否包含下一个幻灯片预览。

\reciteframes将朗读所有帧,从头到尾。当beamer演示过程中不需要重置参数时使用。的状态\previewmode将决定是否包含下一张幻灯片预览。

\savedframe[scale]{frame #}这让用户可以访问之前保存的帧,这样之前保存的帧的缩放版本就可以用作当前帧中的实际内容(从而让观众看到)。根据我在整个投影仪框架的快照类似宏吗?

我设想这些例程的使用方式是使用 s 准备演示文稿sframe,并以预览模式显示。然后,用户将此输出文件保存为预览 PDF。然后,他/她将宏之前的一行重置为\reciteframe(s)\previewmode[F]并重新编译。此 PDF 输出现在是观众的版本。在演示过程中,有两台 PC,演示者查看预览版本的 PDF,而操作员同步推进观众 PDF。

除了这些宏之外,还有几个参数

\def\defaultpreviewscale{.3}% CAN SET THIS AS DESIRED FOR SCALE OF PREVIEW

\def\insetHalignment{r}

\def\insetValignment{t}

\def\insetHoffset{-22pt}

\def\insetVoffset{1pt}

可以设置以确定预览的大小和位置。

\documentclass{beamer}
\def\defaultpreviewscale{.3}% CAN SET THIS AS DESIRED FOR SCALE OF PREVIEW
\def\insetHalignment{r}
\def\insetValignment{t}
\def\insetHoffset{-22pt}
\def\insetVoffset{1pt}
%
\usepackage{stackengine,ifthen}
\newcounter{frametotal}
\newcounter{frameindex}
% sframe ENVIRONMENT USED TO SAVE FRAMES in \saveframebox[INDEX]
\newenvironment{sframe}%
{\stepcounter{frametotal}%
 \expandafter\newsavebox\expandafter{%
   \csname saveframebox\romannumeral\theframetotal\endcsname}%
 \setbox0=\vbox\bgroup\begin{frame}%
}
{\end{frame}\leavevmode\unskip\setbox0=\lastbox\egroup%
 \global\sbox{\csname saveframebox\romannumeral\theframetotal\endcsname}{\box0}%
}
% WHILE USED FOR PREVIEW MODE, \savedframe[scale]{frame #} CAN ALSO BE USED
% TO RECALL PRIOR FRAMES
\newcommand\savedframe[2][\defaultpreviewscale]{\fboxsep=0pt%
    \fbox{\scalebox{#1}{\hspace{1cm}{\usebox{%
      \csname saveframebox\romannumeral#2\endcsname}\hspace{1cm}}}}%
}
% WILL RECITE ALL sframes, USING PREVIEW MODE IF [P] IS THE OPTIONAL ARGUMENT
\newcommand\reciteframes{%
  \setcounter{frameindex}{0}%
  \whiledo{\value{frameindex}<\numexpr\value{frametotal}-1\relax}{%
    \stepcounter{frameindex}%
    \begin{frame}
      \previewinset{\insetHalignment}{\insetHoffset}{\insetValignment}{\insetVoffset}%
        {\savedframe[\defaultpreviewscale]{\numexpr\value{frameindex}+1\relax}}%
        {\usebox{\csname saveframebox\romannumeral\theframeindex\endcsname}}%
    \end{frame}
  }%
  \begin{frame}
  \usebox{\csname saveframebox\romannumeral\theframetotal\endcsname}%
  \end{frame}
}% WILL RECITE ONE frames, USING PREVIEW MODE IF [P] IS THE OPTIONAL ARGUMENT
\newcommand\reciteframe[1][\numexpr\theframeindex+1\relax]{%
  \setcounter{frameindex}{#1}%
  \ifnum\value{frameindex}<\numexpr\value{frametotal}\relax{%
    \begin{frame}
      \previewinset{\insetHalignment}{\insetHoffset}{\insetValignment}{\insetVoffset}%
        {\savedframe[\defaultpreviewscale]{\numexpr\value{frameindex}+1\relax}}%
        {\usebox{\csname saveframebox\romannumeral\theframeindex\endcsname}}%
    \end{frame}
  }\else%
  \begin{frame}
  \usebox{\csname saveframebox\romannumeral\theframetotal\endcsname}%
  \end{frame}
  \fi
}
% ALLOW PREVIEW MODE TO BE TURNED ON [T] OPTION OR OFF [F]
\newcommand\previewmode[1][T]{%
  \ifx T#1\let\previewinset\stackinset\else\renewcommand\previewinset[6]{##6}\fi
}
\previewmode% DEFAULT MODE PREVIEW, OR ELSE SET AS \previewmode[F]
\begin{document}
\begin{sframe}{1st frame}
Blah blah for the first frame\par
A preview of my next frame is in the upper right
\end{sframe}

\begin{sframe}{2nd Frame}
frame text from the second frame.  I will now begin an itemized list.  And we begin:%
\begin{itemize}
\item AAA
\item BBB
\item CCC
\end{itemize}
\bigskip
And here is the prior frame \#1: \smash{\savedframe[.25]{1}}
\end{sframe}

\begin{sframe}{3rd Frame}
This is my third frame:%
\begin{itemize}
\item Green Eggs
\item Ham
\item Sam
\item I am
\end{itemize}
\end{sframe}

% CAN INVOKE 1 FRAME AT A TIME, CHANGING beamer PARAMETERS AS YOU GO
\setbeamercolor{background canvas}{bg=violet!15}
\reciteframe
\setbeamercolor{background canvas}{bg=yellow!50}
\reciteframe
\setbeamercolor{background canvas}{bg=blue!10}
\reciteframe[3]% OR YOU CAN ALTERNATELY REQUEST THE FRAME NUMBER
% OR YOU CAN RECITE ALL FRAMES AT ONCE, IN PREVIEW MODE
\reciteframes
% OR YOU CAN RECITE ALL FRAMES WITHOUT PREVIEW MODE
\previewmode[F]
\reciteframes
\end{document}

下面是预览模式下帧的示例。它将帧 2 显示为幻灯片,右上角显示帧 3 的预览。此外,可以在帧内使用相同的例程,以\savedframe[scale]{frame index}显示前一帧(向观众,而不仅仅是演讲者)的形式,就像这里所做的那样,其中帧 1 回顾是帧 2 内容的一部分。

虽然预览允许与幻灯片内容重叠(不好),但它不会改变底层幻灯片的间距(好)。用户可以自行配置预览的大小和位置以避免出现问题。

在此处输入图片描述

这是 MWE 的帧的蒙太奇。在第一行中,保存的 3 帧一次朗读一帧(连续\reciteframe),以便必要时可以对幻灯片进行颜色等更改。第一行是在预览模式下完成的,预览位于右上角。该组的最后一帧没有显示预览。

第二行是一次性播放的 3 张幻灯片演示文稿(\reciteframes)。由于是一次性播放,因此无法在中间重置投影仪参数(例如颜色)。第二行是在预览模式下完成的。

第三行也是一次性复原的。不过预览模式已经关闭,所以看不到右上角的预览。这是给观众看的版本。

在此处输入图片描述

答案2

首先,我的问题是重复的,而且似乎有一个解决方案:显示下一帧的注释页。不知道为什么我在搜索时找不到它。

其次,即使我实施了该解决方案,也无济于事;很难找到能够正确显示 Beamer 用于笔记的“双屏” PDF 的软件。

经过几个小时的实验,我想我已经得出结论,Beamer 的演讲者笔记功能不是正确的解决方案。正确的解决方案是使用专门的查看器(PDF Presenter Console,正如@Astrinus 建议的那样,看起来不错)并将笔记从 TeX 文件导出到另一个文件 - 请参阅此解决方案从 TeX 文件编写与 pdfpc 兼容的注释文件

专门的查看器允许您查看演示文稿和笔记,并允许您在演示时决定是否需要幻灯片预览、笔记、两者都不需要或两者都不需要等。此类查看器还可以提供漂亮的概览页面、缩放和类似效果 - 如此赏心悦目的效果(和导航效果)似乎真的是演示软件的工作,而不是 Beamer 的工作。

相关内容