Step00 准备工作
申请Overleaf的账号,登录,新建一个空白项目。
点击左上角Menu,在菜单中找到complier,选中XeLatex。
Step01 一个Beamer框架
在main.tax中,添加下面的内容:
% 导入必要的LaTeX包
\documentclass{beamer} % 使用beamer类
\mode<presentation> % 只在演示模式下有效
% 选择主题和颜色主题(这里以华沙主题为例)
\usetheme{Warsaw}
\usecolortheme{default}
% 如果需要支持中文
\usepackage{ctex} % 若使用CTEX套装
% 插入图片和其他图形
\usepackage{graphicx}
% 开始文档
\begin{document}
% 定义标题、作者和日期
\title[短标题]{您的完整演示文稿标题}
\author{您的名字}
\institute{您的单位或学校}
\date{\today}
% 创建标题页
\begin{frame}
\titlepage
\end{frame}
% 表格目录(如果需要)
\begin{frame}
\frametitle{目录}
\tableofcontents
\end{frame}
% 幻灯片内容
\section{第一部分}
\begin{frame}
\frametitle{第一张幻灯片}
这是第一张幻灯片的内容。
\end{frame}
\section{第二部分}
\begin{frame}
\frametitle{第二张幻灯片}
这是第二张幻灯片的内容,其中可以包含列表:
\begin{itemize}
\item 第一点
\item 第二点
\item 第三点
\end{itemize}
\end{frame}
% 结束页
\begin{frame}
\begin{center}
\Huge 谢谢聆听!\\[2cm]
\end{center}
\end{frame}
\end{document}
需要修改上述代码中的标题、作者、日期等信息。
Overleaf会自动编译,编译后就可以看到并且下载PDF文件了。
链接: https://pan.baidu.com/s/1HK7qlMEWNPU0-784gKcXlw 提取码: ag6n
Step02 例子
先注释掉Warsaw主题这句话。
……
% 选择主题和颜色主题(这里以华沙主题为例)
\usetheme{Warsaw}
……
在一个空白的主题上试验下面的例子。
Example01 结构
先定义一个基本的beamer文件结构:第一张应该是title页,第二张是目录页,第三张开始,是通过section,subsection定义的页面,最后进入frame,定义ppt页。
% 导入 Beamer 类及相关宏包
……
\title{您的演示文稿标题}
\subtitle{副标题(可选)}
\author{您的姓名}
\institute{您的单位}
\date{\today}
……
% 开始文档
\begin{document}
% 定义标题、作者和日期
\title[短标题]{您的完整演示文稿标题}
\author{您的名字}
\institute{您的单位或学校}
\date{\today}
% 创建标题页
\begin{frame}
\titlepage
\end{frame}
% 表格目录
\begin{frame}
\frametitle{目录}
\tableofcontents[hidesubsections]
\end{frame}
% 正文内容从这里开始,按需添加section和subsection
\AtBeginSection[]{ % 在每个section开始时自动插入目录(仅显示当前section)
\begin{frame}<beamer>
\frametitle{章节目录}
\tableofcontents[currentsection,hidesubsections]
\end{frame}
}
\section{第一部分}
\subsection{第一小节}
\begin{frame}
\frametitle{第一小节 - 第一张幻灯片}
这是第一部分第一小节的第一张幻灯片内容。
\end{frame}
\subsection{第二小节}
\begin{frame}
\frametitle{第二小节 - 第一张幻灯片}
这是第一部分第二小节的第一张幻灯片内容。
\end{frame}
\section{第二部分}
\subsection{第一小节}
\begin{frame}
\frametitle{第一小节 - 第一张幻灯片}
这是第二部分第一小节的第一张幻灯片内容。
\end{frame}
\subsection{第二小节}
\begin{frame}
\frametitle{第二小节 - 第一张幻灯片}
这是第二部分第二小节的第一张幻灯片内容。
\end{frame}
\section{第三部分}
\subsection{第一小节}
\begin{frame}
\frametitle{第一小节 - 第一张幻灯片}
这是第三部分第一小节的第一张幻灯片内容。
\end{frame}
\subsection{第二小节}
\begin{frame}
\frametitle{第二小节 - 第一张幻灯片}
这是第三部分第二小节的第一张幻灯片内容。
\end{frame}
% 最后,如果有总结或其他附加页
\section*{总结} % * 表示不在目录中显示
\begin{frame}
\frametitle{总结}
这里是演示文稿的总结内容。
\end{frame}
% 结束页
\begin{frame}
\begin{center}
\Huge 谢谢聆听!\\[2cm]
\end{center}
\end{frame}
……
上面的代码中,有几个要注意点的地方,第一个:
\tableofcontents[hidesubsections]
hidesubsections选项表示的是生成目录的时候,不需要展示出来二级目录。
第二个要注意的地方:
% 正文内容从这里开始,按需添加section和subsection
\AtBeginSection[]{ % 在每个section开始时自动插入目录(仅显示当前section)
\begin{frame}<beamer>
\frametitle{章节目录}
\tableofcontents[currentsection,hidesubsections]
\end{frame}
}
这段 LaTeX 代码是用于 Beamer 文档类的一个指令,其作用是在每个 \section
开始时自动插入一个仅显示当前章节内容的目录页。
-
\AtBeginSection[]
是 Beamer 提供的一个命令,它会在每个\section
开始时执行花括号{}
内的代码。 -
花括号内的内容是一个完整的
frame
环境,这意味着它将在一个新的幻灯片(slide)上呈现内容。 -
<beamer>
是一个模式选项,对于 Beamer 文档而言,这不是必须的,因为在 Beamer 文档类中,默认的模式就是beamer
。 -
\frametitle{章节目录}
设置了该幻灯片的标题为“章节目录”。 -
\tableofcontents[currentsection,hidesubsections]
是调用目录命令,这里的[currentsection,hidesubsections]
5.1currentsection
选项会让目录仅显示当前章节及其下的内容,这意味着当前章节的section
和subsection
都会被列出,且处于可见状态(非灰色)。
5.2hidesubsections
选项则是让除了当前章节以外的所有章节(包括当前章节的上级章节和其他同级章节)的subsection
都不显示在目录中。不过,section
依然会被显示,只是在大多数 Beamer 主题中,非当前章节的section
往往会被以淡出或灰色的形式呈现,以区分当前正在讲解的部分。
第三个要注意的地方
% 最后,如果有总结或其他附加页
\section*{总结} % * 表示不在目录中显示
\begin{frame}
\frametitle{总结}
这里是演示文稿的总结内容。
\end{frame}
如果不想section显示在目录中,可以使用“*”。
以上就是目前我理解的一个beamer文档的结构。例子可以通过网盘链接获取: https://pan.baidu.com/s/1-4trup4dcZ54oNHkt7S1JA 提取码: ukji 。
Example02 Frame布局
首先设置beamer最后的页面效果为16:9的宽高比:
\documentclass[aspectratio=169]{beamer} % 使用beamer类
接着修改第一部分,第一节的内容:
\section{第一部分:布局的讨论}
\subsection{第一小节 Frame布局}
\begin{frame}
\frametitle{复杂布局示例}
\begin{columns}[T] % T 表示顶部对齐,开启多栏布局
\begin{column}{0.3\textwidth} % 左栏
\begin{block}{重要概念}
这是左边一栏的内容,我们可以在此列出一些重要的概念或摘要。
\end{block}
\begin{itemize}
\item 第一点
\item 第二点
\item 第三点
\end{itemize}
\begin{align*}
E &= mc^2 \\
F &= ma
\end{align*}
\end{column}
\begin{column}{0.45\textwidth} % 右栏
\begin{figure}
\centering
\includegraphics[width=\textwidth]{example-image-a} % 替换为实际图片文件名
\caption{示例图片}
\label{fig:example}
\end{figure}
\end{column}
\end{columns}
\vfill % 填充空白,使内容尽量居中
\begin{block}{备注}
这是幻灯片底部的一个备注区块,用于补充说明或强调。
\end{block}
\end{frame}
……
这段代码是在 LaTeX Beamer 中创建一个具有复杂布局的幻灯片(frame)的示例,主要包括以下几个部分:
-
\frametitle{复杂布局示例}
:设置当前幻灯片的标题为“复杂布局示例”。 -
\begin{columns}[T]
:开始一个多栏布局,T
表示各栏内容顶部对齐。 -
\begin{column}{0.3\textwidth}
:创建左侧一栏,宽度为页面宽度的30%。- 在该栏中,首先创建了一个
block
环境,标题为“重要概念”,并包含一段文本内容。 - 接着,创建了一个项目符号列表(itemize),列举了三个要点。
- 最后,使用
align*
环境插入了两个数学公式。
- 在该栏中,首先创建了一个
-
\begin{column}{0.3\textwidth}
:创建右侧一栏,宽度也为页面宽度的30%。- 在该栏中,创建了一个
figure
环境,插入了一张图片(这里用的是示例图片example-image-a
,实际应用时应替换为实际图片文件名),并添加了图片标题和标签。
- 在该栏中,创建了一个
-
\end{columns}
:结束多栏布局。 -
\vfill
:插入垂直填充空间,目的是尽可能使内容居中。 -
\begin{block}{备注}
\end{block}
:创建一个备注区块,包含对幻灯片内容的补充说明或强调结束备注区块。
代码用于创建一个具有左右两栏布局的幻灯片,左侧一栏包含文本、列表和公式,右侧一栏包含一张图片,最后在幻灯片底部还有一个备注区块。页面效果如下:
关于colume和block
在 Beamer 文档类中,column
和 block
是两种不同的内容布局和样式单元。
-
column:
column
环境在 Beamer 中用于创建多栏布局,允许在一个幻灯片(frame)内分成多个列。通过这种方式,可以在同一页面上并排显示不同的内容,便于对比分析或展示相关联的信息。- 使用方式是通过
\begin{columns}
和\end{columns}
环境包裹,并在其中定义具体的列数和每列的宽度,例如:\begin{columns} \begin{column}{0.5\textwidth} 这是第一列的内容 \end{column} \begin{column}{0.5\textwidth} 这是第二列的内容 \end{column} \end{columns}
0.5\textwidth
表示列宽为文本宽度的 50%。多列参数加一起,不能超过1。
-
block:
block
环境用于创建突出显示的文本框,通常用于强调某一部分内容,例如定义、定理、示例、注释等。block
环境可以包含一个标题和正文内容,其样式通常不同于普通的文本,具有颜色和边框等装饰,从而在视觉上与其他内容区别开来。- 使用方式如下:
\begin{block}{标题} 这是 block 内容,可以是定义、注释或者你想强调的任何文本。 \end{block}
- Beamer 还提供了其他类型的 blocks,例如
alertblock
(用于紧急或警告信息)和exampleblock
(用于举例说明)等。
总的来说,column
主要是用于横向布局调整,而 block
用于纵向内容的逻辑分区和样式凸显。
要在 LaTeX Beamer 中使用 minted
宏包高亮显示 LaTeX 代码,你需要确保已经安装了 minted
宏包和其依赖的 Python 库 Pygments
。以下是完整示例:
LaTeX 文档中使用 minted:
\documentclass{beamer}
\usepackage{minted} % 引入 minted 宏包
\begin{document}
\begin{frame}[fragile]
\frametitle{\LaTeX 代码示例}
\begin{minted}[fontsize=\small, linenos=true, frame=single,
bgcolor=lightgray, language=tex]{latex}
\documentclass{article}
\begin{document}
Hello, \LaTeX!
\end{document}
\end{minted}
\end{frame}
\end{document}
注意,尽管 minted
默认支持众多编程语言,但对于 LaTeX 代码,我们应该指定 language=tex
。上述示例将会高亮显示 LaTeX 代码,并且有行号、单行边框、浅灰色背景。根据需要,你可以调整 minted
的选项来改变代码的显示样式。