做幻灯片是一件头疼的事。而用latex做幻灯片是一件很头疼、很头疼、cdots、很头疼的事……总结和收集了一些经验如下:

beamer教程
  • 有很多教程。对于初学者,最好先copy别人(比如师兄师姐的)模板用,或者直接看beamer的例子,C:CTeXtexmfdoclatexbeamerexamples。入门后,我觉得最好的提高教程是Ki-Joo Kim的Beamer v3.0 Guide,本身就是一个幻灯片,写的很清楚,看得也很爽。最后是beamer的用户手册,参考用。
中文幻灯片
  • 一定要定义documentclass[cjk]{beamer},别忘了“cjk”,否则编译不通过
pdf书签中文乱码
  • 这是做中文幻灯片时必然遇到的问题……
    在Adobe Reader中,显示在一旁的书签(Bookmark)是Unicode的。这样一来,如果单纯是使用pdflatex生成pdf将会显示乱码。所以,若要生成中文的Bookmark就需要执行如下命令:
    pdflatex slide.tex
    pdflatex slide.tex
    gbk2uni slide.out
    pdflatex slide.tex
    注:gbk2uni是cct的一个小工具。
改变文字颜色
  • textcolor{blue!80!white}可以调色,这是xcolor包的一个功能。
    在WinEdt中要查看任何一个package的用户手册,可以在菜单中选Help-Latex doc,然后输入包名即可。
lyx:可见即所得的Latex编辑器
  • 每个frame里几乎都要敲一遍begin{itemize}end{itemize;思考若干秒后决定再敲一遍(因为要缩进其中的几个item);再思考若干秒后把刚敲的这两行删掉(取消缩进)……用beamer就是这么痛苦。想想powerpoint,只要按Tab和Shift+Tab……于是我装了Lyx。虽然它其实还是很难用。下面是Lyx的几个经验:
  • 导入中文latex源文件前,应在latex源文件中写usepackage[gbk]{inputenc}指定编码,否则导入后是乱码
  • Document-preferences-language改为中文,否则查看源码时有很多解码错误
  • 总的来说,还是不建议用Lyx,没有想像中得那么好。
WinEdt宏
  • 为了从上面描述的重复劳动中解脱出来,我花了点时间看了看WinEdt的宏语言手册,写了几个简单的宏,发现还是挺好用的。
  • 为当前选中的文本增加一层itemize环境: BeginGroup;
GetSel(0,1);
CMD("Delete");
Ins("begin{itemize}");
NewLine;
Ins("%!1");
NewLine;
Ins("end{itemize}");
NewLine;
EndGroup;

  • 原理很简单,把当前选中文本保存到变量%!1中,删除当前文本,然后插入适当的文本。
  • 删除当前选中文本最外层的itemize环境:
    DelLabel("","begin{itemize}","end{itemize}");
    就这一行。注意,一定要保证当前选中的文本中的头尾刚好是一对begin{itemize}和end{itemize}。
  • 自动插入任意的环境
GetString("Input environment name:","Surround By"); // input string is saved in %!?
BeginGroup; 
GetSel(0,1); // save current selection in %!1
CMD("Delete");
Ins("begin{%!?}");
NewLine;
Ins("%!1");
NewLine;
Ins("end{%!?}");
IfStr('%!1','','=', "CMD('Line Up')", 'Relax'); // move one line up if current selection is empty (i.e. inserting a new environment)
EndGroup;

  • 这个宏首先会提示你输入环境名,然后自动在当前选中的文本前后插入begin{xxx}和end{xxx}。
  • 安装宏的方法
    Help-Macro Manual,第一页就讲了这个,配了图,可能比我说的更清楚。不过这里还是大致说一下:首先把上面几个宏分别保存为.edt类型的文件,复制到WinEdt文件夹下面,例如C:CTeXWinEdtMacros。然后在Options-Menu setup-Popup menus里面,选择左边的“Edit”一项,然后按上面的第二个按钮,出现新的对话框,在这里可以修改右键弹出菜单的内容,再按最上面第二个按钮,选Macro,这样就添加了一个菜单项,给它起个名字”Insert Environment“,然后在Macro编辑框中输入[Exe('%bMacrosInsert Environment.edt');],确定后即可在右键弹出菜单里用这个新命令了。安装其他宏的方法类似。

总结:自己动手,丰衣足食。其实早就该学一下WinEdt的这些高级功能,可以节约不少时间……