用latex和beamer做幻灯片

时间:2022-05-05 19:28:03

做幻灯片是一件头疼的事。而用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的这些高级功能,可以节约不少时间……

 

zz from http://xiang.blog.edu.cn/2008/157618.html