标签归档:Beamer

Beamer中使用常用的数学公式字体

Beamer中数学公式所默认使用的字体与一般文章中的不同,看上去很不习惯。
如果希望使用常用的数学公式字体,在老版本的Beamer中可以这样:

1
\documentclass[mathserif]{beamer}

1
\documentclass[professionalfont]{beamer}

新版本的Beamer放弃了这一做法,改用:

1
\usefonttheme[onlymath]{serif}

1
\usefonttheme{professionalfonts}

啥时候改的我也不知道,今天编译的时候总是报Warning,就看了一下log文件。

Beamer中自定义定理环境的风格继承问题

为了修改定理环境的标题,我们需要使用
\newtheorem{liti}{例}[section]
这样的命令重新定义一个新的环境。但是这样定义的liti块的风格是与theorem块相同,而不是我们想要的exampleblock的风格。

要想继承原有的block风格,先用
\theoremstyle{example}
命令切换成exampleblock的风格,再定义新的环境liti
\newtheorem{liti}{例}[section]
这样出来的块就和exampleblock的风格完全一致。

其他细节参见beamerbasetheorems.sty这个文件。

几则Beamer技巧

1、列目录时,隐藏所有的小节
\tableofcontents[hideallsubsections]

2、自动压缩,以显示全部内容
\begin{frame}[shrink]

3、在每一节(或小节)前增加目录
命令\AtBeginSection[]{}和\AtBeginSubsection[]{}。比如下面两个命令可以实现在每一节前显示文档目录,隐藏所有小节标题,并高亮当前节标题,而在每一小节前显示的目录中,只会显示本节的小节标题,并高亮当前小节标题,其他节的小节标题不显示,只显示节标题。
\AtBeginSection[]
{
    \begin{frame}
        \tableofcontents[currentsection,hideallsubsections]
    \end{frame}
}
\AtBeginSubsection[]
{
    \begin{frame}
[shrink]
        \tableofcontents[sectionstyle=show/shaded,subsectionstyle=show/shaded/hide]
    \end{frame}
}

4、frametitle的两种写法
\begin{frame}
  \frametitle{标题}
\end{frame}

\begin{frame}{标题}
\end{frame}

btw: 其实这些技巧在手册中都有,只是手册太长,一直没有完整的读过。结果每次都有新发现。喜欢Beamer,不单因为Beamer确实比较方便、漂亮,更重要的是Beamer的作者对于幻灯片的制作和使用有自己独到的见解。内容的组织,颜色的搭配,时间的控制,都有所涉及。让人感觉非常专业,自然产生一种信任。

Beamer文档中添加PDF文档信息(PDF document information)

默认参数下,Beamer宏包可以将文档的\title{}和\author{}字段的内容自动加入PDF文档信息(PDF document information)的相应字段中,如果还想添加主题和关键字等信息,可以使用\subject{}和\keywords{}命令。但是由于Beamer用的是hyperref宏包来实现这些功能,而hyperref宏包的这一功能并不支持中文。所以,如果你的幻灯片是中文标题、中文作者,那么PDF文档信息中将出现乱码。

一个可以接受的解决方案是,正文中仍然使用中文,但向PDF文档信息中添加英文信息。要实现这一点并不难,只需要先禁止Beamer自动添加这些信息,再由手工添加即可。具体做法如下:

  1. 使用参数usepdftitle,禁止Beamer自动添加这些信息,比如这样:\documentclass[usepdftitle=false,mathserif]{beamer}
  2. 手工添加相应信息,比如这样:

\hypersetup{CJKbookmarks=true,%
                pdftitle={Computer Simulation},%
                pdfauthor={Mao Ziyang},%
                pdfcreator={amao@ai7.org},%
                pdfsubject={Computer Simulation},%
                pdfkeywords={simulation}
                }

关于\hypersetup命令的其他信息,请参考:使用pdfLaTeX时,添加PDF文件属性的方法