本文部分翻译自Beamer手册的第1、4、5、6、7、9、10章, 我们忽略 了原手册中同lyx配合使用的部分,以及beamer模拟其它Slide实现 (比如prosper,foilstex,texpower等)等章节的内容。
Beamer是latex上用来制作Slide的一个文档类,它的特点是:
在latex中使用beamer一般按下面的步骤进行:
下面是一个使用beamer类的典型例子
\documentclass{beamer}
\usepackage{beamerthemesplit}
\title{Example Presentation Created with the Beamer Package}
\author{Till Tantau}
\date{\today}
\begin{document}
\frame{\titlepage}
\section*{Outline}
\frame{\tableofcontents}
\section{Introduction}
\subsection{Overview of the Beamer Class}
\frame {
\frametitle{Features of the Beamer Class}
\begin{itemize}
\item<1-> Normal LaTeX class.
\item<2-> Easy overlays.
\item<3-> No external programs needed.
\end{itemize}
}
\end{document}
用pdflatex命令编译上面的例子两次,就可以用pdf阅读工具(如acroread)查看结果。 或者你也可以使用dvips命令编译。
正如你所看到的,上面的文本看起来就像一个标准的latex文本。主要的不同就是使用了 \frame 命令。这个命令有一个参数,就是要在这个frame中显示的文本。一般说来,一个 frame的内容将在单个Slide中显示。然而,如果你在frame中用了遮挡(overlay)命令, 一个frame命令也将产生多个Slides. 一个例子就是上面文本的最后一个frame,其中 \item 命令后面跟了一个遮挡选项类似<1->。 这个选项的意思是"从第一张开始",它使得 这个item的内容仅在制定的Slides中显示。在上面的例子中总共创建了5张Slides: 一个 标题页Slide,一个框架页Slide,一个仅显示三项列表中第一项的Slide,一个显示前三项中 前两项的Slide,和列表中三项都显示的Slide.
组织文字的结构可以使用 \section 和 \subsection 命令,这两个命令不但创建目录项,而且 会在导航条中出现。
Beamer的安装很简单,只要将beamer的安装文件放到tex的相应目录中,然后更新tex数据库中即可。 beamer要用到pgf和xcolor包,所以在正式使用beamer之前,确保这两个包也安装到你的tex目录中。 这些包可以到http://www.ctan.org 下载也可以到北大计算数学服务器下载dsec.
安装完毕就可以将beamer/example目录下的文件复制到一个临时目录,试着用pdflatex编译(每个文件要编译两遍),如果输出的pdf文件正常就表示安装成功了,如果有问题请查阅/beamer/doc/beameruserguide.pdf文件。
这里简单介绍一下使用Beamer制作Slide的流程,以及制作Slide时一些要注意的问题。
这样便于排序和将属于同一个Slide的文件放到一个目录中。
如果内容比较多也可以分成几个部分(\part)。每一部分一般有2-4个\section。太多了听众会记不住前面讲过的东西。\section和\subsection应该尽量按逻辑划分,而不是技术。如果需要还可以加一个附录(\appendix),将不想讲而又有可能被问道的的细节放到附录中。
一旦逻辑结构组织完毕,应当创建一个PDF或这PS文件。这时候Slide是空的,除了有标题页和目录。创建PDF只要用刚编辑的tex文件名做参数运行两遍pdflatex即可。制作PS文件稍微麻烦一点,方法如下(假定tex文件名为main.tex):
# 1. 检查tex文件,使用beamer类时要加dvips参数,如下
# \documentclass[dvips]{beamer}
# 2. 运行两遍latex
latex main.tex
latex main.tex
# 3. 将dvi文件转为ps文件
dvi -P pdf main.dvi
#或者, 使得每个Slide布满letter-sized型纸张,使用
dvips -P pdf -tletter main.dvi -o main.temp.ps
psnup -1 -W128mm -H96mm -pletter main.temp.ps main.ps
#或者,对于 A4纸张,
dvips -P pdf -ta4 main.dvi -o main.temp.ps
psnup -1 -W128mm -H96mm -pa4 main.temp.ps main.ps
# 如果要给纸张设边界,在上面psnup命令的选项中加入-m 1cm
# 如果在一张之中放多个Slide,将psnup第一个选项中的1改为想要的数字
# 使用draft选项,将不产生headlines,footlines,和sidebars,编译速度会加快很多
\documentclass[draft]{beamer}
# 另一个方法只编译个别的frame
\includeonlyframes{<frame label list>}
只要修改beamer文档类的参数即可。在使用article参数时,还可以将Frame作为图片插入到论文中。
与其它TeX扩展包使用类似\pause的命令一张一张的来做slide不同, beamer使用一种更方便强大的方法. beamer通过使用"遮挡选项"使得同样的内容在不同的幻灯片上出现. 这里边涉及到两个几本概念: Frame和Slide, Slide是一个具体的幻灯片,而Frame是一组幻灯片. 一个Frame有一个\frame命令产生,一般按内容的逻辑关系划分Frame.缺省的,一个Frame包含一个Slide, 但如果\frame中使用了遮挡选项,将会产生多个Slide; 另一个产生产生多个Slide的可能是由于内容太多而换页产生的Slide.
遮挡选项是beamer的精华所在,它控制了一个Frame中产生Slide的张数,效果,以及每张上出现的内容. 并不是所有的LaTeX 都可以有overlays选项. 不过,在Beamer中很容易将命令重新定义,使之能识别overlays选项.
<-2,4-5,8,10->它代表的列表意思是: 1,2,4,5,8,以及10以后的所有slides.
\only<article>{This text is shown only in article mode}
上面的文本仅会在论文版本(article)中出现. 也可以将Mode混合overlays选项一起使用:
\only<article| beamer:1>{Riddle}
这个命令使得文本"Riddle"会在article模式出现,同时也在beamer模式中命令所在Frame的第一个Slide出现.
\item<3-| alert@>Show from slide 3 on, alerted on slide 3.上面的例子中,*\item* 命令创造的效果是: 从第三张开始显示文本,并且在第三张上使用红色显示文本(alert代表红色) 缺省的,还可以使用下列actions:
\item<article| beamer:1,2,3 | alert@1>{An overlays example}
Beamer有多种主题样式(theme) plain tree boxes sidebar treebars split lined splitcondensed bars classic shadow