我想知道是否有一种方法可以根据条件生成 beamer pdf 演示文稿。例如:
-主投影机介绍:
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
- 对于第一个演示文稿(pdf 文件):
Slide 1 (hidden)
Slide 2 (hidden)
Slide 3
Slide 4
Slide 5
-第二个演示文稿(pdf文件):
Slide 1
Slide 2 (hidden)
Slide 3
Slide 4 (hidden)
Slide 5 (hidden)
先感谢您!
答案1
这是一个特别的光束(不要与比米什) 的方式来做到这一点。它的工作原理是利用了 beamer 的模式未从指定列表中定义。事实上,搜索代码时trans
模式的缺失显而易见。实际上,trans
只是“不是beamer
”。类似地handout
。因此,您可以定义一种新模式,并且覆盖规范将与该模式匹配。唯一的障碍是帧内幻灯片计数与有特定的匹配beamer
。这意味着通用规范,例如\only<3>{some text}
将被视为\only<beamer:3>{some text}
。因此,要使新模式充当beamer
而不是trans
或article
,必须颠覆此测试。这意味着需要可怕的 Bexhill-on-Sea MakeAtLetter。此外,我还没有彻底测试过这一点,所以可能还有更多我没有考虑到的情况。
无论如何,这是代码:
\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/66508/86}
\makeatletter
\newcommand{\beamersetmode}[1]{%
\gdef\beamer@currentmode{#1}%
\gdef\beamer@@@decodefind##1:##2|{%
\beamer@ifempty{##2}%
{\beamer@decodefind #1:##1:}%
{\beamer@decodefind ##1:##2}}}
\makeatother
\beamersetmode{A}
\begin{document}
\begin{frame}<A:0>
Slide One \only<2>{with overlays}
\end{frame}
\begin{frame}<A:0|B:0>
Slide Two \only<2>{with overlays}
\end{frame}
\begin{frame}
Slide Three \only<2>{with overlays}
\end{frame}
\begin{frame}<B:0>
Slide Four \only<2>{with overlays}
\end{frame}
\begin{frame}<B:0>
Slide Five \only<2>{with overlays}
\end{frame}
\begin{frame}<presentation:0>
Slide Six will never be shown
\end{frame}
\end{document}
这样就得到了下面的结果。将 改为\beamersetmode
或者\beamersetmode{B}
完全省略 可以得到其他版本。
注意:不要使用first
andsecond
因为second
它已经用于与在第二个屏幕上播放幻灯片有关的事情。
答案2
我认为从beamer
术语上来说,您的意思是省略某些帧(而不是幻灯片)。评论提出了一些省略部分的通用方法,但 beamer 有一种内置方法来删除某些帧。
\begin{frame}<0>
\end{frame}
将不会出现在输出中。
这是一个更通用的条件处理功能的特殊情况,请参阅 beamer 手册的第 8.4 节。