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 条评论