beamer 是用于用 LaTeX 制作演示幻灯片(PDF)的 document class。把源文件分成名为 frame 的单元后,每个单元就成为一张幻灯片。它提供学术报告中常见的整洁主题、逐行显示项目的 overlay、左右分栏和强调框等,演示所需的基本功能一应俱全。本页从第一行开始,到逐步显示为止按顺序介绍。
选择 class — \documentclass{beamer}
beamer 文档以 \documentclass{beamer} 开始。仅这一行就会把每一页变成横向的 一屏内容,而不是纸张页面,并一次性设置演示用的标题、导航、配色等体裁。beamer 的做法不是像普通 article 那样组织章节,而是按屏幕单位排列内容。
幻灯片默认是 4:3(约 126 mm × 96 mm)。若要适配现代宽屏显示,可用 class 选项改变宽高比:\documentclass[aspectratio=169]{beamer} 会得到 16:9。aspectratio 可取 1610、169、149、54、43、32,分别表示 16:10、16:9、14:9、5:4、4:3、3:2。正文字号也可像 \documentclass[11pt]{beamer} 那样指定,默认是 11pt。
frame 环境 — 一张幻灯片
beamer 的核心是 frame 环境。原则上,从 \begin{frame} 到 \end{frame} 之间就是一张幻灯片,里面放列表、图和公式。幻灯片标题可用 \frametitle{...} 添加,也可像 \begin{frame}{Title} 一样作为环境参数传入。
\begin{frame}{はじめに}
\begin{itemize}
\item 背景
\item 目的
\end{itemize}
\end{frame}这里的关键是:一个 frame 不一定等于一页。使用后面要介绍的 overlay(逐步显示)时,同一个 frame 会生成 多页 PDF,播放时看起来像动画。即便如此,“frame = 一个逻辑屏幕”的单位不变,计数也按 frame 编号而不是页码。
标题页与目录
标题元数据与 article 一样在导言区声明。写 \title{...}、\author{...}、\institute{...}、\date{...},然后在正文中把 \titlepage 放进一个 frame,就会排出标题幻灯片(\maketitle 也得到同样结果)。演示中常用 \date{\today} 自动填写日期。
较长的演示中,用 \section{...} 分隔内容后,这些结构会反映到每张幻灯片上方的导航中。声明好分段后,把 \tableofcontents 放进一个 frame,就会得到目录幻灯片。写 \tableofcontents[currentsection] 会生成 只强调当前节 的目录;若想在每节开头自动插入这样的 frame,可在导言区使用 \AtBeginSection[]{...}。
主题 — 一次性决定整体外观
beamer 的一大魅力是,只需选择一行 主题,配色、布局和导航就会一起定好。在导言区用如 \usetheme{Madrid} 选择 presentation theme。除了 Madrid,还有 Berlin、Warsaw、Singapore、metropolis(需额外安装)等许多主题。若只想替换配色,用 \usecolortheme{...}(如 beaver、seahorse、dolphin);字体则用 \usefonttheme{...}(如 serif、professionalfonts)调整。
| 命令 | 设置内容 | 例 |
|---|---|---|
\usetheme | 整体布局、导航和配色 | \usetheme{Madrid} |
\usecolortheme | 仅替换配色 | \usecolortheme{seahorse} |
\usefonttheme | 标题和正文的字体 | \usefonttheme{serif} |
\useinnertheme / \useoutertheme | 内部(列表等)/ 外部(页眉等)样式 | \useoutertheme{infolines} |
Overlay — 逐步显示
如果想在演示过程中 逐步展示 内容,就使用 overlay。最简单的是 \pause:把它放在 frame 中间,后面的内容会被送到下一张幻灯片(下一页)。这时一个 frame 会展开为多页 PDF,播放时成为逐步显示。
\begin{frame}{結果}
\begin{itemize}
\item 第一の点
\pause
\item 第二の点
\pause
\item 第三の点
\end{itemize}
\end{frame}若要更细控制,可在命令后立即用尖括号 <...> 添加 overlay specification。例如 \item<1-> 表示“从第 1 张起一直显示”,\item<2> 表示“只在第 2 张显示”,\item<2-> 表示“第 2 张以后显示”。也可写范围和跳号,如 <-2,4-5,7>。切换显示 / 隐藏的主要命令如下。
| 命令 | 行为 | 占位方式 |
|---|---|---|
\pause | 把后续内容送到下一张幻灯片 | 被送出的内容依次追加显示 |
\onslide<2->{...} | 在指定幻灯片显示,其余隐藏 | 始终保留空间(不跳动) |
\uncover<2->{...} | 在指定幻灯片显现 | 始终保留空间 |
\only<2>{...} | 只在指定幻灯片输出 | 不保留空间(内容回流) |
\alert<2>{...} | 在指定幻灯片使用强调色 | 始终可见并保留空间 |
\onslide 和 \uncover 即使内容隐藏也会 保留空间,所以项目出现时布局不会跳动。相反,\only 会插入或移除输出本身,因此隐藏部分的 空间会被收回,内容会重新流动。像 \alert<2>{...} 一样,也可给 \textbf 或 \textcolor 添加 overlay spec,实现“只在特定幻灯片强调”。
Block、分栏与 fragile
若要用带框盒子突出内容,使用 block 环境:\begin{block}{Title}…\end{block} 会生成符合主题风格、带标题的盒子。还有提示警告用的 alertblock 和示例用的 exampleblock;定理和定义可直接使用 theorem、definition 环境。
若要把幻灯片左右分割,在 columns 环境 中排列 \column{width}(或 column 环境)。这很适合把图和说明并排放置。
\begin{frame}{比較}
\begin{columns}
\column{0.5\textwidth}
左の内容
\column{0.5\textwidth}
右の内容
\end{columns}
\end{frame}有一点需要注意:在 frame 中使用 verbatim 环境或 listings(显示源代码)时,该 frame 需要加 [fragile] 选项,写作 \begin{frame}[fragile]。这是因为 beamer 为 overlay 在内部改变 <、> 等字符的含义,而 verbatim 要原样输出字符,二者会冲突。加上 [fragile] 后,会切换到一种特殊处理:先把 frame 内容写到外部文件再读回,从而让两者共存。
最小示例
下面是一个可编译的最小 beamer 文档,包含主题、标题幻灯片,以及使用 \pause 的列表 frame。导言区声明主题和标题元数据;正文中第一个 frame 放 \titlepage,第二个 frame 放逐步显示的项目列表。
\documentclass[aspectratio=169]{beamer}
\usetheme{Madrid}
\title{My Talk}
\author{Ada Lovelace}
\institute{Analytical Engine Lab}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}{Overview}
\begin{itemize}
\item Background
\pause
\item Method
\pause
\item Results
\end{itemize}
\end{frame}
\end{document}编译后,首先出现 Madrid 主题的标题幻灯片(题名、作者、机构、日期);随后在 “Overview” 幻灯片中,每前进一步都会追加一个项目。虽然只有两个 frame,但由于 \pause,PDF 会展开为多页。制作日文幻灯片时,LuaLaTeX 可用 luatexja 等启用日文,并加入与引擎匹配的设置。
实际演示的写作流程
beamer 不是把论文原样切碎的工具。先把演示流程分成“问题、方法、结果、结论”等几个部分,每个 frame 只放一个主张。不要从正文稿中粘贴长段落,而是压缩成图、公式和短项目列表,再只在真正有助于逐步呈现的地方使用 \pause 或 <2->。
- 宽高比 — 如果知道投影环境,先决定
aspectratio=169或43,再设计幻灯片。 - 密度 — 每张幻灯片以 3 到 5 个项目为目标,细节转到口头说明或讲义。
- 代码和日志 — 含有
verbatim、listings或minted的 frame 要加[fragile]。 - 讲义版 — 如果 overlay 让 PDF 难读,为提交或分发准备减少 overlay 的 PDF。
区分演讲版与讲义版
beamer PDF 首先是演讲时逐步推进的文档。如果带着大量 \pause 命令或 <2-> overlay 直接分发,同一个逻辑 frame 可能变成许多页,讲义会难以阅读。用于提交或预先分发时,可以从同一源文件构建带 handout 选项的独立讲义版,或只为重要 frame 准备减少 overlay 的版本。
% talk version
\documentclass[aspectratio=169]{beamer}
% handout version: switch this line when exporting for distribution
% \documentclass[aspectratio=169,handout]{beamer}
\begin{document}
\begin{frame}{Result}
\begin{itemize}[<+->]
\item Observation
\item Interpretation
\item Limitation
\end{itemize}
\end{frame}
\end{document}制作讲义版时,不仅要看页数,也要看每页出现的信息密度。演讲中逐步显示可能很有效,但讲义往往在一开始就显示所有项目更清楚。反过来,演讲版通常应减少细小注释和补充,把细节留给 handout 或论文正文,这样听众更容易跟随屏幕。