Files
ouc_latex_template/幻灯片
laoyang 1f807e9cce 所有模板目录改为中文名,并入幻灯片与科技报告两个仓库(#3)
目录改名(git mv 保留历史,包名不变):
  exam/   -> 试卷/
  form/   -> 年度考核登记表/
  form2/  -> 劳务发放说明表/
  course/ -> 课程执行大纲/

改名即可编译:实测 6 个模板在含中文的目录下 XeLaTeX 均零报错,
PDF 逐页文本与改名前的版本完全一致(0 页差异,仅元数据时间戳变化)。

并入两个此前独立维护的仓库:
  ouc-slide-latex-template  -> 幻灯片/
  ouc-report-latex-template -> 科技报告/
带入了 theme/ fonts/ logos/ figs/ cls/ input/ 与 fontawesome.pdf,
字体随模板附带(无须在系统安装)。中间文件一律不入库。

同步修正的文档:根 README 目录表改为中文名并说明统一维护;
四个子 README 的标题;ouclw.sty 注释里对 form/ 的交叉引用;
幻灯片与科技报告 README 里「从旧仓库 clone」「按年份切分支」等已失效的说明
(并入后只有 main 一个分支,各年份 TeX Live 通用)。

两个迁入模板的 PDF 保留源仓库原版(逐字节一致),未重新编译:
源 PDF 出自 TeX Live 2026,本机为 2022,重新编译会让结尾页装饰层定位
产生细微偏移,保留原版以保证样张与原来完全一致。
2026-10-26 18:31:04 +08:00
..

中国海洋大学幻灯片LaTex模板

中国海洋大学幻灯片LaTex非官方模板。

本模板修改自HelmholtzAI模板。在原有模板基础上进行了大量修改。

模板主要使用海大公布的标准色,包括海大蓝、海大天蓝、海大红、樱缤粉、文脉棕、专金、专银,以及后加的苍松绿、暮山紫、琥珀橙。

此外,使用了大量的信息框来增加模板的活力。

本目录原为独立仓库 ouc-slide-latex-template,2026-10 起并入 ouc_latex_template 统一维护,旧仓库不再更新。

文件结构

模板中的文件主要包括:

  1. slides.tex:主文件,编写的演示文稿内容主要存放在该文件当中。
  2. oucslide.sty:模板的样式文件。
  3. fonts:字体文件夹,所有编译需要用到的字体。默认字体使用的是华为鸿蒙字体。
  4. theme:主题文件夹。
    1. beamercolorthemeOUCSlide.sty:颜色定义文件。
    2. beamerfontthemeOUCSlide.sty:字体定义文件。
    3. beamerinnerthemeOUCSlide.sty:内部元素定义文件。
    4. beamerouterthemeOUCSlide.sty:整体布局定义文件。
    5. beamerthemeOUCSlide.sty:主题定义文件。
  5. logos:模板中使用的Logo存放文件夹。
  6. figs:插入的图片文件夹。
  7. fontawesome.pdf:图标使用说明文件。

使用方法

  1. 本模板现为 ouc_latex_template 仓库的 幻灯片/ 子目录,克隆主仓库即可:
    git clone https://code.yangyq.net/laoyang/ouc_latex_template.git
    cd ouc_latex_template/幻灯片
    
    子目录内自包含(theme/、fonts/、logos/、figs/ 都在本目录),不需要额外的宏包搜索路径。
  2. 安装Tex编译器,推荐使用TexLive,安装成功后,可以使用自带的TeXworks打开目录下的tex文件进行编译。
  3. 可以安装其他的IDE工具进行Tex文件的编写和修改,推荐使用Visual Studio Code。
  4. 编译时,请选择XeLaTex,有时候,可能需要连续编译两次,以得到正确的页码和图表编号。

编译器版本兼容性

模板已内置版本自动判别,同一份源码在 TeX Live 2022 及以后各年份均可直接编译,不需要改代码、也不需要切分支。

TeX Live beamer 版本 状态
2022 3.66 已验证通过(本机实测,30 页)
2023 3.69 已验证通过
2024 3.71 已验证通过
2025 3.72 已验证通过
2026 3.77 已验证通过

低于 TeX Live 2022 的版本未做验证,不保证可用。

为什么需要版本判别

beamer 的内部实现会随 TeX Live 版本变化,而模板中对内部宏的补丁(\patchcmd)会因此失效。最典型的一次是:

  • beamer 3.69(TeX Live 2023) 起,\beamer@@frametitle 改用 \beamer@insertframetitlecontinuation,使得面向旧版写法的补丁匹配失败,报 Patching original frame title failed。
  • 模板现已加入版本自动判别(依据 \beamer@insertframetitlecontinuation 是否存在,判断逻辑写在文件顶层 theme/beamerfontthemeOUCSlide.sty),因此各年份不需要再改动源码。
  • 若将来 beamer 再次改动内部实现,按同样思路在该文件顶层加判别分支即可。

关于 slides.pdf

仓库内的 slides.pdf 是成品样张,用于预览效果。它由较新版本的 TeX Live 编译;用本机较旧版本重新编译时,个别页面的装饰层定位可能有细微差别(例如结尾页右下角的网址位置),正文内容与版式一致性不受影响。

维护约定

每当有新的 TeX Live 年份发布时:

  1. 在新版本的 TeX Live 下,用 XeLaTeX 编译本目录的 slides.tex;
  2. 如果编译不通过,修改 theme/beamerfontthemeOUCSlide.sty 顶层的版本判别分支,注意保持向后兼容(不要让新年份的改动破坏旧年份);
  3. 在兼容性表格里补一行,注明已验证通过的版本。

元素介绍

基本信息

Tex文件的开头,是基本信息部分,可以根据需要添加\title{标题}、\subtitle{子标题}、\author{作者}、\date{\today}、\institute{所属机构}。

\newcommand{\last}{敬请批评指正!} 的作用是为了制作最后一页致谢页面而单独设置的,可以修改为任何致谢语句。

特殊页面

模板中有三个特殊的页面,分别是:标题页(首页)、目录页和结尾页。这三个页面由于其特殊性,不能使用frame的常规模板,因此,为它们创建了三个命令进行生成:

\maketitle
\makeoutline
\makelast

使用者三个命令后,将会自动创建首页、目录页和结尾页。

首页和结尾页,使用的是基本信息中的数据,而目录页的内容,将根据\section进行填充。

目录页样式(自适应方框)

目录页默认使用自适应方框样式:每一个一级标题(\section)被放进一个独立的方框里,方框的高度、以及方框内文字的字号,都会根据一级标题的数目自动计算,并且方框会自动均分、铺满整个目录页。章节少时方框又高又大、字号醒目;章节多时方框自动变矮、字号自动缩小,不需要手工调任何一个数字。

方框内的文字左对齐,左侧只留一点点缩进,读起来更像一份正常的目录。

默认目录页样式

配色:默认海大红,蓝色可选

目录页默认使用海大红(oucred)——和各章节标题页的颜色保持一致。

这是因为目录页上「目录」二字本身是海大蓝的,如果目录项再用蓝色,整页就分不出层次。用海大红正好和章节标题页呼应。

如果就喜欢蓝色,改一行即可切回海大蓝:

\toctheme{red}     % 默认:海大红,与各章节标题页同色
\toctheme{blue}    % 海大蓝,与目录页标题「目录」同色

蓝色配色

三种方框样式

在导言区用一行命令即可切换,样式与配色可以自由组合:

\settocstyle{box}     % 默认:浅色底 + 圆角框 + 圆形序号
\settocstyle{solid}   % 实心色底 + 白色文字
\settocstyle{bar}     % 白底 + 左侧粗色条

实心样式 左侧色条样式

章节较多时(下面这张是 9 个一级标题),方框和字号会自动压缩:

章节较多时自动压缩

可调参数

所有参数都可以在导言区用 \setlength 覆盖,一般不需要改:

参数 默认值 含义
\tocareamargin 52pt 目录区上下预留的高度(自动模式下从 \textheight 中扣除)
\tocareaheight 0pt 直接指定目录区高度;0pt 表示自动
\tocboxgap 10pt 方框之间的理想间距(空间紧张时会自动压缩)
\tocboxgapmin 2pt 方框之间允许的最小间距
\tocboxmaxheight 110pt 单个方框的最大高度
\tocboxleftpad 2.5pt 方框内文字距左边框的距离(只留一点点)
\tocfontmax 26pt 方框内文字的最大字号
\tocfontwarn 8pt 字号低于该值时会给出警告

例如,希望方框之间更紧凑一些:

\setlength{\tocboxgap}{6pt}

几点说明

  1. 目录页需要连续编译两次:章节数目是从上一次编译生成的 .toc 文件里读出来的。第一次编译时 .toc 还是空的,目录页会是空白,再编译一次即可正常。
  2. 方框的序号和标题是超链接,在 PDF 里点击会直接跳到对应章节。
  3. 一级标题太多时(大约 9 个以上),方框和字号会变得偏小,编译日志里会有 oucslide Warning 提示。这种情况下建议合并章节,或者把目录页改回普通的列表样式。
  4. 如果确实想换回旧版那种简洁的列表目录,把 \makeoutline 里的 \ouc@toc@body 换回 \tableofcontents[hideallsubsections] 即可(旧的模板定义仍保留在 beamerouterthemeOUCSlide.sty 中)。

使用分节

本模板使用分节进行整体规划,章节共三级,对应的关键字分别是:

\section
\subsection
\subsubsection

其中,\section 会有单独的页面进行显示。如下图所示。而且,section还将会出现在目录页面中。 section \subsection 和 \subsubsection都没有单独的页面相对应,他们会出现在对应章节的frame中,作为标题进行呈现,并且加入了自动编号的效果。需要说明的是,\subsection是必须的,而 \subsubsection 却可有可无。他们呈现出的最终的效果,如下图所示。 subsection 需要注意的是,虽然frame的标题,是由subsection和subsubsection自动生成的,但是frame中的frametitle仍然是必须的,否则没有frametitle这个元素,标题无法自动填充。

使用Frame

章节确定好后,就可以增加Frame来编写幻灯片。使用代码:

\begin{frame}
    \frametitle{测试}
\end{frame}

就可以插入一张幻灯片。

需要注意的是:如果幻灯片中使用了代码块,则需要加入关键字fragile。这样,引入的代码才能保持它们原有的样子,如下所示:

\begin{frame}[fragile]
    \frametitle{测试}
\end{frame}

当然,也可以使用定义的特殊的frame模板来达到这种效果。

\begin{fragileframe}
    \frametitle{测试}
\end{fragileframe}

他们的效果是一样的。

字体

模板使用的默认字体是华为鸿蒙字体 (HarmonyOS Sans)。该字体可以免费商用。

如果对字体不满意,可下载其他字体,放入fonts文件夹,并在beamerfontthemeOUCSlide.sty文件中修改。

推荐的字体包括:思源黑体、阿里普惠字体、OPPO字体、小米字体。这些字体基本上都可以免费商用,并且效果都很不错。关于他们是否能够继续免费商用的政策,请查阅其官方网站以得到最准确的信息。

颜色

根据海大公布的标准颜色,定义了相关颜色。其中文名称和代码如下表所示。

当然,也可以使用LaTex自带的颜色,例如white、black等。

名称 中文名 说明
oucblue 海大蓝 海大标准色
ouclightblue 海大天蓝 海大标准色
oucred 海大红 海大标准色
ouccherry 樱缤粉 海大标准色
oucbrown 文脉棕 海大标准色
oucgolden 专金 海大标准色
oucsilver 专银 海大标准色
oucpine 苍松绿 新增,深绿
oucdusk 暮山紫 新增,深紫
oucamber 琥珀橙 新增,深橘

新增的三个颜色

已有的浅色(樱缤粉、专金、专银)在内容多的时候不太够用,因此补充了三个较深的颜色—— 深色的好处是和白色文字有足够的对比度,可以直接当作色块底色(pointbox、titlebox、 block 等)使用,不必再担心白字看不清。

名称 色值 白字对比度 命名与定位
oucpine RGB 30, 86, 64 8.54 苍松绿——取自传统色「苍松」,色相偏青的深绿,沉静稳重
oucdusk RGB 92, 58, 118 9.04 暮山紫——取自传统色「暮山紫」(暮色中的远山),深紫而不艳
oucamber RGB 196, 82, 16 4.60 琥珀橙——取自传统色「琥珀」,高饱和的深橘

三点说明:

  1. 琥珀橙和文脉棕不会混淆:文脉棕是「低饱和的暗褐」,琥珀橙是「高饱和的深橘」, 两者在饱和度上拉开了明显差距(色相接近,但饱和度 0.61 vs 0.98)。
  2. 三个新颜色同样带十个色阶(oucpine10 ~ oucpine90 等),浅色等级可以当背景底。
  3. 对比度按 WCAG 计算,≥ 4.5 即白字清晰可读。三个新颜色都在 4.5 以上 (对比度越高,白字越清晰)。

新增颜色的应用

颜色等级

为了显示更丰富的色彩,定义的海大标准色,每一种颜色,都有十个等级,等级越低,颜色越浅。例如:对于海大蓝,其等级颜色从oucblue90-oucblue10不等,分成10个等级。

信息框

信息框使用边框的形式,提升幻灯片的表现力。

主要的信息框包括:列表框(vcolorbox)、提示框(notebox、importantbox)、信息框(titlebox)、要点框(pointbox)、块(block、exampleblock、alertblock)、标题框(headbox)和文本框(textbox)。它们的效果,如下图所示。

列表框 提示框 信息框 要点框 块 标题框和文本框

要点框自动排布(pointboxgrid)

要点框数量多的时候,不需要自己摆 columns——用 pointboxgrid 环境会自动排成网格:

\begin{pointboxgrid}{高度}
  \pointitem{标题}{颜色}{内容}
  \pointitem{标题}{颜色}{内容}
  ...
\end{pointboxgrid}

排布规则:每行最多 4 个;超过 4 个自动分成多行,并尽量均匀(上行不少于下行)。

个数 排布 个数 排布
1~4 一行 9 3 + 3 + 3
5 3 + 2 10 4 + 3 + 3
6 3 + 3 11 4 + 4 + 3
7 4 + 3 12 4 + 4 + 4
8 4 + 4 N 行数 = ⌈N/4⌉,前 N mod 行数 行每行多放一个

自动排布总览(1~12 个)

几点说明:

  1. 高度参数的含义和 pointbox 的 height 一样,是固定高度——内容别写超,超了会画到框外(见下)。数量多时记得把高度调小。
  2. 行数多了会超出页面底部。经验值:正文区高约 243pt,总高 ≈ 69 + 行数×高度 + (行数−1)×25(pt)。 所以 4 行时高度不要超过 24pt。超过时编译日志里会有 oucslide Warning 提醒。
  3. 想让每行放更多/更少,可改 \l_ouc_pbg_max(默认 4);间距可改 \l_ouc_pbg_gap(横向,默认 8pt)与 \l_ouc_pbg_vgap(纵向,默认 6pt)。
  4. 单个要点框仍然可以像以前那样手写 columns + pointbox,两种用法并存。

图示组件(扁平风格)

模板自带 9 个扁平简约图示组件:圆角色块 + 实心纯色 + 白字 + 细箭头, 无渐变、无阴影、无立体。全部用纯 TikZ 绘制,不依赖任何外部绘图宏包。

图示组件

颜色:一个或多个都可以

所有组件的颜色列表写在方括号里(可选参数)。写一个就是全部同色, 写多个就按顺序取色、不够时自动循环:

\flatflow[oucblue]{数据采集, 数据清洗, 模型训练, 结果评估}                % 全部海大蓝
\flatflow[oucblue,oucred,oucpine,oucamber]{数据采集, 数据清洗, 模型训练, 结果评估}
                                              % ← 4 个块 4 种颜色
\flatflow[oucred,oucblue]{块一, 块二, 块三, 块四, 块五, 块六}
                                              % ← 2 色循环:红蓝红蓝红蓝

⚠️ 颜色必须写成方括号 [ ]。若误写成花括号 { },颜色会被当成第一个条目, 编译时会报 图示组件的颜色要写在方括号里 的明确错误(不会静默出错)。

九个组件速查

命令 说明
\flatflow[颜色]{条目1, 条目2, ...} 横向箭头流程,自动等分满宽
\flatstack[颜色]{条目1, 条目2, ...} 纵向流程
\flatcycle[颜色]{条目1, ...} 循环图(弧线箭头首尾相接)
\flathub[颜色]{中心文字}{环绕1, 环绕2, ...} 中心辐射(中心圆 + 环绕卡片)
\flatsteps[颜色]{条目1, ...} 阶梯递进
\flattime[颜色]{年份列表}{事件列表} 时间轴(节点上下交替)
\flatquad[颜色]{左上}{右上}{左下}{右下} 四象限
\flatpyramid[颜色]{顶层, ..., 底层} 金字塔(上窄下宽)
\flatcompare[左色][右色]{左标题}{左内容}{右标题}{右内容} 左右对比

示例(slides.tex 里有完整的 5 页演示):

\flatflow[oucblue,oucred,oucpine,oucamber]{数据采集, 数据清洗, 模型训练, 结果评估}

\flathub[oucblue,oucred,oucpine,oucamber,oucdusk]{核心}{可行性, 必要性, 创新性, 实用性}

\flattime[oucblue,oucred,oucpine,oucdusk]{2020, 2021, 2023, 2025}{立项, 方案设计, 中期检查, 结题验收}

\flatcompare[oucpine][oucred]{优势}{响应快、成本低、易于维护}{不足}{精度受限、依赖数据质量}

\flatquad 与 \flatcompare 的颜色是独立的固定参数(分别 1 个和 2 个), 不参与循环取色。

几点说明

  1. 颜色可以直接用模板的 10 个颜色(oucblue、oucred、oucpine、oucdusk、oucamber 等)。
  2. 横向流程会自动把 N 个块加间隙摊满整行,不需要手算宽度。
  3. 纵向对比、四象限这类元素较宽,建议用 \begin{center}...\end{center} 居中。
  4. 这套组件已用 TeX Live 2022~2026 逐一编译验证:0 错误、0 溢出,且跨版本渲染逐像素一致。

代码

模板可以插入代码块,使用lstlisting即可。

公式

模板中可以直接插入公式,和LaTex中没有什么区别。

脚注

可以在任何地方使用脚注。即便是在各种信息框中也可以。