连享会工具:Beamer幻灯片制作

发布时间:2021-08-04 阅读 4023

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:胡丽条 (南京大学)
邮箱litiao_hu@outlook.com


目录


1. 简介

LaTeX 是一款权威的论文排版软件,很多国外的学术期刊都使用 LaTeX 进行排版 (如 AEA、JFE、JDE、JHE 等)。当然,LaTeX 也可以用来排版书籍和制作幻灯片等。

Beamer 是 LaTeX 中用于制作演示文稿的包,可以制作出各种风格的幻灯片 (PDF),比如简洁的、绚丽的、学术的。并且 Beamer 排出的公式非常漂亮,能自动对齐、默认行距,还可以自动编号。在数学、统计和数理经济等需要使用大量公式的专业,Beamer 相比 PowerPoint 具有更大的优势。

2. LaTeX 安装

TeX Live 是 LaTeX 的一个发行版,适用于 Windows 和 Linux 系统,但是它的安装包足足就有 4 个 G 左右。不过,也可以安装其他发行版,诸如 CTeX、MacTeX、MiKTeX 和 TinyTeX 等等,它们的安装占用的内存就会小很多,也比较便捷。如果安装的是 TeX Live,可以再安装 TeXstudio 作为编辑器写 LaTeX 文档。TeX Live 和 TeXstudio 的安装教程,详见「TexLive 和 Texstudio 安装配置」

我个人用的是 CTeX 和 CTeX 自带的编辑器 Texworks 或 WinEdt。下载地址为「CTEX : HomePage」

3. 代码架构

\documentclass{beamer}
\usepackage{包的名称}
\usetheme{主题名称}
\usecolortheme{颜色主题名称}
\usefonttheme{字体主题名称}

\begin{document}
   标题、作者、单位和日期等信息
\begin{frame} 
   幻灯片内容
\end{frame}
......
\begin{frame} 
   幻灯片内容
\end{frame}
\end{document}

其中,

  • \documentclass{beamer} 是在设定文档的格式为 Beamer 格式的演示文稿;
  • \usepackage{} 用以调用 LaTeX 中的包,如果文档中包含中文字符,则需要调用 ctex 包,才能正确地输出中文;
  • \usetheme{}\usecolortheme{}\usefonttheme{} 分别用于设定主题、颜色主题和字体主题。

4. 主题设置

相关设置包括内部、外部、色彩、字体主题,主要命令如下:

\usetheme{CambridgeUS}
\usefonttheme{default}
\usecolortheme{default}
\useinnertheme{default}
\useoutertheme{default}

进一步的设置可以参考「beamer 主题和配色方案」

对于不同的主题,我们有很多模板可以选择。在安装好 CTeX 后,安装目录 (...\CTEX\MiKTeX\tex\latex\beamer\base\themes) 下就自带了一部分的模板。但是,我们并不能直观地看到每个模板的风格,必须使用 tex 文档编译生成 PDF 后才能可视化,这样效率太低。「Beamer theme gallery」「beamer-theme-matrix」 等网站已经做好了可视化,我们可以按主题、颜色、字体等查看,这大大提高了效率。除 CTeX 自带的模板,我们可以自制 Beamer 模板,也可以使用网上写好的模板。

5. 封面页的制作

封面页主要包含标题、作者、单位和日期等信息,将 {} 内的内容替换为自己需要的信息即可,具体代码如下:

\title{Beamer 模板}
\subtitle{利用已有主题实现自己的主题}
\author[姓名]{胡丽条 \\\zihao{6} \{\href \\
       {mailto:litiao_hu@outlook.com}{litiao\_hu@outlook.com}}
   \quad \\\vspace{0.5cm} 导师:毕军\quad\zihao{6} \\
       {教育部长江学者特聘教授}}
\institute[江苏南京,南京大学]
{
 南京大学环境学院\quad污染控制与资源化研究国家重点实验室 \\
 环境规划与管理专业\quad环境风险与应急管控方向
}
\date{\today}
%显示封面页
\begin{frame}
    %\maketitle
    \titlepage
\end{frame}

6. 内容页的制作

将内容放在 \begin{frame}\end{frame} 之间就可以呈现了,但设置目录的时候除外。

6.1 设置目录

总目录的设置:主要有以下两种方法:

  • 第一种:在 document 内部的靠前部分加入如下代码,然后再在每节前加 \section{小节名称}
\begin{frame}
 \frametitle{总目录}
 \begin{multicols}{2}
  \tableofcontents[hideallsubsections]
 \end{multicols}
 %\tableofcontents[hideallsubsections]
\end{frame}
  • 第二种:在目录页直接设置好内容。用 \section{} 设置每一小节的内容,再使用 \tableofcontents 插入每一节的内容。需要注意的是,\section{} 要放在 frame 的框架外。
\section{背景}
\section{方法与数据}
\section{结果与讨论}
\section{结论}
\begin{frame}{目录}
	\tableofcontents
\end{frame}

章节目录的设置,在每小节前放一个目录,会自动跳转。与上文类似,在 document 内部的靠前部分加入如下代码:

\AtBeginSection[]
{
 \begin{frame}
 \frametitle{章节目录}
 \begin{multicols}{2}
  \tableofcontents[currentsection]
 \end{multicols}
 \end{frame}
}

6.2 设置列表

无序列表,基本代码如下所示:

\begin{itemize}
\item %输入的内容
\end{itemize}

具体示例:

\begin{frame}
 \frametitle{列表}
这是无序列表的样式,及逐条展示的功能。
 \begin{itemize}
 \item 无序列表标号1
 \pause    %% 放映的停顿,去掉之后标号1、2就不会分开放映
 \item 无序列表标号2
 \end{itemize}
\end{frame}

有序列表,基本代码如下所示:

\begin{enumerate}[<+-|alert@+>]
 \item %输入的内容
\end{enumerate}

具体示例:

 \frametitle{有序列表}
这是有序列表的样式及一次性的逐条展示功能。
 \begin{enumerate}[<+-|alert@+>]
 \item 这是1
 \item 这是2
 \end{enumerate}

6.3 插入定理公式

带编号的定理公式,基本代码为:

 \begin{equation}
  %插入定理公式
 \end{equation}

具体示例:

\begin{frame}
 \frametitle{带编号的公式}
现在展示一个带编号的公式:
 \begin{equation}
 f(x) = \frac{\mathrm e^{2x}}{\sin x}
 \end{equation}
\end{frame}

不带编号的定理公式,基本代码为:

\[
%定理公式
\]

具体示例如下:

\begin{frame}
 \frametitle{不带编号的公式}
 另外再展示一个不带编号的公式。
\[
\mathrm e^{\mathrm i \pi} + 1 = 0
\]
\end{frame}

6.4 插入图表

插入图片,首先在 \begin{document} 之前加入宏包,代码如下:

\usepackage{graphicx}
\usepackage{caption} %添加图、表的标题

然后在内容部分插入如下代码:

\begin{figure}
\centering
\includegraphics[height=4cm, width=4cm]{file-name}  
%需提前将图片文件放到`.tex`文件中,文件名使用英文
\caption{图片}
\end{figure}

插入表格,在导言区部分加上 \documentclass[table]{beamer} ,基本代码为:

\begin{tabular} ... \end{tabular}

具体案例如下:

\begin{frame}
\rowcolors{2}{craneorange!25}{craneorange!50}
\begin{tabular}{r|r|r}  
%表格有三列,中间有两个竖线做划分,内容是靠右的。如果改为{l l l}就是靠左。
\rowcolor{craneorange}直角边 $a$ & 直角边 $b$ & 斜边 $c$\\
3 & 4 & 5 \\
5 & 12 & 13 \\
7 & 24 & 25 \\
8 & 15 & 17 \\
\end{tabular}
\end{frame}

6.5 设置引用

脚注引用,在 begin{document} 前加:

%不列出所有作者
\usepackage[backend=bibtex,sorting=none]{biblatex} 
%\usepackage[backend=bibtex,sorting=none,maxnames=9,
%minnames=3]{biblatex} 
%列出所有作者,具体选择列不列可以由其前的“%”来决定
\addbibresource{ref.bib} %BibTeX数据文件及位置
\setbeamerfont{footnote}{size=\tiny} %设置脚注引用文献的字体大小

在文中引用脚注

\footfullcite{bib_item} %文献item

幻灯片最后一页的参考文献,假设有 beamer.tex 文件,在同目录下新建 beamer.bib 文件 (其实只是纯文本,特殊后缀而已)。

begin{document} 前加:

%设置参考文献图标样式数字标号
\setbeamertemplate{bibliography item}[text] 

插入参考文献:

%添加allowframebreaks为了解决参考文献太多而溢出的问题
\begin{frame}[allowframebreaks] 
 \frametitle{参考文献}
 \nocite{*} %否则只生成第一个文献
 \printbibliography %需提前建立参考文献的Tex文件
\end{frame}

关于 bibtex 引用格式的获取,直接从文献下载网站上 (Google Scholar、中国知网、百度学术等) 搜引文题目,导出为 bibtex 格式。

6.6 设置动画

这里列出一些比较基础的动画命令,供大家入门使用,如果需要更高级的方法可以自行搜索,网上有很多教程。

  • \pause:幻灯片在此处会停顿,点击后才会显示下一条;
  • onslide:指定内容在一帧中的第几步显示。但不显示的内容还占用它原来的位置;
  • onlyonslide 相似,但不显示的步骤没有额外的占位,可以实现带内容替代的效果;
  • \uncover\visible\invisibleonslide 差不多,只是用不同的方式隐藏文字;
  • \alt 分别设置在指定步骤和步骤外的内容;
  • \temporal 可以分别指定直到哪个步骤与此步骤前后的内容。
\begin{frame}{动画效果展示}
	\onslide<1>{只有第一部}
	\onslide<2->{第二部之后}
	\onslide<1,3>{第1,3两步}
\end{frame}
  • item<> 列表分条展示
\begin{frame}{动画显示}
  \begin{itemize}
    \item<1->显示列表一
    \item<2->显示列表二
    \item<3->显示列表三
  \end{itemize}
\end{frame}
\begin{frame}
\begin{itemize}[<+->]
\item 开始显示
\item 其次显示
\item 最后显示
\end{itemize}
\end{frame}

7. 推荐一些网站或模板

如果想深入学习如何制作幻灯片,可以进一步查阅:

8. 完整命令

%43是幻灯片比例4:3,同理如果想设置16:9的格式则用169即可
\documentclass[aspectratio=43,19pt, utf8, mathserif]{beamer}
%\documentclass{beamer}    %使用默认的格式
\usepackage{amsmath, amsfonts, amssymb, amsthm}
\usepackage{graphicx}
\usepackage{ulem} %解决下划线换行紊乱
\usepackage{caption} %添加图、表的标题
\usepackage{subfigure}
\usepackage{theorem}
%---------------------设置脚注引用参考文献----------------------
%不列出所有作者
\usepackage[backend=bibtex,sorting=none]{biblatex} 
%\usepackage[backend=bibtex,sorting=none,
%maxnames=9,minnames=3]{biblatex} 
%列出所有作者,具体选择列不列可以由其前的“%”来决定
\addbibresource{ref.bib} %BibTeX数据文件及位置
\setbeamerfont{footnote}{size=\tiny} %设置脚注引用文献的字体大小
%---------------------设置文末参考文献格式-----------------------
%设置参考文献图标样式数字标号
\setbeamertemplate{bibliography item}[text] 
\usepackage{appendix} %增加附录
\usepackage{multicol} %分栏
\usepackage{syntonly} %只编译文件是否成功,省时省力
%\syntaxonly %不注释代表只编译是否成功
%\usepackage[marginal]{footmisc} %首页添加脚注无缩进
%\renewcommand{\thefootnote}{} %首页添加脚注无编号
\usepackage{enumerate}
\usepackage{listings} %代码包
\usepackage{xcolor} %代码高亮包
\lstset{
 language=Matlab, %代码语言使用的是matlab
 %frame=shadowbox, %把代码用带有阴影的框圈起来
 %rulesepcolor=\color{red!20!green!20!blue!20}, %代码块边框为淡青色
 keywordstyle=\color{blue}\bfseries, %代码关键字的颜色为蓝色,粗体
 %设置代码注释的颜色,原字体样式\textit
 commentstyle=\color{orange}\ttfamily, 
 backgroundcolor=\color{darkgray!6}, %背景色
 showstringspaces=false, %不显示代码字符串中间的空格标记
 numbers=left, %显示行号
 numberstyle=\tiny, %行号字体
 basicstyle=\ttfamily,
 stringstyle=\ttfamily, %代码字符串的特殊格式
 breaklines=true, %过长的代码自动换行
 %解决代码跨页时,章节标题,页眉等汉字不显示的问题
 extendedchars=false,  
 %防止中文报错
 escapebegin=\begin{CJK*}{GBK}{hei},escapeend=\end{CJK*} 
 texcl=true,
 %设置更多关键词
 morekeywords={classdef,function,global,parfor, \\
              persistent,spmd,plot}} 

%使用的主题样式和主题色
\usetheme{Antibes}
\usecolortheme{beaver}
%已有的字体default professionalfonts serif 
%structurebold structureitalicserif structuresmallcapsserif
\usefonttheme{serif} 

\usepackage[UTF8,noindent]{ctexcap}
%\usetheme{CambridgeUS}
\usetheme{AnnArbor}
%\usecolortheme{beaver}
\usefonttheme{serif}

%设置用acrobat打开就会全屏显示
\hypersetup{pdfpagemode=FullScreen}

%设置logo
%需提前将logo文件放到`.tex`文件中。
\pgfdeclareimage[height=0.5cm]{university-logo}{logo-name}
\logo{\pgfuseimage{university-logo}}

%-------------开始-------------------
\begin{document}

%每个章节都有小目录
\AtBeginSection[]
{
 \begin{frame}
 \frametitle{章节目录}
 \begin{multicols}{2}
  \tableofcontents[currentsection]
 \end{multicols}
 \end{frame}
}

\title{Beamer 模板}
\subtitle{利用已有主题实现自己的主题}
\author[姓名]{胡丽条 \\ \zihao{6}{\href \\
   {mailto:litiao_hu@outlook.com}{litiao\_hu@outlook.com}}
   \quad \\ \vspace{0.5cm} 导师:毕军\quad\zihao{6} \\
                           {教育部长江学者特聘教授}}
\institute[江苏南京,南京大学]
{
 南京大学环境学院\quad污染控制与资源化研究国家重点实验室 \\
 环境规划与管理专业\quad环境风险与应急管控方向
}
\date{\today}
%显示封面页
\begin{frame}
    %\maketitle
    \titlepage
\end{frame}

\begin{frame}
 \frametitle{总目录}
 \begin{multicols}{2}
  \tableofcontents[hideallsubsections]
 \end{multicols}
 %\tableofcontents[hideallsubsections]
\end{frame}

\section{使用已有主题的方法}
\subsection{主题样式颜色}
\begin{frame}
 \frametitle{使用已有主题的方法}
可以直接点击该链接\underline{\href \\
{https://mpetroff.net/files/beamer-theme-matrix/} \\
{已有的主题样式和主题颜色}}。横栏表示主题颜色,纵栏表示主题样式。

将想套用的主题样式和颜色放到usetheme\{Szeged\} \\
和usecolortheme\{beaver\}中即可。\\
\footfullcite{bib_item} %文献item
\end{frame}

%-------------------------公式及编号--------------------
\section{公式及编号}
\subsection{带编号的公式}
\begin{frame}
 \frametitle{带编号的公式}
现在展示一个带编号的公式:
 \begin{equation}
 f(x) = \frac{\mathrm e^{2x}}{\sin x}
 \end{equation}
\end{frame}

\subsection{不带编号的公式}
\begin{frame}
 \frametitle{不带编号的公式}
 另外再展示一个不带编号的公式。
\[
\mathrm e^{\mathrm i \pi} + 1 = 0 
\]
\end{frame}

\subsection{行内公式}
\begin{frame}
 \frametitle{行内公式}
 以及一个行内公式$a^2 + b^2 = c^2$.
\end{frame}

%----------------列表环境-----------------------
\section{列表环境}

%%-----------列表环境 -> 无序列表----------
\subsection{无序列表和逐条展示的功能}
\begin{frame}
 \frametitle{列表}
这是无序列表的样式,及逐条展示的功能。
 \begin{itemize}
 \item 无序列表标号1
 \pause    %% 放映的停顿,去掉之后标号1、2就不会分开放映
 \item 无序列表标号2
 \end{itemize}
\end{frame}

%%-----------列表环境 -> 有序列表----------
\subsection{有序列表}
\begin{frame}
 \frametitle{有序列表}
这是有序列表的样式及一次性的逐条展示功能。
 \begin{enumerate}[<+-|alert@+>]
 \item 这是1
 \item 这是2
 \end{enumerate}
\end{frame}

%-------------------------块环境-------------------------------
\section{块环境}
\subsection{放某些特定的句子和公式}
\begin{frame}
 \frametitle{块环境}
 \begin{exampleblock}{Beamer介绍}
 Beamer是\LaTeX 的一个文档类,主要用于学术报告幻灯片的制作,\\
 优点是跨平台性好,支持Windows,Mac等。导出的格式就是PDF。
 \end{exampleblock}
 \begin{alertblock}{不同样式的文本块}
 \begin{equation}
  \left \{
  \begin{aligned}
  f(x) &= 2x + b \\
  g(x) &= x + 9
  \end{aligned} 
  \right.
  \end{equation}
 \end{alertblock}
 \begin{block}{Beamer介绍}
 \begin{equation}
 \left \{
 \begin{aligned}
 f(x) &= 2x + b \\
 g(x) &= x + 9
 \end{aligned} 
 \right.
 \end{equation}
 \end{block}
\end{frame}

%-------------------------图文并排---------------------------
\section{图文并排}
\begin{frame}
 \frametitle{左图右文字}
 \begin{columns}
  \column{.3\textwidth}
  \begin{figure}
  \centering
  %需提前将图片文件放到`.tex`文件中,文件名使用英文
  \includegraphics[height=4cm, width=4cm]{file-name}  
\caption{图片} %加图片名
  \end{figure}
  \column{.7\textwidth}
  \begin{itemize}
   \item 我利用矩阵的形状来模拟这些我喜欢的数字组合。
   \item 因为是非矢量图,所以放大后有损。
  \end{itemize}
  \end{columns}
 \end{frame}

%-------------------------代码环境---------------------------
\section{代码环境}
\begin{frame}[fragile] %必须加[fragile]
 \frametitle{MATLAB代码}  
 \begin{lstlisting}[numbers=left, firstnumber=753]
  % 绘制图形
  x = 1 : 0.01 : 5;
  y = sin(x);
  plot(x, y)
 \end{lstlisting}
\end{frame}

%-------------------------参考文献----------------------------
\section{参考文献}
%添加allowframebreaks为了解决参考文献太多而溢出的问题
\begin{frame}[allowframebreaks] 
 \frametitle{参考文献}
 \nocite{*} %否则只生成第一个文献
 \printbibliography %需提前建立参考文献的Tex文件。
\end{frame}

%--------------------------致谢-------------------------------
\section{致谢}
\begin{frame}
 \zihao{-4}\centering{坚持学习,不是为了输赢。}
\end{frame}


%--------------最后一张幻灯片-------------------
\begin{frame}
	\title{Beamer模板}
	\subtitle {利用已有主题实现自己的主题}
	\author{胡丽条}
	\date{\today}
	\titlepage
\end{frame}

\end{document}

9. 参考文献

  • 如何制作一份学术演讲PPT(Beamer)? -Link-
  • CTeX 中文 beamer 模板 -Link-
  • 用 Beamer 制作幻灯片 (卷一基本架构篇) -Link-
  • 分享 Beamer 模板 -Link-
  • 用 Beamer 制作幻灯片 (卷三动画篇) -Link-

10. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh markdown, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh