一个简单的beamer模板
代码
最近用LaTeX的beamer文档类做了一个中文幻灯片,输出pdf格式的文档。文档结构清晰,数学公式非常漂亮,也有动态分步显示内容的功能,演示效果很不错。在这里把我的模板分享给有需要的人。
我用的是TeX Live
2018发行版,操作系统是Linux,所有源文件使用UTF-8编码保存,用xelatex
命令编译。完整代码如下:
1 | \documentclass{ctexbeamer} % 文档类beamer的汉化版本 |
字体和主题配置
配置字体主题
代码中用的ctexbeamer文档类是beamer的汉化版本。在我的环境下,beamer默认的中英文字体都是非衬线字体。我更习惯用衬线字体显示主要内容。数学公式的字体也需要配置。配置语句如下:
1 | \usefonttheme{serif} % 衬线字体 |
按照上述配置,中英文字体应该都能正确显示。如果系统默认配置的衬线字体你不喜欢,可以自定义设置。
配置英文字体
英文字体主要分为衬线字体(serif)、非衬线字体(sans)和等宽字体(mono),配置需要用到fontspec
宏包。这是我在Linux下的英文字体选择(如果找不到字体,请自行安装):
1 | \usepackage{fontspec} |
配置中文字体
字体配置是LaTeX中文排版很棘手的问题,但现在已经有很好的解决方案。比如,本文用到的CTeX宏集会根据用户使用的编译方式,在底层选择不同的中文支持方式。本文的源文件用xelatex
编译,中文支持方式为xeCJK宏包,在Linux系统下的字体策略自动配置为Fandol字库。所以,无需自己配置中文字体即可正常使用。
如果对默认的中文字体策略不满意,可以自己用xeCJK宏包配置。Linux下免费的中文衬线字体可以试试思源宋体。也有对应的非衬线字体思源黑体,如果再开发一个楷书字体就完美了。这款优秀的开源字体从Linux的官方源中就能安装。在Linux下可以通过下面的命令查看系统中所有的中文字体:
1 | $ fc-list :lang=zh > fonts.txt |
例如,我将思源宋体设置为主字体,加粗字体设置为思源黑体:
1 | \usepackage{xeCJK} |
更详细的中文字体配置方法请参考xeCJK文档。
主题和色彩风格
这里有个主题和色彩的搭配矩阵,选择最顺眼的即可。
内容结构
幻灯片的第一页是导言区,介绍演讲主题以及个人信息。如果要组织幻灯片的结构,可以使用\section
、\subsection
等命令对文档进行分节,用\tableofcontents
生成目录页,放在导言页之后,给观众展示演讲内容的结构。另外,还要在刚进入新的一节时显示整个目录,并高亮节的主题,将如下语句放在第一个section
语句的后面即可实现:
1 | \AtBeginSection[]{\frame{\tableofcontents[currentsection,hideallsubsections]}} |
在beamer中组织内容也是一页一页完成的,这样的演示页称为帧(frame),用frame
环境得到。还可以设置帧的大标题和小标题:
1 | \begin{frame}{大标题}{小标题} |
帧的内容默认是垂直居中的,加上t
选项即可取消垂直居中:
1 | \begin{frame}[t]{大标题}{小标题} |
在严肃的场合使用绚丽的动态效果会引起观众反感,但简单的动态效果很有必要。示例代码展示了如何用\onslide
实现分步显示内容的功能。更多的动态效果实现请参考刘海洋的LaTeX入门一书。
建议
通过前几天编辑幻灯片的经历,我建议,如果没有特别的原因,不要用LaTeX做幻灯片,老老实实用微软的PowerPoint做。我之所以选择LaTeX是因为没有正版的Office可以用,用WPS又担心格式兼容问题,保险起见就选择了pdf格式。用LaTeX做幻灯片,修改源码后看效果需要编译,而且LaTeX反人类的错误提示会让你抓狂的。当然,如果你是LaTeX高手,就无视这条建议。