如何使用 Beamer 创建演示文稿

Beamer 将 LaTeX 强大的排版功能和生态系统带入幻灯片创建中。
162 位读者喜欢这篇文章。
Business presentation

Vector Open Stock。CC BY-SA 3.0。

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 提供了两全其美的方案。

标签
Moshe sitting down, head slightly to the side. His t-shirt has Guardians of the Galaxy silhoutes against a background of sound visualization bars.
Moshe 自 1998 年以来一直参与 Linux 社区,帮助举办 Linux “安装派对”。他自 1999 年以来一直使用 Python 编程,并为核心 Python 解释器做出了贡献。Moshe 在这些术语出现之前就已经是一名 DevOps/SRE,他非常关心软件可靠性、构建可重现性以及其他此类事情。

4 条评论

有没有以这种方式创建的幻灯片(和来源)的例子?

您可以在此网站上找到示例集合。这些示例包括 LaTeX 源文件以及 HTML 和 PDF 输出。

回复 作者:John Carter (未验证)

由于一些类似的原因,我更喜欢使用 Scribus 生成演讲幻灯片。您可以完全控制布局,并且使用 PDF 查看器显示非常容易。您可以在内容中包含各种图像,包括矢量图形,并将 PDF 合并到您的页面中。

这篇文章让我感觉自己像个老古董。我在研究生院期间大量使用 beamer。它使技术演示文稿的创建变得容易得多。但我不知道可以从外部源文件导入代码片段的选项。谢谢!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.