LaTeX/演示文稿
LaTeX 可用于创建演示文稿。有几个包可用于此任务,例如- Powerdot、Prosper 、Seminar 等,但是 Beamer 包 是最广泛使用的。
需要注意的是,Latex 以 PDF 格式生成演示文稿,可以使用某些 PDF 阅读器(例如 Okular、Evince 或 Adobe Reader)以全屏模式查看。如果您想在演示文稿中导航,可以使用右下角几乎不可见的链接,而无需退出全屏模式。
beamer 包随大多数 LaTeX 发行版提供,但也可以从 CTAN 获得。如果您使用 MikTeX,您只需包含 beamer 包并让 LaTeX 自动下载所有需要的包。 文档 详细解释了这些功能。您也可以查看 PracTex 文章 Beamer by Example.[1]
beamer 包还加载了许多有用的包,包括 xcolors、hyperref 等。下面显示了一个入门示例及其输出。
\documentclass[10pt]{beamer}
% Add extra packages here
\title{Presentation on XXX topic}
\author{AAA}
\begin{document}
\maketitle
\begin{frame}
\frametitle{This is the first slide}
Here you can put any text/equation etc.
$a^2 + b^2 = c^2$.
\end{frame}
\begin{frame}
\frametitle{This is the second slide}
\framesubtitle{A bit more information about this}
Some random text.
\end{frame}
\end{document}
|
在上面的代码中,Beamer 包通过标头中的 \documentclass{beamer}
命令加载。然后可以指定通常的标头信息。在 Beamer 演示文稿中,帧等同于幻灯片(在 MS Office 中使用)。帧使用环境 \begin{frame} ...... \end{frame}
定义。 \frametitle{}
命令指定每个幻灯片的标题。帧标题和副标题也可以通过环境传递,如下所示。
\begin{frame}{Title of frame}{subtitle of frame}
...
\end{frame}
通常的环境(itemize、enumerate、equation 等)可以使用。在帧内,您可以使用 block、theorem、proof 等环境。此外,\maketitle
可用于创建标题页,如果设置了 title 和 author。
标题页是第一页,您可以在其中插入以下信息
- 标题和副标题(可选)- 使用
\title
和\subtitle
命令,或使用\title[短标题(可选)]{长标题}{副标题(可选)}
- 作者姓名- 使用
\author{}
命令。 - 机构名称- 使用
\institute
命令。请注意\inst{1}
和\inst{2}
命令的使用,用于将作者与其各自的机构关联起来。 - 演示文稿的日期和地点- 可以使用
\date[短日期(可选)]{长日期}
命令插入。 - 机构徽标等。
需要注意的是,方括号中的信息,即 [ ] 是可选的。
\documentclass{beamer}
\title[Crisis] {The Economics of Financial Crisis}{Evidence from India}
\author[Author, Anders] {F.~Author\inst{1} \and S.~Anders\inst{2}}
\institute[Universities Here and There] {
\inst{1} Institute of Computer Science\newline University Here
\and
\inst{2} Institute of Theoretical Philosophy\newline University There}
\date[KPT 2004] {Conference on Presentation Techniques, 2004}
\subject{Computer Science}
\begin{document}
\maketitle
% place your frames here.
\end{document}
|
重要的是在文档中包含 \maketitle
命令(如上面的代码所示)以创建标题帧。\maketitle
和 \titlepage
命令是等效的。
目录(突出显示当前部分)由以下内容显示
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[currentsection]
\end{frame}
这可以在每个部分的开头自动完成,在序言中使用以下代码
\AtBeginSection[]
{
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[currentsection]
\end{frame}
}
或用于子部分
\AtBeginSubsection[]
{
\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
与所有其他 LaTeX 文件一样,可以使用以下内容来构建文档
\section[Section]{My section}
\subsection[Subsection]{My subsection}
\subsubsection[Subsubsection]{My subsubsection}
这些命令必须放在帧之前和之间。它们将使用方括号中的参数修改目录。可选参数将在幻灯片的标题导航中显示,具体取决于使用的主题。您可以使用 \sectionpage
宏为声明的部分生成一个分隔幻灯片,例如
\begin{frame}\sectionpage\end{frame}
以下示例显示了一个包含两个条目的手动制作的参考文献幻灯片
\begin{frame}[allowframebreaks]
\frametitle<presentation>{Further Reading}
\begin{thebibliography}{10}
\beamertemplatebookbibitems
\bibitem{Autor1990}
A.~Autor.
\newblock {\em Introduction to Giving Presentations}.
\newblock Klein-Verlag, 1990.
\beamertemplatearticlebibitems
\bibitem{Jemand2000}
S.~Jemand.
\newblock On this and that.
\newblock {\em Journal of This and That}, 2(1):50--100, 2000.
\end{thebibliography}
\end{frame}
随着参考文献列表的增长,参考文献幻灯片将通过使用allowframebreaks选项分成两张幻灯片,依此类推。在向相关的bibitem节添加“可选”标签后,可以引用各个项目。引用调用只是\cite
。Beamer 还支持对参考文献呈现方式的有限定制(参见手册)。
不同类型的引用作品用一个小符号(例如,一本书、一篇文章等)来表示。该符号由命令beamertemplatebookbibitems和 beamertemplatearticlebibitems 设置。也可以直接使用setbeamertemplate,如下所示
\begin{frame}[allowframebreaks]
\frametitle<presentation>{Further Reading}
\begin{thebibliography}{10}
\setbeamertemplate{bibliography item}[book]
\bibitem{Autor1990}
A.~Autor.
\newblock {\em Introduction to Giving Presentations}.
\newblock Klein-Verlag, 1990.
\setbeamertemplate{bibliography item}[article]
\bibitem{Jemand2000}
S.~Jemand.
\newblock On this and that.
\newblock {\em Journal of This and That}, 2(1):50--100, 2000.
\end{thebibliography}
\end{frame}
除了 book 和 article 之外,其他可能的参考文献类型还包括例如 online 、 triangle 和 text 。也可以通过包含图形来拥有用户定义的参考文献项目。
如果想让完整参考文献作为脚注出现,请使用 biblatex 包中的\footfullcite
。例如,可以使用
\documentclass[10pt,handout,english]{beamer}
\usepackage[english]{babel}
\usepackage[backend=biber,style=numeric-comp,sorting=none]{biblatex}
\addbibresource{biblio.bib}
\begin{frame}
\frametitle{Title}
A reference~\footfullcite{ref_bib}, with ref_bib an item of the .bib file.
\end{frame}
主题
[edit | edit source]Beamer 提供两种方式来定义主题 - 1) 使用内置主题,2) 使用用户定义主题。
内置解决方案
[edit | edit source]Beamer 有多个内置主题,可以通过在序言中指定它们的“名称”和它们的“颜色”来使用。这个主题矩阵包含了Beamer中包含的各种主题和颜色组合。有关更多自定义选项,请查看您beamer分发版中包含的官方文档,尤其是更改外观部分。
\usetheme{Warsaw}
\usecolortheme{beaver}
主题的完整列表是
|
|
|
|
|
|
颜色主题的完整列表是
|
|
|
用户定义的主题
[edit | edit source]首先,您可以指定outertheme,它定义每张幻灯片的页眉和页脚。
\useoutertheme{infolines}
\useinnertheme{rectangles}
以下是所有可用外部和内部主题的列表
外部主题列表 | 内部主题列表 | |||||
infolines | shadow | smoothbars | split | rectangles | inmargin | |
miniframes | sidebar | smoothtree | tree | circles | rounded |
您可以定义每个元素的颜色
\setbeamercolor{alerted text}{fg=orange}
\setbeamercolor{background canvas}{bg=white}
\setbeamercolor{block body alerted}{bg=normal text.bg!90!black}
\setbeamercolor{block body}{bg=normal text.bg!90!black}
\setbeamercolor{block body example}{bg=normal text.bg!90!black}
\setbeamercolor{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!75!normal text.fg,bg=normal text.bg!75!black}
\setbeamercolor{block title}{bg=blue}
\setbeamercolor{block title example}{use={normal text,example text},fg=example text.fg!75!normal text.fg,bg=normal text.bg!75!black}
\setbeamercolor{fine separation line}{}
\setbeamercolor{frametitle}{fg=brown}
\setbeamercolor{item projected}{fg=black}
\setbeamercolor{normal text}{bg=black,fg=yellow}
\setbeamercolor{palette sidebar primary}{use=normal text,fg=normal text.fg}
\setbeamercolor{palette sidebar quaternary}{use=structure,fg=structure.fg}
\setbeamercolor{palette sidebar secondary}{use=structure,fg=structure.fg}
\setbeamercolor{palette sidebar tertiary}{use=normal text,fg=normal text.fg}
\setbeamercolor{section in sidebar}{fg=brown}
\setbeamercolor{section in sidebar shaded}{fg=grey}
\setbeamercolor{separation line}{}
\setbeamercolor{sidebar}{bg=red}
\setbeamercolor{sidebar}{parent=palette primary}
\setbeamercolor{structure}{bg=black, fg=green}
\setbeamercolor{subsection in sidebar}{fg=brown}
\setbeamercolor{subsection in sidebar shaded}{fg=grey}
\setbeamercolor{title}{fg=brown}
\setbeamercolor{titlelike}{fg=brown}
颜色可以像往常一样定义
\definecolor{chocolate}{RGB}{33,33,33}
块样式也可以定义
\setbeamertemplate{blocks}[rounded][shadow=true]
\setbeamertemplate{background canvas}[vertical shading][bottom=white,top=structure.fg!25]
\setbeamertemplate{sidebar canvas left}[horizontal shading][left=white!40!black,right=black]
您还可以抑制导航符号
\beamertemplatenavigationsymbolsempty
字体
[edit | edit source]您还可以更改特定元素的字体。如果您想将由\{frame}[plain]\titlepage\end{frame}
呈现的演示文稿标题设置为衬线字体而不是默认的无衬线字体,您将使用
\setbeamerfont{title}{family=\rmfamily}
如果您使用的是带有 Xe(La)TeX 的 OpenType 字体,并且要指定带有更大尺寸和旧式比例替代数字字形的衬线字体,则可以更进一步
\setbeamerfont{title}{family=\rmfamily\addfontfeatures{Scale=1.18, Numbers={Lining, Proportional}}}
数学字体
[edit | edit source]beamer 的默认设置使用的是与创建简单数学文章时所期望的不同数学字体集。一个快速解决方法是使用
\usefonttheme[onlymath]{serif}
帧选项
[edit | edit source]帧的选项可以按以下方式传递
\begin{frame}[option1,option2,...,option N]{Title of the frame}
% ...
\end{frame}
以下是部分有用选项及其说明。
- plain : 此选项将从幻灯片中删除所有格式,从而为您提供更多空间来容纳大型图形或大型表格。
- shrink: 如果要在幻灯片上包含大量文本,请使用shrink选项。
- allowframebreaks : 选项将在内容过多而无法在一张幻灯片上显示时自动创建新的幻灯片。
- fragile: 在使用任何逐字环境(如listings)之前,您应该将选项fragile传递给
frame
环境,因为逐字环境需要以不同的方式排版。通常,可以使用fragile=singleslide形式(有关详细信息,请参见手册)。请注意,fragile选项不能与\frame
命令一起使用,因为它期望遇到一个\end{frame}
,它应该单独位于一行。
\begin{frame}[fragile]
\frametitle{Source code}
\begin{lstlisting}[caption=First C example]
int main()
{
printf("Hello World!");
return 0;
}
\end{lstlisting}
\end{frame}
超链接导航
[edit | edit source]可以在 beamer 中使用内部和外部超链接来辅助导航。还可以添加外观整洁的按钮。
默认情况下,beamer 类会在右下角添加导航按钮。要删除它们,可以在序言中放置
\beamertemplatenavigationsymbolsempty
。
动画
[edit | edit source]可以使用诸如 \pause、\uncover、\only 和 \itemize<a-b>之类的命令来使图形和文本出现和消失。这些命令后的文本或图形将在以下事件之一发生后显示(在不同的 PDF 查看器中可能会有所不同):按键盘上的空格键、回车键或分页键,或使用鼠标向下滚动或单击下一张幻灯片按钮。以下是每个命令的简短说明,有关详细信息,请参阅 Beamer 手册的第 9 章。
\pause
语句可以按以下方式使用,以提供一个断点。也就是说,命令后的文本将在下一个事件(按钮点击/按键/等)上显示
\begin{frame}
\frametitle{Some background}
We start our discussion with some concepts.
\pause
The first concept we introduce originates with Erd\H os.
\end{frame}
\uncover
命令显式指定出现;\only
的工作原理相同,但隐藏时不会保留空间。
\begin{frame}
\frametitle{Some background}
\only<1>{To be replaced.}
\uncover<2-3>{Only visible on slides two and three.}
\uncover<4->{Can be seen afterwards until the end.}
\end{frame}
\item
命令通过使用<a-b>
来指定文本的出现和消失,其中a和b是该项目要显示的事件编号(包含)。例如
\begin{itemize}
\item This one is always shown
\item<1-> The first time (i.e. as soon as the slide loads)
\item<2-> The second time
\item<1-> Also the first time
\only<1-1> {This one is shown at the first time, but it will hide soon (on the next event after the slide loads).}
\end{itemize}
一种更简单的逐次点击显示一项的方法是使用\{itemize}[<+->]
。
\begin{frame}
\frametitle{`Hidden higher-order concepts?'}
\begin{itemize}[<+->]
\item The truths of arithmetic which are independent of PA in some
sense themselves `{contain} essentially {\color{blue}{hidden higher-order}},
or infinitary, concepts'???
\item `Truths in the language of arithmetic which \ldots
\item That suggests stronger version of Isaacson's thesis.
\end{itemize}
\end{frame}
在所有这些情况下,按分页键、向上滚动或在导航栏中单击上一张幻灯片按钮将回溯到序列中。
上述命令将揭开项目,并且它们仅在指定帧号上/之后可见。也可以使用\setbeamercovered{transparent}
命令来查看未覆盖的项目,这些项目将以较低的透明度显示。这意味着,如果可见文本为黑色,则未覆盖的文本将为灰色。可以使用\setbeamercovered{invisible}
命令恢复此设置。
格式化文本也有类似的选项。例如,如果您希望文本具有特定样式,则可以使用\style<3->{Text}
命令。例如,可以使用\alert<3->{Some text.}
,它将在指定幻灯片上以相应的格式显示指定的文本。同样,也可以使用
\textbf, \textit, \textsl, \textrm, \textsf, \textcolor, \structure
等命令。
定理、推论和证明环境也是如此。以下是一个示例。
\begin{theorem}<2->[Famous identity]
$ e^i -1 = 0$
\end{theorem}
对于表格,必须在放置新行(即 \\)之前添加\onslide
幻灯片命令。
Test 1 & repeat & 14.5 & 656 \onslide<3-> \\
手册模式
[edit | edit source]在 beamer 类中,默认模式为presentation,它会制作幻灯片。但是,您可以通过在调用类时设置此选项,在称为handout的不同模式下工作
\documentclass[12pt,handout]{beamer}
此模式对于一次只查看一张幻灯片及其所有内容非常有用,使任何\itemize[<+->]
环境都一次可见(例如,可打印版本)。但是,这在使用only
命令时会出现问题,因为它的目的是一次只显示某些文本或图形,而不是全部显示。
如果要解决此问题,可以添加一个语句来精确指定在处理手册模式下的only
命令时的行为。假设您有一个这样的代码
\only<1>{\includegraphics{pic1}}
\only<2>{\includegraphics{pic2}}
这些图片完全不同,您希望它们都在手册中,但它们不能在同一张幻灯片上,因为它们太大。解决方法是添加手册语句以获得以下内容
\only<1| handout:1>{\includegraphics{pic1}}
\only<2| handout:2>{\includegraphics{pic2}}
这将确保手册为每张图片制作一张幻灯片。
现在想象一下,你仍然拥有两张图片,只有陈述,但第二张显示第一张图片加上一些其他图表,你不需要第一张图片出现在讲义中。因此,你可以通过以下方式精确地指定讲义模式不包含一些仅有的命令:
\only<1| handout:0>{\includegraphics{pic1}}
\only<2>{\includegraphics{pic2.eps}}
该命令还可以用来隐藏框架,例如:
\begin{frame}<handout:0>
或者,如果你编写了一个你不再需要的框架,但可能以后会需要它,你可以编写:
\begin{frame}<0| handout:0>
这将在两种模式下隐藏你的幻灯片。
关于讲义模式的最后一个说明是关于笔记的。实际上,一个框架的完整语法是:
\begin{frame}
...
\end{frame}
\note{...}
\note{...}
...
你可以在“note”字段中写入你关于框架的笔记(如果需要,可以写很多)。利用这一点,你可以添加一个选项:
\setbeameroption{show only notes}
或者
\setbeameroption{show notes}
第一个选项在你做演讲时很有用,因为它只显示你需要的笔记,而第二个选项可以提供给那些听过你演讲的人或者那些错过了演讲的人,让他们既可以查看幻灯片,也可以了解你所说的话。
列环境将幻灯片(垂直)划分为几列。例如:
\begin{frame}
\frametitle{Example of columns 1}
\begin{columns}[c] % the "c" option specifies center vertical alignment
\column{.45\textwidth} % column designated by a command
Contents of the first column
\column{.45\textwidth}
Contents split \newline into two lines
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Example of columns 2}
\begin{columns}[T] % contents are top vertically aligned
\begin{column}{5cm} % each column can also be its own environment
Contents of first column \newline split into two lines
\end{column}
\begin{column}{5cm} % alternative top-align that's better for graphics
\includegraphics[height=3cm]{graphic}
\end{column}
\end{columns}
\end{frame}
将文本包含在“block”环境中会创建一个独特的,带标题的文本块(可以使用空白标题)。这可以让你轻松地直观区分幻灯片的各个部分。有三种基本类型的块。它们的格式取决于所使用的主题。
\begin{frame}
\begin{block}{This is a Block}
This is important information
\end{block}
\begin{alertblock}{This is an Alert block}
This is an important alert
\end{alertblock}
\begin{exampleblock}{This is an Example block}
This is an example
\end{exampleblock}
\end{frame}
你可以指定PDF的默认选项。[2]
\hypersetup{pdfstartview={Fit}} % fits the presentation to the window when first displayed
可以使用这段代码为幻灯片编号:
\insertframenumber/\inserttotalframenumber
但是,这对于一些演示文稿作者来说会带来两个问题:标题幻灯片被编号为第一个,并且附录或所谓的“备份” (又名附录,备用) 幻灯片被包含在总计中,尽管它们不打算在被问到“硬”问题之前公开。[3] 这时,有两个功能可以解决这个问题:
- 能够将某些框架排除在编号之外。例如,这可以用于标题幻灯片,以避免对其进行计数。
\begin{frame}[noframenumbering]
content...
\end{frame}
- 这些东西可以解决计算备份框架的问题。
\documentclass[12pt,handout]{beamer}
\usetheme{CambridgeUS}
\setbeamertemplate{page number in head/foot}[appendixframenumber]
\begin{document}
\begin{frame}
content
\end{frame}
\appendix
\begin{frame}
content...
\end{frame}
\end{document}
powerdot 包是 beamer 的替代方案。它可以在 CTAN 中获得。文档详细解释了其功能。
powerdot 包通过调用 powerdot 类加载。
\documentclass{powerdot}
然后可以指定通常的标题信息。
在通常的 document 环境中,多个 slide 环境指定要放在每个幻灯片上的内容。
\begin{document}
\begin{slide}{This is the first slide}
%Content goes here
\end{slide}
\begin{slide}{This is the second slide}
%More content goes here
\end{slide}
% etc
\end{document}
beamer
类非常强大,并提供了许多功能。对于非常简单的演示文稿,可以使用基于 article
的类。
\documentclass[paper=160mm:90mm,fontsize=10pt,DIV=16]{scrartcl}
\usepackage{lmodern}
\pagestyle{empty}
\renewcommand{\familydefault}{\sfdefault}
\newenvironment{slide}[1]{\clearpage
{\LARGE\bfseries#1\par}\vspace{\baselineskip}
}{}
\usepackage{enumitem}
\setlist{noitemsep}
\title{XeTaL}
\author{Carl Capybara}
\begin{document}
\maketitle
\begin{slide}{slide title}
This is just some text
\begin{itemize}
\item Wombat
\item Capybara
\item Mara
\end{itemize}
\end{slide}
\begin{slide}{Wombat title}
This is just some different text
\end{slide}
\end{document}
以下是一些演示文稿的精彩示例:
- ↑ Andrew Mertz 和 William Slough, Beamer by Example
- ↑ hyperref 手册中定义了其他可能的取值
- ↑ Beamer 中的附录幻灯片:控制框架编号
- 维基百科:Beamer (LaTeX)
- Beamer 用户指南 (pdf) 来自 CTAN
- The powerdot 类 (pdf) 来自 CTAN
- 使用 beamer 创建演示文稿的教程