注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

being23

写给未来的自己

 
 
 

日志

 
 
关于我

真正的坚定,就是找到力量去做自己喜欢的事情,并为之努力,这样才会觉得生活是幸福的。

网易考拉推荐

关于beamer(草稿)  

2012-01-01 22:45:45|  分类: 生活中的小事 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

beamer是latex下用于制作演示文档的一个宏包,具体见这里或者这里或者Google自行搜索。使用手册见这里,中译版见这里。其他参考资料见这里或者这里(本文的绝大部分内容参考自该两份资料)。

除了排版美观之外,个人觉得用beamer制作演示文档的方便之处在于处理有很多公式的情形,而这一直也是latex的强大之处。

准备工作

  • 下载CTeX套装文件到本地并安装,建议安装到系统根目录下,通常指C:\,下文的操作均以C:\作为假设。
  • 下载宏包(这里我将latex子目录下的所有包都上传了,其中有"beamer","ms","pgf","ppower4","srcltx","xcolor")到CTex安装目录下的"latex"子目录中:如"C:\CTEX\UserData\tex\latex",如果没有"latex"子目录请手工建立该目录
  • 启动软件:"开始"->"所有程序"->"CTex"->"WinEdt"
  • 进入菜单 "Tex"->"MiKTeX"->"MiKTeX Options"
  • 进入"roots"标签,勾选"Show MiKTex-maintained root directories",查看"C:\CTEX\UserData"目录是否出现在"Path"框框中。如果有,请忽略本步骤,进入下一步;如果没有,请点击"Add"添加。
  • 进入"General"标签,点击"Refresh FNDB"按钮之后 打个盹或听首歌或看段小视频 whatever
  • 重新启动CTex, 新建文件,输入下面的代码,保存

% small.tex
\documentclass{beamer}%声明文档类型
\usetheme{default}%使用默认主题
\begin{document}

\begin{frame}{A sample slide}

A displayed formula:

\[
\int_{-\infty}^\infty e^{-x^2} \, dx = \sqrt{\pi}
\]

An itemized list:

\begin{itemize}
\item itemized item 1
\item itemized item 2
\item itemized item 3
\end{itemize}

\begin{theorem}
In a right triangle, the square of hypotenuse equals
the sum of squares of two other sides.
\end{theorem}

\end{frame}

\end{document}

  • 执行"TeX"->"PDF"->"PDFLaTeX" 两遍。然后执行"TeX"->"PDF"->"PDF Preview"。
这里有个小例子,基本上下面提到的都包含了。

关于beamer(草稿) - 柒.smilence - on the way.柒

 

 

 

 

 

 

 

 

 

 

 

 

 

基本构成

一个beamer的文件是由一系列的frame组成的,一般而言,一个frame对应一个slide,如果使用了overlay,那么一个frame对应多个slide。slide是什么概念呢?在熟悉的powerpoint中,一个slide相当于一张PPT。由于frame是以\begin{frame}开始,\end{frame}结尾,所以这里沿用latex里“环境”这一说法将frame称为“frame环境”,一个简单的frame环境如下:

\begin{frame} [<alignment>]
\frametitle{Frame Title Goes Here}
Frame body text and/or L AT EX code
\end{frame}

其中,

  • <alignment> 指对齐方式,准确的说是垂直方向上的,即顶部对齐,中间对齐,底部对齐,对应的参数分别为[t],[c],[b]。注意该参数可以省略,默认为中间对齐。
  • \frametitle 顾名思义,这是用来命名该frame的。此外,还可以使用下面的方式来命名frame,个人更倾向于这种方式:

\begin{frame}[<alignment>] {Frame Title Goes Here}
Frame body text and/or LATEX code
\end{frame}

  • Frame body text and/or LATEX code 指实际需要输入的内容


标题页 

所谓标题页,就是演示文档的第一页,通常包括标题,有时候有次标题,作者,单位,日期

\title[short title]{long title}
\subtitle[short subtitle]{long subtitle}
\author[short name]{long name}
\date[short date]{long date}
\institution[short name]{long name}

其中short与long的区别在于:在footline中,如果给了short参数,那么显示的就是short参数;如果没有,那么显示的就是long参数。标题页可以通过命令\titlepage生成

具体看下面这个例子

\documentclass{beamer}
\usetheme{Boadilla}
\usecolortheme{whale}
\title[bt]{things about beamer}
\subtitle[sbt]{simple beamer tutorial}
\author[qi]{qi.smilence}
\date[01/01/12]{Jan. 01, 2012}
\institute[sist]{School of Information Science and Technology}
\begin{document}
    \begin{frame}
        \titlepage
    \end{frame}
\end{document}

效果如下:

image

一般情形下,在标题页不需要给出footline,这可以通过[plain]参数实现,修改上述代码如下

为求简洁,这里仅给出必须的代码段(以下同)
\begin{document}
    \begin{frame} [plain]
        \titlepage
    \end{frame}
\end{document}

效果如下:

image

目录页

目录页可通过相应的命令\tableofcontents生成,在使用的时候,需要结合表示逻辑结构的命令,如\section,\subsection,\subsubsection。需要注意的是,由于上述命令是逻辑层面上的,不属于内容层面,所以不能包含在\begin{frame}和\end{frame}之间

\begin{document}


    \section*{content} %带星号版本的\section*命令表示不计入目录页
    \begin{frame}{content}
        \tableofcontents
    \end{frame}


    \section{section 1}
    \begin{frame}
        content of section 1
    \end{frame}


    \section{section 2}
    \begin{frame}
        content of section 2
    \end{frame}
\end{document}

提示:带有目录的文档必须运行pdflatex命令两次,方能得到正确的目录。

image

点击section1,或者section2,就会跳转到相应的章节。同时注意到,由于不带有[plain]参数,footline又出现了。

\tableofcontents也是可以带参数的,例如

\begin{frame}{content}
        \tableofcontents[pausesections]
\end{frame}

其中[pausesections]表示每个section在目录中是一个接一个出现的,呈现一种动画效果。估计你也没听明白,不过实际操作一下就知道了^^

更多的参数请查阅在开始部分提到的使用手册。


如何设置字体

在导言区加入下列命令\usefonttheme{serif} ,serif表示字体,其他字体有serif,structurebold,structureitalicserif,structuresmallcapsserif,professionalfonts

\documentclass{beamer}
\usetheme{Boadilla}
\usecolortheme{whale}
\usefonttheme{professionalfonts}

\title[bt]{things about beamer}

对齐

前面提到frame中的对齐方式是针对垂直方向的,如果想要实现左对齐或者右对齐效果,可以通过相应的环境实现:

\begin{frame}
       \begin{center}
            center aligned
        \end{center}
        \begin{flushleft}
            left aligned
        \end{flushleft}
        \begin{flushright}
            right aligned
        \end{flushright}
\end{frame}

image

空白距离

可以通过下述命令调整距离,\vskip<number>pt,表示垂直方向(vertical)的距离,而水平方向(horizontal)的距离由\hskip<number>pt调整,单位除了pt也可以用cm。如果number为负值,表示压缩距离。

\begin{frame}
        \begin{center}
            center aligned\\
            \vskip1cm
            center aligned\\
            \hskip20pt center aligned
        \end{center}      
\end{frame}

image

列表环境

常见的列表环境包括 itemize,enumerate,description。

\begin{frame}
        \begin{itemize}
            \item The first item
            \item The second item
        \end{itemize}
        \begin{enumerate}
            \item The first item
            \item The second item
        \end{enumerate}
        \begin{description}

            \item[First Item] Description of first item
            \item[Second Item] Description of second item
        \end{description}

\end{frame}

image

其中enumerate可以带参数,如’i‘,’a‘

\begin{enumerate} [i]
            \item The first item
            \item The second item
\end{enumerate}

overlay

overlay是实现动态效果的关键,其原理跟动画差不多,即多个slide连续播放时,利用视觉残留实现动态效果。其具体实现有3中方式:

  • 利用\pause命令,例如

\begin{frame}
        1\\
       \pause
        2\\
        \pause
        3
\end{frame}

image

image

image

这里一个frame对应3个slide,

第一个slide显示的是第一个\pause之前的内容,即1;

第二个slide显示的是第二个\pause之前的内容,即1,2;

第三个slide显示的是所有内容,即1,2,3

当他们连续播放的时候,就会呈现动态效果。

  • 利用overlay specification,即通过一对尖括号<>括起来的数字表示每次有哪些slide显示出来,例如

\begin{frame}
        \begin{description}
        \item<1->1
        \item<2->2
        \item<3>3
        \end{description}       
\end{frame}

其实现的效果跟上面的差不多

<1->表示从第一个slide开始,就要显示1

<2->表示从第二个slide开始,就要显示2,换句话说此时1和2都会显示

<3>表示在第三个slide上,要显示3,即此时1,2,3都会显示出来

  • 利用beamer提供的命令,如\onslide

\begin{frame}
        \begin{description}
        \onslide<1->{\item 1}
        \onslide<2->{\item 2}
        \onslide<3>{\item 3}
        \end{description}       
\end{frame}

\onslide<1->{\item 1}表示1出现在从第一个slide开始的每个slide上

其他的类似,不多做解释

除了\onslide命令,beamer还提供了其他的类似命令

\only<*>  只在给定的slide上出现,被隐藏时不占据页面空间
\visible<*> 同样只在给定的slide上出现,被隐藏时占据页面空间
\invisible<*> 与\visible相反
\alt<*>{}{} 接收两个参数,分别作为默认参数和普通参数,默认参数出现在给定的slide上,普通参数出现在其余的slide上
\temporal<*>{}{}{} 接收三个参数,第一个参数出现在给定的slide之前的slide上,第二个参数出现在给定的slide上,第三个参数出现在给定的slide之后的slide上
\uncover<*>{}
只在给定的slide上出现,在其他的slide上是透明的,即占据空间

beamer还提供了上述命令相应的环境

onlyenv
altenv
visibleenv
uncoverenv
invisibleenv

最后,specification还能和命令结合使用,例如后面下面例子中的\item命令,或者后面要介绍的\includegraphics命令

下面给出一个例子

\begin{frame}
    \begin{description}
            \alt<2>{\item alt1}{\item alt2} %文本alt1只出现在第二个slide上,文本alt2出现在其他slide上
            \temporal<2>{\item temp1}{\item temp2}{\item temp3}  %文本
            \uncover<2>{\item shown}
            \item<3>{cmd}
    \end{description}
\end{frame}

image

image

image

表格

 表格是通过tabular环境生成的,每一行各个单元格之间通过“&”符号隔开,一行结束后需以“//”作为结尾,每一列的对齐方式通过参数给定,具体见下面的例子

\begin{frame}
        \begin{tabular} {ccc}
            cell 1 & cell 2 & cell 3 \\
            cell 4 & cell 5 & cell 6 \\
        \end{tabular}
\end{frame}

这里制作了一个两行三列的表格,每一列的对齐方式由\begin{tabular}后面的{ccc}给定,即所有的列是居中对齐,类似的,左对齐是“l”,右对齐是“r”。

image

这里的表格是没有边框的,对上述代码稍作修改,添加边框。修改后的代码如下:

\begin{frame}
        \begin{tabular}{|c|c|c|}
            \hline
            cell 1 & cell 2 & cell 3 \\
            \hline
            cell 4 & cell 5 & cell 6 \\
            \hline
        \end{tabular}
\end{frame}

 

image

  评论这张
 
阅读(6691)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017