\documentclass{ctexbeamer}
\usetheme{gpark}
% meta-data
\title{BUAA Beamer 主题 \\ Green Park 绿园}
\subtitle{使用 \LaTeX\ 制作幻灯片}
\author{\href{https://github.com/Thysrael}{Thysrael}}
\date{创建于 2024 年 6 月 11 日}
\titlebackground{images/titlebackground}
\background{images/background2}
\begin{document}
\maketitle
\begin{frame}{声明}
“绿园 GreenPark”是由北航六系同学开发的一款非官方的 \LaTeX Beamer 主题,它具有支持中文、简约现代的设计特点。
GreenPark 是基于 \chref{https://www.overleaf.com/latex/templates/sintef-presentation/jhbhdffczpnx}{SINTEF Presentation} 和 \chref{https://github.com/liu-qilong/Beamer-LaTeX-Themes}{Beamer-LaTeX-Themes} 的二次开发,GreenPark 去掉了 SINTEF 的一些 deprecated 的特征,并增加了中文支持。感谢这些开发者高品味和优雅的设计。封面素材来自北航姜海洋同学的摄影作品。背景图片来自北航新闻中心,均已取得相关授权。感谢他们的慷慨。
本主题采用 \chref{https://creativecommons.org/licenses/by/4.0/deed.zh-hans}{CC-BY-4.0},您可以自由地共享和演绎,只需要给出适当的署名。
本主题目前已经结束开发\textsl{(其实只是为了在离开北航前留个印迹)}\ 。但是后续或许会继续开发。欢迎提交 issue 和 pr 。
\end{frame}
\section{使用}
\begin{frame}{依赖}
\begin{itemize}
\item 构建依赖:\texttt{XeLaTeX} ,\texttt{latexmk} (可选)
\item 字体依赖:\texttt{Times New Roman},\texttt{TsangerJinKai05}, \texttt{Source Han Serif CN},\texttt{JetBrainsMono Nerd Font Mono}, \texttt{STXingkai}
\item 代码高亮依赖:\texttt{pygmentize} (可选)
\end{itemize}
\emph{请忽略这些依赖,在 Overleaf 中不需要考虑这些问题!}
\end{frame}
\begin{frame}[fragile]{构建}
使用如下命令即可构建 Beamer 和清空 Beamer :
\begin{minted}{shell-session}
make
make clean
\end{minted}
如果希望加快构建速度,可以安装 \texttt{latexmk} 并使用如下命令:
\begin{minted}{shell-session}
make mk
\end{minted}
但是这种方法会导致报错不明显。
\end{frame}
\begin{frame}{自定义}
\begin{itemize}
\item 使用 \texttt{titlebackground} 和 \texttt{background} 命令可以设置首页图片和后续背景。
\item 修改 \chref{file:./gparkcolor.sty}{gparkcolor.sty} 文件可以修改主题颜色,行内样式颜色等。
\item 修改 \chref{file:./beamerthemegpark.sty}{beamerthemegpark.sty} 文件可以修改字体,行间距或者其他主题设置。
\end{itemize}
GreenPark 的代码量只有 500 行,并有详细注释。非常容易修改出一套其他大学的 Beamer 。
\end{frame}
\section{样式}
\subsection{段内}
\begin{frame}{字体}
本文使用到了多种字体:
\begin{itemize}
\item 英文字体 \texttt{Times New Roman}
\item 正文字体 \texttt{FandolFang}
\item 标题字体 \texttt{FandolHei}
\item 手写字体 \texttt{FandolKai}。
\end{itemize}
\end{frame}
\begin{frame}{命令}
\begin{itemize}
\item 粗体:\texttt{textbf} \textbf{普通 bold},\texttt{ctextbf} \ctextbf{彩色 bold}
\item 斜体:\texttt{textsl} \textsl{普通 slant},\texttt{ctextsl} \ctextsl{彩色 slant}
\item 强调:\texttt{emph} \emph{强调 emphasize}
\item 链接:\texttt{href} \href{https://thysrael.github.io/}{普通 link},\texttt{chref} \chref{https://thysrael.github.io/}{彩色 link}
\item 代码:\texttt{ttt} \texttt{inline code}
\item 公式:\(e^{i\pi} + 1 = 0\)
\end{itemize}
\end{frame}
\begin{frame}{字号}
\LaTeX 支持多种字号:
\begin{columns}
\begin{column}{0.4\textwidth}
\begin{itemize}
\item \texttt{tiny}: {\tiny 极小号字体}
\item \texttt{footnotesize}: {\footnotesize 脚注大小字体}
\item \texttt{footnotesize}: {\footnotesize 脚注大小字体}
\item \texttt{small}: {\small 小号字体}
\item \texttt{normalsize}: {\normalsize 正常大小字体}
\item \texttt{large}: {\large 大号字体}
\end{itemize}
\end{column}
\begin{column}{0.6\textwidth}
\begin{itemize}
\item \texttt{Large}: {\Large 更大号字体}
\item \texttt{LARGE}: {\LARGE 很大号字体}
\item \texttt{huge}: {\huge 极大号字体}
\item \texttt{Huge}: {\Huge 超大号字体}
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\subsection{段落}
\begin{frame}[fragile]{有序列表}
可以用如下方式使用有序列表:
\begin{columns}
\begin{column}{0.6\textwidth}
\begin{minted}{latex}
\begin{enumerate}
\item first item
\item second item
\begin{enumerate}
\item second item first child
\item second item second child
\end{enumerate}
\item third item
\end{enumerate}
\end{minted}
\end{column}
\begin{column}{0.4\textwidth}
\begin{enumerate}
\item first item
\item second item
\begin{enumerate}
\item second item first child
\item second item second child
\end{enumerate}
\item third item
\end{enumerate}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{无序列表}
可以用如下方式使用无序列表:
\begin{columns}
\begin{column}{0.6\textwidth}
\begin{minted}{latex}
\begin{itemize}
\item first item
\item second item
\begin{itemize}
\item second item first child
\item second item second child
\end{itemize}
\item third item
\end{itemize}
\end{minted}
\end{column}
\begin{column}{0.4\textwidth}
\begin{itemize}
\item first item
\item second item
\begin{itemize}
\item second item first child
\item second item second child
\end{itemize}
\item third item
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{图片}
在 Beamer 中插入图片的方法和 \LaTeX 中的是一样的,同样可以加注释和标签,如图 \ref{demo} 。但是 Beamer 的 \texttt{ref} 会显示页数而非计数器。
\begin{figure}[h!]
\label{demo}
\includegraphics[width=0.4\textwidth]{images/demo}
\centering
\caption{瑞克和莫蒂 demo}
\end{figure}
\end{frame}
\begin{frame}[fragile]{子图}
在 Beamer 中也可以插入子图
\begin{figure}[h!]
\centering
\begin{tabular}{cc}
\subfigure[Rick]{
\includegraphics[width=0.40\textwidth]{images/demo}
} &
\subfigure[Morty]{
\includegraphics[width=0.40\textwidth]{images/demo}
}
\end{tabular}
\caption{两张瑞克和莫蒂}
\label{Nginx-Latency}
\end{figure}
\end{frame}
\begin{frame}{三线格}
Beamer 同样支持三线格:
\begin{table}[h]
\centering
\begin{tabular}{ccc}
\toprule
a & b & c \\
\midrule
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\bottomrule
\end{tabular}
\end{table}
\end{frame}
\begin{frame}[fragile]{Listing 代码块}
Green Park 一共提供了 2 中代码块环境,其中一种是 \texttt{lslisting} 环境,这种代码块的依赖较少,但是高亮效果较差:
\begin{block}{HelloWorld in C}
\begin{lstlisting}[language=c]
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
\end{lstlisting}
\end{block}
\end{frame}
\begin{frame}[fragile]{Minted 代码块}
另一种是 \texttt{minted} 环境,这种代码块的依赖较少,高亮效果好,但是需要安装 \chref{https://pygments.org/docs/cmdline/}{pygmentize}:
\begin{minted}{c}
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
\end{minted}
\end{frame}
\begin{frame}{数学公式}
Green Park 也支持公式的插入和编号:
\begin{align}
&\oint_{l} H \cdot dl=\int_{s}J\cdot ds+ \int_{s} \frac {\partial D} {\partial t} \\
&\oint_{l} E \cdot dl=-\frac {d}{dt}\int_{s}B\cdot ds \\
&\oint_{s}B\cdot ds=0 \\
&\oint_{s}D\cdot ds=\int_{s}\rho dv
\end{align}
\end{frame}
\subsection{结构}
\begin{frame}[fragile]{目录}
Beamer 的基本单位是 frame 。我们可以用 \texttt{frametitle} 来指定标题,或者直接向 \texttt{frame} 环境传入题目参数。当 frame 中有 \texttt{minted} 环境时,需要传入可选参数 \texttt{[fragile]} 。
Beamer 中同样可以使用 \texttt{section} 和 \texttt{subsection} 。它们组成了 Beamer 的目录结构,frame 会依附在相邻的目录中。
\end{frame}
\begin{frame}[fragile]{多列布局}
可以用如下代码在 frame 中形成多列布局。
\begin{minted}{latex}
\begin{columns}
\begin{column}{0.5\textwidth}
Root
\end{column}
\begin{column}{0.5\textwidth}
Hammer
\end{column}
\end{columns}
\end{minted}
\end{frame}
\section{开发}
\begin{frame}{事项}
Green Park 是我在短短两天内非常仓促地开发出来的,所以肯定存在很多问题,希望能在以后地迭代中持续优化。目前的优化大致有三个方向:
\begin{itemize}
\item 工程化:以上传到 Overleaf 为目标;同时剔除项目中的 SINTEF 残留。
\item 字体:目前字体还有一些非常恼人的细节问题,主要是等宽字体。
\item 美观:Green Park 设计的一个重要方向就是多态,它可以通过定义主题色和校徽等素材轻松地“制造”出新的一套模板,欢迎大家自定义自己的主题,如果方便的话,可以提个 PR 。
\end{itemize}
\end{frame}
\begin{frame}{总结}
浑浑噩噩地四年就过去了,我之前在准备德育答辩的时候搜索北航的 Beamer 主题,发现大多都太老旧了。所以花了一些时间制作了 Green Park 主题。我大概还有不到一个月就要离开北京了,这大概就是我寄给她的最后一封情书了。
$$
te \ echo\ de\ menos.
$$
\end{frame}
\backmatter
\end{document}