我做过很多演讲,发现有些幻灯片可以分享,但有些则不能,这取决于听众、主题等。Powerpoint 和 Keynote 可以很容易地将幻灯片从一个幻灯片组拖到另一个幻灯片组。我很好奇人们如何使用 Beamer 处理这种情况。我能想到几种可能性。
- 只需将文本从一个节目剪切粘贴到下一个节目即可
- 使用 IDE 改进 1
- 制作一个包含我想要说的大部分内容的“超级秀”,但构建一个允许我即时自定义的菜单系统。
还有其他我应该考虑的选择或想法吗?
答案1
我有大量幻灯片,我会以各种方式将它们组合起来,用于我制作的许多不同课程和演示文稿。以下是我所做的,略作简化:
我使用 beamer 模板作为一系列幻灯片的容器(有时一系列只有一张幻灯片,有时则是 40 张幻灯片):
\newcommand{\defsection}[3]{ \setbeamertemplate{slide #1 #2}{{#3}}}
即在我的来源中我将所有内容放在“部分”中:
\defsection{intro}{string-to-describe-what-this-is}{ \begin{frame}...\end{frame} ... \begin{frame}...\end{frame} } % end of \defsection
我使用带有宏的幻灯片部分
\usesection
:\newcommand{\usesection}[2]{ \ifbeamertemplateempty{slide #1 #2} {\errmessage empty section: {#1}{#2}} {\opt{texdebug}{\message{ *** Using section: (#1)(#2) }} \usebeamertemplate{slide #1 #2}}}
我使用可选包来允许有条件地包含内容:
\usepackage[advanced,use-foo,dont-use-bar,do-xyz,do-frotz]{optional}
我把所有的东西都放在一个主文件中(
main.tex
):\begin{document} \include{stuff.tex} \include{more-stuff.tex} \include{even-more-stuff.tex} \usesection{intro}{intro} \opt{advanced}{ \usesection{adv}{intro} \usesection{adv}{bla-bla-bla} } \opt{use-foo}{ \usesection{adv}{foo} } \opt{use-bar}{ \usesection{adv}{bar} } \opt{dont-use-bar}{ \usesection{adv}{alternative-stuff-if-bar-skipped-over} } ... \end{document}
现在每个“版本”或“课程”或“内容子集”(或其他)基本上只是定义正确的选项然后包括的问题
main.tex
。
我意识到这乍一看可能有点复杂,但关键思想是将一些幻灯片的定义(\defsection
)与它们的使用(\usesection
)分开。一旦进行了这种分离,各种重用、基于选项的不同选择等就变得相当简单了。
我唯一缺少的是可选包的增强功能,这样我就可以定义诸如“如果未定义选项栏,则包含此部分”之类的内容。因此,我需要定义 use-bar 或 dont-use-bar 才能在正匹配和负匹配时触发。
答案2
我经常被要求做一个与我以前做过的演讲类似的演讲。在这种情况下,我只是复制旧演讲并修改它以适应新演讲。我不会尝试制作主幻灯片集或任何东西。通常我最终会为每个演讲进行定制,而这些定制在其他演讲中可能不太有意义。
除了介绍幻灯片之外。幻灯片组之间通常几乎完全相同,并且随着时间的推移会有所改进和收紧。