Beamer制作幻灯片时分文件编译

在用 Beamer 制作幻灯片的过程中,如果页数或者图片过多,往往造成 LaTeX 编译速度慢的问题。此时,如果能够分文件进行编译查看效果,最后插入到主文件中编译,制作幻灯片的效率势必大大提高。本文主要介绍Beamer制作幻灯片时分文件编译的方法。

Beamer 简介

Beamer 是一个用于创建演示文稿 LaTeX 的文档类。Beamer 创建演示文稿相对于 PowerPoint 来说,优点在于简介大方,同时也有很多可直接运用的美观的模板,适合于数学公式较多的学术演示,移植性较好;缺点是不如 PowerPoint 那样直观灵活,动画支持较差,多图片排版较繁琐,播放时需要如 Adobe Reader 之类的阅读器。

网络上的Beamer教程较多,本文不再赘述其基本用法。更多关于 Beamer 作展示的利弊讨论参考 Why should I use LaTeX for presentations?

总之, Beamer 较适用于数学公式较多、图片较少,注重内容的学术展示。

关于可用的 Beamer 版式主题和颜色主题,这个 网站 给出了二者的组合,可以在比较后选择喜欢的用 \usetheme{} 引用版式主题,用 usecolortheme{} 引用颜色主题。

Beamer 分文件编译

这里我们介绍利用 Beamer 分文件编译的一种方法。参考了 StackExchange 上的 这篇帖子 。基本思路是利用 Tomasz M. Trzeciak 编写的 docmute 包,该包文档参考 The docmute package

我的环境配置是 TeX Live 2017 + TeX Studio 2018

首先,我们打开 TeX Studio 新建一个主文件 main.tex ,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\documentclass{ctexbeamer}
\usepackage{filecontents}
\begin{filecontents*}{main.tex,pg1.tex}
\documentclass{beamer}
\begin{document}
\begin{frame}
世界!
\end{frame}
\end{document}
\end{filecontents*}

\usepackage{docmute}
\begin{document}
\input{main}
\input{pg1}
\end{document}

然后,我们新建一个名为 pg1 的子文件:

1
2
3
4
5
6
\documentclass{ctexbeamer}
\begin{document}
\begin{frame}
你好!
\end{frame}
\end{document}

此时,主文件和子文件均可独立编译。在 TeX Studio 中的具体方法是

  • 主文件:直接编译即可;
  • 子文件:先将子文件设置为主文档,再编译就是只编译子文件得到的效果。设置主文档方法如下图。

编译主文件得到效果如下:

只编译子文件得到效果如下:

由此,我们可以将 Beamer 分为若干个 Section (一般为3~5个比较好),分别制作每个部分的子文后编译查看效果,若内容和排版均符合要求,即可编译主文件。这样一方面节省了编译时间,另一方面也提高了代码的可读性,提高了工作效率。

参考资料