如何使用latex制作PPT?
又逢一年毕业季。我作为万千毕业生的一员,也开始紧锣密鼓地着手毕业设计的工作。
大半夜的开始写这,我脑子也有点晕晕的,先挖个坑! 坑已填,请放心食用。
使用 latex 写论文
为了使得整体效果更清楚明了,我从 word 转移到了 latex,使用了我校学长制作的模版,刚上手有几个问题:
一每逢双页为空白页,作者说是双面打印设置的问题,在文件中添加 \setboolean{@twoside}{false}
即可解决。
二是文件夹用途,其中 figures
包含论文中的所有图片,作者应该配置过了,在 chapter
文件夹中的所有 tex
文件添加图片时只需要填写文件名即可,不需要考虑路径问题。chapter
的作用很明了,包含不同页面的渲染,值得一提的时里面的 conclusion.tex
需要将 \chapter*{Conclusions}
中的星号去掉,否则无法生成最后的目录,因为不知道总结在第几章节。最后 bib
文件夹,里面只包含了 tex.bib
文件,我只需要把谷歌学术里面的 bib 格式的引用复制下来就好了。
三是由于不明原因,在 mac 上采用 VScode 中的 Latex Workshop 插件,对于整体目录的渲染有时是存在问题的(抽风机),对于引用是一直存在的问题(ref编号会变成问号),而通过本地编译导出的 pdf 倒是没问题。
不过 Latex Workshop 功能还是非常强大呀!插件的渲染是实时更新的,并且在报告中引用的图片可以通过鼠标悬浮在图片名称上预览。
第一次遇到需要一堆 latex 文件联合起来渲染的情况,还挺多东西需要摸索。比如章节里面通过 \chapter{章节名}
、\section{小节名}
、\subsection{子小节名}
来梳理文章结构,正文部分 main.tex
采用 \include{}
按顺序来引入不同的章节。
目前我只是遇到啥问题去思考啥问题,没有去了解 latex 编译系统性项目的原理和语法格式,通过这个项目,我也了解到 latex 有不止一种的编译器,不同的编译器有不同的规则,我还对此挺好奇的,以后要是研究了写一篇文章整理整理。
题外话:前几天无意中看到一个图灵奖获得者 Donald Knuth(很多知名书籍的作者!),同时也是 TeX 排版系统的发明者。再一次受到了震撼,优秀的人,在生活上遇到了问题(Knuth 不喜欢新的排版系统),不是想着去回避或者留给别人解决,而是自己去研究和探索!我觉得这是每一个科研人员应该具备的精神!
学长制作的论文格式里,不允许目录有跳转行为,但我个人希望能跳转(没查到我校关于英文论文格式的规定,不知道符不符合要求😅),只需要设置两个地方:在 sustcthesis.cls
里面把 linkcolor=red
改为黑色;然后注视掉 main.tex
中的以下内容:
\makeatletter
\let\Hy@linktoc\Hy@linktoc@none
\makeatother
大功告成!
beamer 使用指南
前面是一堆冗长的关于我用 latex 写论文的一些心得,终于进入正题。初次接触用 latex 制作的 PPT 是在人工智能的 tutorial 课上,助教每次提供的幻灯片以蓝色为底,整整齐齐的,当时就觉得好漂亮!由于这次答辩我需要用到很多公式,所以用 latex 制作PPT再合适不过了!我最开始去 github 搜了搜模版,找到了敲定了这家,我很喜欢他们家的姨妈红。
beamer 介绍
Beamer 是一个用于创建演示文稿 LaTeX 的文档类。它同时支持 LaTeX + dvips、pdfLaTeX、LuaLaTeX 以及 XeLaTeX。
它由 Till Tantau 在2003年2月准备博士论文答辩时创建,并在一个月之后发布在 CTAN 上
Beamer 兼容LaTeX常见的命令,和其他宏包的兼容性良好。当然也有支持 Beamer 语法的图形界面,如 AUCTEX 和 LyX。Beamer也可以通过使用兼容包来支持其他LaTeX演示文稿宏包的语法,包括 Prosper 和 Foils。
Beamer 版本的hello, world
\documentclass{beamer} %使用beamer文档类
\begin{document}
\begin{frame} %frame:新建一个幻灯片
hello, world
\end{frame}
\end{document}
我们可以把 document
看作一份 PPT,frame
看作一份 PPT 中的每一页。
在 Beamer 文档中,可以用 \part
、\section
、\subsection
等结构命令,但是不能用 \chapter
。
使用中文字符
引入 ctex
或者是 ctexcap
宏包:
\usepackage[UTF8,noindent]{ctexcap}
其中 noindent
是为了阻止 ctex
宏包引入的段前缩进(默认设置)。像论文报告的撰写需要缩进,而 PPT 就没必要了。
PPT frame 的基本设置
第一页:
\title {设置标题}
\subtitle {设置小标题}
\author {设置作者}
\institute {设置学院机构} % 我在模版里写作 \institute[机构缩写]{邮箱}
\date {设置日期}
⚠️ 上述内容建议放在导言区,在相应的帧插入 \titlepage
,但也可以直接插入相应的帧。
标题:
\begin{frame}{标题}{小标题}
% 内容
\end{frame}
或
\begin{frame}
\frametitle{标题}
\framesubtitle{小标题}
% 内容
\end{frame}
插入目录帧
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
而放在目录的每一个小节可以用 \section
来划分,和写文档一样。目录最后显示的内容就是每一个 section 的标题。
可以通过设置 \tableofcontents[hideallsubsections]
选项表示不显示小节标题。
⚠️ 我编译出来的 pdf 总是存在目录消失的情况,不知道在 \tableofcontents
前面预先放好每小节的信息会不会 OK? 经测试,渲染依然不定期抽风,暂时无解。
2020/3/29, 22:21 update: 经查明,这是我自己的问题。原来的代码中有很多错误,把错误修正之后就没问题了。有一个错误是没有引入宏包,复杂的多项合并的表格需要使用 \usepackage{multirow}
,难怪我当时的表格怪怪的,还有数字…
插入列表元素
论文的总结部分总是避免不了1234…
\begin{enumerate}
\item
\item
\item
\end{enumerate}
以上时带编号的元素,如果不需要编号,使用
\begin{itemize}
\item
\item
\item
\end{itemize}
主题
我的毕设主题是这样的:
为了实现这样的风格,设置如下:
\usetheme{CambridgeUS}
内部主题
内部主题主要控制的是标题页,列表项目、定理环境、图表环境、脚注在一帧内的内容格式。
预定义的内部主题格式有default、circles、rectangles、rounded、inmargin等。
命令:\useinnertheme
外部主题
外部主题主要控制的是幻灯片顶部尾部的信息栏、边栏、图标、帧标题等一帧之外的格式。
预定义的外部主题有default、infolines、miniframes、smoothbars、sidebar、split、shadow、tree、smoothtree等。
命令:\useoutertheme
色彩主题
色彩主题控制各个部分的色彩。
预定义的色彩主题包括default、albatross、beaver、beetle、crane、dolphine、dove、fly、lily、orchid、rose、seagull、seahorse、sidebartab、structure、whale、wolverine等。
命令:\usecolortheme
字体主题
字体主题则控制幻灯片的整体字体风格。
预定义的beamer字体主要包括default、professionalfonts、serif、structurebold、structureitalicserif、structuresmallcapsserif等。
其中默认字体主题default的效果是整个幻灯片使用无衬线字体,这是多数幻灯片的选择;
serif主题则是衬线字体,不过此时最好使用较大的字号和较粗的字体;
professionalfonts不对字体有特别的设置,需要使用另外的专门的宏包进行设置;
structure开头的几个主题则对beamer中的几个结构有特别设置。
例如:arev宏包,这个宏包是专门为制作幻灯片设计的无衬线字体包,对正文字体和数学字体都有详细的调整,因此不需要对beamer做额外的设置。
命令:\usefonttheme
插入图片
首先在开头引入 graphicx
宏宝,即:
\usepackage{graphicx}
在插图的地方引入以下代码即可:
\begin{figure}
\centering
\includegraphics[height=0.5\textheight]{picture.jpg}
\caption{图片名称}
\end{figure}
beamer还提供了一个\logo命令,把一个较小的图标放在幻灯片的角落里面,可以用它来放置校徽、公司商标等内容。
\logo命令一般放在导言区,如果有一张图片名为logo.pdf,那么可以引入
\logo{\includegraphics{logo.pdf}}
来插入它。
插入表格
在导言区插入 \documentclass[table]{beamer}
随后在需要插表的地方使用以下代码:
\rowcolors{2}{craneorange!25}{craneorange!50}
\begin{tabular}{r|r|r}
\rowcolor{craneorange}直角边 $a$ & 直角边 $b$ & 斜边 $c$\\
3 & 4 & 5 \\
5 & 12 & 13 \\
7 & 24 & 25 \\
8 & 15 & 17 \\
\end{tabular}
上述代码的解读:
首先表格的行是由两种颜色组成的。它的色彩主题是在crane下的。25表示的是颜色的浓度值,越小的话颜色越淡。表示是两行交错的颜色。
表格的基本结构
\begin{tabular}... \end{tabular}
{r|r|r}
表示的意思是这个表格有三列,中间有两个竖线做划分。里面的内容是靠右的。当然,如果你需要表格的内容靠左,你就可以写为{l l l}
&
可以看做是每个参数之间的一个划分
插入区块等元素
区块环境
\begin{block}{标题}
区块中的内容
\end{block}
提醒环境
\begin{alertblock}{标题}
提醒的内容
\end{alertblock}
例子环境
\begin{exampleblock}{标题}
例子内容
\end{exampleblock}
定理环境
\begin{theorem}{标题}
定理内容
\end{theorem}
各种可用的定理类环境有这些:theorem、corollary、definition、 definitions、fact、lemma、example 和 examples。
在 Beamer 中定理名默认是英文显示的,如果要改为中文显示,还需要其他的处理。
证明环境
\begin{proof}{标题}
证明的内容
\end{proof}
内容位置摆放
在 Beamer 的每张幻灯片中,正文内容默认是竖直居中的。
如果你想要竖直居上,只要在文档类中加上
t
选项就可以了,即: \documentclass[t]{beamer}如果你只需要让某张幻灯片的正文内容竖直居上、居中或者居下,可以在 frame 环境中分别加上
t
、c
或者b
选项。例如:
\begin{frame}[b] Hello Beamer from the Bottom! \end{frame}
加入空行
使用以下代码:
\hspace*{\fill}
总结
这篇文章介绍了有关 beamer 的简单使用,顺带穿插了使用 latex 写文稿的一些事儿。之后也许会深入有关 beamer 的制作问题,我有个设计我校毕业答辩模版的想法。同时有关 latex 的探索不会止步,毕竟它看起来还挺深奥的,之后预计会以“问题-解决方案”的思路来发相关文章。
参考资料
因为也不是什么深入学习 latex 语法,我就先参考参考博客,不是专业的资料,若有错误,请多指教!