Beamer 是一个 LaTeX 宏包,用于生成演示幻灯片。它最棒的特性之一是它可以利用 LaTeX 强大的排版系统及其生态系统中的所有其他宏包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 listings 宏包。
开始演示文稿
要开始 Beamer 文档,请输入
\documentclass{beamer}
就像使用任何其他 LaTeX 文档一样,添加您想要使用的任何宏包。例如,要使用 listings 宏包,请输入
\usepackage{listings}
将所有内容放在 document 环境中
\begin{document}
Beamer 文档通常是一系列 frame 环境。包含代码的帧应标记为 fragile
\begin{frame}[fragile]
以标题开始您的帧
\frametitle{Function to Do Stuff}
在演示之前测试您的代码
世界上最糟糕的感觉之一是发表演讲,当您浏览代码时,意识到其中存在明显的错误——也许是关键字拼写错误或未关闭的括号。
解决方案是测试要演示的代码。在大多数演示环境中,这意味着创建一个单独的文件,编写测试,然后复制和粘贴。
但是,使用 Beamer,有一种更好的方法。假设您有一个名为 do_stuff.py 的文件,其中包含代码。您可以为第二个文件 test_do_stuff.py 中的 do_stuff.py 代码编写测试,并使用例如 pytest 对其进行练习。但是,do_stuff.py 中的大多数行都缺乏教学价值,例如定义辅助函数。
为了简化观众的理解,您可以将您想谈论的行导入到演示文稿的帧中
\lstinputlisting[
language=Python,
firstline=8,
lastline=15
]{do_stuff.py}
由于您将讲解这些行(从第 8 行到第 15 行),因此幻灯片上不需要任何其他内容。关闭帧
\end{frame}
在下一张幻灯片中,您想展示刚刚演示的 do_stuff() 函数的用法示例
\begin{frame}[fragile]
\frametitle{Calling Function to Do Stuff}
\lstinputlisting[
language=Python,
firstline=17,
lastline=19
]{do_stuff.py}
\end{frame}
您使用相同的文件,但这次您展示调用该函数的行。最后,关闭文档
\end{document}
假设您在 do_stuff.py 中有一个合适的 Python 文件,这将生成一个简短的两张幻灯片演示文稿。
Beamer 还支持必要的功能,例如逐步显示,一次只显示一个项目符号,以防止观众因超前阅读而分心。": 清单中的 \pause 将项目符号分成页面
\begin{frame}
Remember:
\begin{itemize}
\item This will show up on the first slide. \pause
\item This will show up on the
second slide, as well as the preceding point. \pause
\item Finally, on the third slide,
all three bullets will show up.
\end{frame}
创建讲义
我在 Beamer 中最喜欢的功能是,您可以将其设置为使用 \documentclass[ignorenonframetext]{beamer} 忽略帧外的一切内容。当我准备演示文稿时,我会省略顶部(声明文档类的地方)并自动生成两个版本:一个使用 Beamer,它忽略任何帧外的所有文本,我将其用于我的演示文稿,另一个使用像这样的标题
\documentclass{article}
\usepackage{beamerarticle}
这会生成一个讲义——一个 PDF,其中包含所有帧以及它们之间的所有文本。
当会议组织者要求我发布我的幻灯片时,我会包含原始幻灯片作为参考,但我希望人们拥有的主要内容是讲义,其中包含所有我不希望包含在幻灯片本身上的解释性文本。
在创建演示幻灯片时,人们经常想知道最好是为演示文稿优化材料,还是为那些想在之后阅读材料的人优化。幸运的是,Beamer 提供了两全其美的方案。
4 条评论