Beamer学习笔记

原文链接http://hi.baidu.com/dillisbest/blog/item/21c88219bb60b90034fa415b.html


这次的演讲全部用Beamer重做,除主文件,样式文件外,根据演讲的主题的不同,分成了好几个文件,编译成PDF后,一共128页,没有什么炫的技术,但是相比以前花了N多心思做的PPT,看上去要专业很多。现在基本上能用Beamer做出我需要的简报了,也有一些学习的记录,贴出来和大家共享。

使用Beamer,首先需要申明文档类型为beamer,最简单的当然是
documentclass{beamer}

不过这样子的话,基本你编译不出PDF,即便能编译出来,那查看PDF时,也会报错。

它带来大量的可选参数,有些其实是必须的,特别是在中文环境下,我这里不再使用LaTeX-CJK宏,而是直接采取XeTeX方式编译,因此下面所讲,均是针对XeTeX-LaTeX环境编译的。

我目前学到的参数有下面这些
documentclass[dvipdfm,dvipsnames,xcolor=pdflatex,table,handout,draft,red,compress]{beamer}
%dvipdfm是关键,否则要么编译通不过,要不生成的pdf无法打开
%xcolor=pdflatex选项使得xcolor宏包可以使用,表示xcolor的颜色驱动选择
%dvipsnames表示可以使用预定义的颜色名字,比如RoyaBlue
%table是告诉xcolor宏包colortbl宏包需要加载
%xcolor会自动加载,不需要手工显式调用
%handout 处理传单形式,加上这个参数后,overlay,也就是动画效果会去掉,比如你逐项显式的内容,会在一个PDF页面上显示。
%draft 草稿模式,在撰写的过程中,可以加入这个参数,主要加快编译速度,不过在我使用的过程,也发现了一些问题。因为draft模式会省去头,尾和侧边栏,所以 填写的地方显得大一些,当你按照这个宽度和高度撰写内容后,再去掉draft编译,就会发现很多内容看不到了,因为显示内容的面积变小了。
%red显示指定页面头,尾或侧边栏的颜色
%compress尽量压缩侧边栏

接下来设定简报的风格,我用到了三个命令
usepackage{beamerthemesplit}
usetheme{Berkeley}
usecolortheme{dolphin}

这些主题和颜色,你可以从$TEXMF/tex/latex/beamer/下找到,自带的主题还是比较多,不过我没有一一查看到底每一个主题是什么样子。

接着调用fontspec包,这是XeTeX所必须的,用来设定你需要的字体
usepackage{fontspec}

下载你可以设置字体了,Beamer默认使用Sans family字体,因此你至少需要设定Sans family字体,我一般使用下面的命令:
setsansfont{SimSun}
当然你还可以设定一些其他字体,比如罗马字体
setromanfont{Times New Roman}

从别的地方还看到有下面的字体设置方法,不过我很少使用
%设置字体时也可以直接用字体名,以下三种方式等同:
%setromanfont[BoldFont={黑体}]{宋体}
%setromanfont[BoldFont={SimHei}]{SimSun}
% setromanfont[BoldFont={"[simhei.ttf]“}]{”[simsun.ttc]“}

如果是撰写中文简报,还需要下面两行命令:
XeTeXlinebreaklocale “zh”   % 表示用中文的断行
XeTeXlinebreakskip = 0pt plus 1pt % 多一点调整的空间

如果没有这两行,编译出来的PDF会很丑,当然这其实和Beamer无关,是XeTeX的问题,只要使用XeTeX,不管是用哪种文档样式,只要涉及到中文,均需要使用上面两行命令。

现在可以开始撰写简报,首先使用我们熟悉的 itle,author,date定义必要的信息。然后针对每一个幻灯片,Beamer使用
egin{frame}
end{frame}
来定义,几种绝大部分LaTeX的命令都可以使用。

当然 egin{frame}也可以带一些参数,我仅列出我使用到的

egin{frame}[shrink=5]

当frame的内容不能在单个frame下存放时,就会把文字大小缩至少指定数的百分比,不建议使用这个参数。

egin{frame}[<+->]

[<+->]会自动逐条显示内容,而不需要使用<1->,<2->这样的流水

egin{frame}[fragile] / egin[containsverbatim]{frame}
在Beamer文档样式下,verbatim环境不能直接使用,需要用到上面两个参数之间的一个,为了找到这个参数,花了不少时间。

上面的情况,虽然可以使用verbatim环境了,但是如果在verbatim里使用中文还是看不到,需要使用到下面的命令:
makeatletter
defverbatim@font{sffamily} %如果使用roman字体族,将sffamily改成rmfamily
makeatother

egin{frame}[allowframebreaks,allowdisplaybreaks]
当一个frame过长时,会自动打破为成为多个frame,这个参数绝对有用,这个参数也花了我不少时间找到它。

上面这些是不太容易从Beamer的手册中找到,所以列了出来,其他的一些功能,比如怎么设置动态效果呀,怎么插入图片呀,都从手册上能找到,而且也和LaTeX基本相同。

另外,我在使用Beamer的过程中,还简单学会了用TiKZ画图,比如我要解释Linux文件系统布局图,类似下面这样:


就可以使用下面的命令:

 egin{tikzpicture}[auto,thick]
ikzstyle{node}=%
[%
minimum size=10pt,%
inner sep=0pt,%
outer sep=0pt,%
%ball color=example text.fg,
% circle%
]


ode [node] {/} [-]
child {node [node] {root}
edge from parent node {}
}
child {node [node] {home}
child { node [node] {wgzhao} edge from parent node[swap] {}}
edge from parent node{}
}
child {node [node] {bin}
edge from parent node[swap]{}
}
child {node [node] {sbin}
edge from parent node{}
}
child {node [node] {usr}
child { node [node] {share} edge from parent node[swap] {}}
child { node [node] {lib} edge from parent node[swap] {}}
child { node [node] {include} edge from parent node[swap] {}}
child { node [node] {bin} edge from parent node[swap] {}}
child { node [node] {sbin} edge from parent node[swap] {}}
edge from parent node{}
}
child { node [node] {lib}
edge from parent node{}
}
child {node [node] {...}
edge from parent node{}
};

end{tikzpicture}

看上去很复杂,其实仔细看,逻辑比较清楚,基本上是用自然语言来告诉TikZ如何绘图,典型的UNIX哲学。

OK,上面差不多是我这段时间找到的比较有用的一些信息,我把这些单独保存在一个tex文件里,防止自己忘记某些指令后,又需要花费大量时间去寻找,最后,我提供这个tex,和大家分享。

example.tex.gz


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值