如何使用 Beamer 创建演示文稿
创始人
2024-03-02 01:41:57
0

Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。

Beamer 是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 listings 包。

创建演示文稿

要创建一个 Beamer 文档,输入:

\documentclass{beamer}

与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用 listings 包,请输入:

\usepackage{listings}

将所有内容放在 document 环境中:

\begin{document}

Beamer 文档通常时是一系列的 frame 环境。包含代码的 frame 应该被标记为 fragile

\begin{frame}[fragile]

使用标题开始你的 frame

\frametitle{Function to Do Stuff}

开始演示前测试你的代码

世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。

解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。

然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为 do_stuff.py 的文件,其中包含代码。你可以在第二个文件中编写 do_stuff.py 代码的测试,你可以将其命名为 test_do_stuff.py,并且可以使用 pytest 测试。但是,do_stuff.py 中的大多数行都缺乏教学价值,比如定义辅助函数。

要简化你受众看到的东西,你可在演示文稿中只导入你要讨论的行到 frame 中:

\lstinputlisting[
    language=Python,
    firstline=8,
    lastline=15
]{do_stuff.py}

由于你会对这几行(从 8 到 15)进行讨论,因此幻灯片上不需要任何其他内容。结束 frame

\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}

你使用相同的文件,但这次显示调用该函数的行。最后,结束 document

\end{document}

假设你在 do_stuff.py 中有一个合适的 Python 文件,这将生成一个含有 2 页的幻灯片。

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} 设置忽略 frame 外的所有内容。当我准备演示文稿时,我离开顶部(声明文档类的位置)并自动生成它的两个版本:我的演示稿使用 Beamer 忽略任何 frame 之外的所有文本,另一个含有类似这样的头:

\documentclass{article}
\usepackage{beamerarticle}

这会生成一份讲义:一份含有所有 frame 和它们之间文字的 PDF。

当会议组织者要求我发布我的幻灯片时,我会包含原始幻灯片作为参考,但我希望人们拿到的是讲义,它包含了所有我不想在幻灯片上写的解释部分。

在创建幻灯片时,人们经常会考虑是为演讲优化讲稿还是为之后想要阅读它的人们优化。幸运的是,Beamer 提供了两全其美的办法。


via: https://opensource.com/article/19/1/create-presentations-beamer

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

23天月活破3000万!千...
2025-12-10 15:14:46
ToDesk AI百宝箱:...
有没有这样的一款工具,既能满足AI创作,如图片、文本内容、视频等方...
2025-09-05 16:18:03
数据结构与算法(C++版+...
✦ 课程教学大纲 ✦ 1 课程性质和目标 课程性质 数据结构和算法...
2025-06-17 09:43:15
免费的ppt模板哪里找?P...
前言 现在的大学生都不需要制作ppt的吗,想当年我读...
2025-05-31 19:42:39
Windows Serve...
需求:ppt上传后转成图片网上搜索了很多方法...
2025-05-31 13:40:01
ppt神器OKPlus11...
OKPlus简介 OKPlus插件是一款PPT设计辅助插件...
2025-05-28 08:10:02

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...