LaTeXbeamer排版

LaTeXbeamer排版

自己排版了一个beamer的模板。

一、主要功能

  • 演示文档可以分成frontmatter、mainmatter、backmatter三个部分。其中,frontmatter部分用于排版引入的部分,如课题引入、知识复习、课前准备等,这一部分不进入目录;mainmatter部分是演示文档的正文,可以分成两个或多个学时,每个学时有独立的目录;backmatter用于排版结束前的辅助内容,如作业、提问、致谢等,不进入目录。
  • 正文部分根据section、subsection、subsubsection等章节结构生成演示文档的各级标题,对各级标题的编号、位置、字体等内容进行了设置。

二、文档结构

主文档同目录下有一个beamercolorthemewonderbeamer.stybeamerouterthemewonderbeamer.stybeamerthemewonderbeamer.sty三个文件,分别定义了beamer的颜色主题、外部主题和模板基础,这三个文件是以清华的主题为基础而进行了部分的修改;同目录下有一个template目录,里面存放了个人的图标myogo.jpg。文档结构如下:

  1. 项目主目录 
  2. ├── 主文档.tex 
  3. ├── beamercolorthemewonderbeamer.sty 
  4. ├── beamerouterthemewonderbeamer.sty 
  5. ├── beamerthemewonderbeamer.sty 
  6. ├── template 
  7. ├── myogo.jpg 

三、字体准备

系统要安装有新罗马字体、Courier New字体、楷体_GB2312。

四、运行引擎

我安装的是texlive2025-20250308.iso,使用的引擎是xelatex。

五、模板文档的内容

1. beamerthemewonderbeamer.sty

  1. % ============================================================================== 
  2. % 一、模板基础声明:指定LaTeX版本、包信息(必填,确保模板兼容性) 
  3. % ============================================================================== 
  4.  
  5. % 声明所需LaTeX版本:需LaTeX2e及以上(当前主流LaTeX版本) 
  6. \NeedsTeXFormat{LaTeX2e} 
  7. % 声明包名称、版本、更新日期和功能描述 
  8. \ProvidesPackage{beamerthemewonderbeamer} 
  9. [2021/11/15 v1.1.0 A Beamer Theme for Tsinghua University (THU)] 
  10.  
  11. % 定义模板简称命令:\thubeamer 输出 "thu-Beamer"(textsc:小型大写字母) 
  12. \def\thubeamer{\textsc{thu}\-\textsc{Beamer}} 
  13.  
  14. % ============================================================================== 
  15. % 二、导入依赖包(Package):加载Beamer所需功能模块,覆盖排版、绘图、数学等 
  16. % ============================================================================== 
  17.  
  18. % 中文处理包:支持中文标题、正文、图表注释等中文排版 
  19. \RequirePackage{ctex} 
  20. % 代码高亮包:用于插入源代码并实现语法高亮(如C++、Python代码) 
  21. \RequirePackage{listings} 
  22. % 绘图核心包:用于绘制图形、节点、流程框图等 
  23. \RequirePackage{tikz} 
  24. % tikz外部化库:支持将tikz图形导出为独立文件(优化编译速度) 
  25. \usetikzlibrary{external} 
  26. % tikz箭头库:提供丰富的箭头样式(如带圆角的箭头、双向箭头) 
  27. \usetikzlibrary{arrows.meta} 
  28. % tikz定位库:支持节点相对定位(如下方、右侧等,方便排版) 
  29. \usetikzlibrary{positioning} 
  30. % tikz形状库:提供预定义几何形状(如圆形、菱形、多边形) 
  31. \usetikzlibrary{shapes} 
  32. % PGF绘图基础包:tikz的底层依赖,支持基础图形绘制 
  33. \RequirePackage{pgf} 
  34. % 多列排版包:支持将页面分成多列(如两栏展示内容) 
  35. \RequirePackage{multicol} 
  36. % 多媒体包:支持在Beamer中插入视频、音频文件 
  37. \RequirePackage{multimedia} 
  38. % 数学计算包:支持长度、数值计算(如调整间距、尺寸) 
  39. \RequirePackage{calc} 
  40. % AMS数学包:提供更丰富的数学公式排版功能(如矩阵、分式) 
  41. \RequirePackage{amsmath} 
  42. % AMS定理包:支持自定义定理、定义、引理等环境 
  43. \RequirePackage{amsthm} 
  44. % AMS符号包:提供更多数学符号(如集合符号、希腊字母变体) 
  45. \RequirePackage{amssymb} 
  46. % 数学粗体包:用于设置粗体数学符号(如\bm{\alpha} 表示粗体α) 
  47. \RequirePackage{bm} 
  48. % 图形包:支持插入图片(JPG、PNG、PDF等格式) 
  49. \RequirePackage{graphicx} 
  50. % 自适应表格包:支持表格宽度自适应页面(避免表格溢出) 
  51. \RequirePackage{tabularx} 
  52. % 表格增强包:提供更灵活的表格列格式定义 
  53. \RequirePackage{array} 
  54. % 彩色表格包:支持表格背景色、文字色设置 
  55. \RequirePackage{colortbl} 
  56. % 专业表格包:提供更美观的表格线(如粗线、细线组合) 
  57. \RequirePackage{booktabs} 
  58. % 跨行表格包:支持表格单元格跨行合并(\multirow命令) 
  59. \RequirePackage{multirow} 
  60. % 枚举增强包:支持自定义枚举列表样式(如字母、罗马数字编号) 
  61. \RequirePackage{enumerate} 
  62. % 超链接包:支持插入可点击的超链接(如引用文献、网页链接) 
  63. \RequirePackage{hyperref} 
  64. % 算法环境包:用于排版算法步骤(如伪代码) 
  65. \RequirePackage{algorithm} 
  66. % 算法语法包:定义算法伪代码的语法规则(如if、for关键字) 
  67. \RequirePackage{algorithmic} 
  68. % 字体编码包:使用T1编码(优化英文字体显示,支持特殊字符) 
  69. \RequirePackage[T1]{fontenc} 
  70. % 补充包:latexsym(额外符号)、xcolor(颜色增强)、multicol(多列)、calligra(书法字体) 
  71. \RequirePackage{latexsym,xcolor,multicol,calligra} 
  72. % 补充包:pstricks(PostScript绘图)、listings(代码高亮)、stackengine(文本叠加) 
  73. \RequirePackage{pstricks,listings,stackengine} 
  74. % 参考文献包:支持参考文献排序与压缩、数字编号格式 
  75. \RequirePackage[sort&compress,numbers]{natbib} 
  76. % 彩色框包:用于创建自定义彩色框(如提示框、代码框) 
  77. \RequirePackage{tcolorbox} 
  78. % tcolorbox皮肤库:提供更多框体样式(如圆角、阴影) 
  79. \tcbuselibrary{skins} 
  80. % tcolorbox栅格库:支持彩色框栅格布局(多框体排列) 
  81. \tcbuselibrary{raster} 
  82. % tcolorbox分页库:支持彩色框跨页显示(避免内容被截断) 
  83. \tcbuselibrary{breakable} 
  84. % tcolorbox外部化库:支持将彩色框导出为独立文件 
  85. \tcbuselibrary{external} 
  86. % 文本装饰包:支持下划线、删除线(normalem:保留\em命令的斜体功能) 
  87. \RequirePackage[normalem]{ulem} 
  88. % 现代表格包:提供更强大的表格功能(支持跨页、彩色、自适应) 
  89. \RequirePackage{tabularray} 
  90.  
  91. % 处理Beamer选项:解析用户传入的模板选项(如主题颜色、字体大小) 
  92. \ProcessOptionsBeamer 
  93.  
  94.  
  95. % ============================================================================== 
  96. % 三、文档分区控制:定义前言/正文/附录分区,用于区分不同区域的排版逻辑 
  97. % ============================================================================== 
  98.  
  99. % 定义布尔变量:是否为前言区(默认false,即不处于前言区) 
  100. \newif\ifisfrontmatter\isfrontmatterfalse 
  101. % 定义布尔变量:是否为正文区(默认true,即处于正文区) 
  102. \newif\ifismainmatter\ismainmattertrue 
  103. % 定义布尔变量:是否为附录区(默认false,即不处于附录区) 
  104. \newif\ifisbackmatter\isbackmatterfalse 
  105.  
  106. % 前言区命令:调用后切换为前言区(isfrontmatter=true,其余为false) 
  107. \newcommand{\frontmatter}{\isfrontmattertrue\ismainmatterfalse\isbackmatterfalse} 
  108. % 正文区命令:调用后切换为正文区(ismainmatter=true,其余为false) 
  109. \newcommand{\mainmatter}{\isfrontmatterfalse\ismainmattertrue\isbackmatterfalse} 
  110. % 附录区命令:调用后切换为附录区(isbackmatter=true,其余为false) 
  111. \newcommand{\backmatter}{\isfrontmatterfalse\ismainmatterfalse\isbackmattertrue} 
  112.  
  113. % ============================================================================== 
  114. % 四、自定义变量与核心功能命令:封装课程名、封面、目录等常用功能 
  115. % ============================================================================== 
  116.  
  117. % 定义课程名变量(toks类型:存储文本内容) 
  118. \newtoks\kecheng 
  119. % 课程名设置命令:\KeCheng{课程名称},将参数存入\kecheng变量 
  120. \newcommand{\KeCheng}[1]{\kecheng={#1}} 
  121.  
  122. % 封面页命令:\CoverPage 生成封面页(调用\maketitle,使用Beamer默认标题样式) 
  123. \newcommand{\CoverPage}{ 
  124. \begin{frame}{} % 新建无标题帧(幻灯片) 
  125. \maketitle % 生成标题页(需提前设置\title、\author、\institute等) 
  126. \end{frame} 
  127. } 
  128.  
  129. % 标题页命令:\TitlePage 生成自定义样式标题页(居中布局,带彩色框) 
  130. \newcommand{\TitlePage}{ 
  131. \begin{frame}{} % 无标题帧 
  132. \vbox{} % 空盒子(占位,调整页面顶部间距) 
  133. \vfill % 垂直填充(将内容推至页面中间) 
  134. \begin{centering} % 内容居中 
  135. % 标题彩色框:sep=内边距8pt,居中,圆角 
  136. \begin{beamercolorbox}[sep=8pt,center,rounded=true]{title} 
  137. \usebeamerfont{title}\inserttitle\par% 应用标题字体,插入标题(\title内容),换行 
  138. \ifx\insertsubtitle\@empty% 判断是否有副标题 
  139. \else% 若有副标题 
  140. \vskip0.25em% 垂直间距0.25em 
  141. {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}% 应用副标题字体和颜色,插入副标题 
  142. \fi% 结束判断 
  143. \end{beamercolorbox}% 结束标题框 
  144. \vskip2cm\par% 垂直间距2cm,换行 
  145. % 作者/单位框:sep=内边距8pt,居中 
  146. \begin{beamercolorbox}[sep=8pt,center]{author} 
  147. \usebeamerfont{institute}\insertinstitute\hskip1cm\usebeamerfont{author}\insertauthor 
  148. % 应用单位字体,插入单位(\institute内容)→ 1cm水平间距 → 应用作者字体,插入作者(\author内容) 
  149. \end{beamercolorbox} 
  150. \end{centering} 
  151. \vfill % 垂直填充(平衡页面底部间距) 
  152. \end{frame} 
  153. } 
  154.  
  155. % 目录页命令:\makecontentspage 生成主要内容目录(隐藏子章节) 
  156. \newcommand{\makecontentspage}{ 
  157. \begin{frame}{主要内容} % 标题为"主要内容"的帧 
  158. \transfade% 页面切换效果:淡入淡出 
  159. \tableofcontents[hideallsubsections] % 生成目录,隐藏所有子章节 
  160. \end{frame} 
  161. } 
  162.  
  163. % 红色下划线命令:\reduline{文本},生成红色粗下划线(替代默认黑色下划线) 
  164. \newcommand{\reduline}{\bgroup% 开始局部作用域(不影响全局) 
  165. \markoverwith{\textcolor{red}{\rule[0.5ex]{2pt}{3pt}}}% 定义下划线样式:红色、位置0.5ex(对齐文本基线)、宽度2pt、高度3pt 
  166. \ULon}% 启用下划线功能 
  167.  
  168. % 描述列表标签命令:自定义描述列表(description)的标签样式(红色粗体) 
  169. \newcommand{\descriptionlabel}[1]{\hspace{\labelsep}\normalfont\bfseries\textcolor{red}{#1}} 
  170.  
  171. % 自定义表格列格式:x列 → 居中对齐的自适应宽度列(基于tabularx的X列) 
  172. \newcolumntype{x}{>{\centering\arraybackslash}X} 
  173.  
  174. % 重定义强调命令:\emph{文本} 改为红色文本(默认是斜体,此处自定义为红色突出) 
  175. \let\oldemph\emph % 保存原始\emph命令(备份,可通过\oldemph调用) 
  176. \renewcommand{\emph}[1]{{\color{red}#1}} % 新\emph:将文本设为红色 
  177.  
  178. % 页面切换效果命令:\guodu 等同于淡入淡出效果(简化\transfade调用) 
  179. \newcommand{\guodu}{\transfade} 
  180.  
  181. % 部分命令:\mypart{部分名称},新建部分并重置章节编号 
  182. \newcommand{\mypart}[1]{\part{#1} % 新建部分(Beamer的\part命令) 
  183. \setcounter{section}{0} % 重置章节计数器(新部分从第1节开始) 
  184. \makeatletter % 允许使用@开头的内部命令 
  185. \beamer@tocsectionnumber=0 % 重置目录章节编号(同步计数器) 
  186. \makeatother} % 结束内部命令使用 
  187.  
  188. % 章节开头自动生成目录页:每节开始前插入当前章节的目录(仅显示当前节,隐藏子节) 
  189. \AtBeginSection[] 
  190. { 
  191. \begin{frame} % 无标题帧 
  192. \tableofcontents[ 
  193. currentsection, % 高亮显示当前章节 
  194. hideallsubsections] % 隐藏所有子章节 
  195. \end{frame} 
  196. } 
  197.  
  198. % ============================================================================== 
  199. % 五、尺寸定义:设置页眉、标题、副标题、页脚的固定高度(控制布局) 
  200. % ============================================================================== 
  201.  
  202. % 定义页眉高度:10pt 
  203. \newlength{\headlineheight} 
  204. \setlength{\headlineheight}{10pt} 
  205. % 定义帧标题高度:20pt 
  206. \newlength{\frametitleheight} 
  207. \setlength{\frametitleheight}{20pt} 
  208. % 定义帧副标题高度:15pt 
  209. \newlength{\framesubtitleheight} 
  210. \setlength{\framesubtitleheight}{15pt} 
  211. % 定义页脚高度:10pt 
  212. \newlength{\footlineheight} 
  213. \setlength{\footlineheight}{10pt} 
  214.  
  215. % ============================================================================== 
  216. % 六、Beamer主题核心配置:指定内部/外部/颜色主题,设置块样式、枚举样式 
  217. % ============================================================================== 
  218.  
  219. % 进入演示模式(仅对Beamer演示生效,不影响打印) 
  220. \mode<presentation> 
  221. { 
  222. \useinnertheme{thubeamer} % 使用内部主题thubeamer(控制列表、标题、块的内部样式) 
  223. \useoutertheme{wonderbeamer} % 使用外部主题wonderbeamer(控制页眉、页脚、帧布局) 
  224. \usecolortheme{wonderbeamer} % 使用颜色主题wonderbeamer(控制整体配色方案) 
  225. \setbeamercolor{block body}{bg=beamer@headercolor!30} % 设置块体背景色:页眉颜色的30%透明度(淡色背景) 
  226. \setbeamertemplate{enumerate item}{\insertenumlabel.} % 枚举列表项样式:编号后加句号(如1.、2.) 
  227. } 
  228.  
  229. % 幻灯片logo设置:页面角落显示半透明logo(路径为template/mylogo.jpg,宽度8%行宽,透明度0.1) 
  230. \logo{\tikz\node[opacity=0.1]{\includegraphics[width=0.08\linewidth]{template/mylogo.jpg}};} 
  231.  
  232. % 退出演示模式(恢复全局设置) 
  233. \mode<all> 
  234.  
  235. % ============================================================================== 
  236. % 七、字体与代码高亮配置:自定义英文/中文字体,优化代码显示效果 
  237. % ============================================================================== 
  238.  
  239. % 字体设置:新建字体族(仅对指定文本生效) 
  240. \newfontfamily\TimesNewRoman{times.ttf}% 英文新罗马字体(用于英文文本,需系统有times.ttf文件) 
  241. \newfontfamily\CourierNew{Courier New}% Courier New字体(用于代码排版,等宽字体,清晰易读) 
  242. \setCJKfamilyfont{KTzh}[AutoFakeBold=true]{simkai.ttf}% 中文楷体:AutoFakeBold=true(自动伪粗体),字体文件为simkai.ttf(楷体_GB2312) 
  243.  
  244. % 注释:tcolorbox全局设置(预留,当前未启用) 
  245. % \tcbset{enhanced,attach boxed title to top left={xshift=1em,yshift=-3mm,yshifttext=-3mm},boxed title style={colback=MyRed},size = small,nobeforeafter,colback=white,colframe=MyRed,valign=center} 
  246.  
  247. % 代码高亮(listings)全局设置:定义代码显示样式 
  248. \newcommand{\SourceCodeFont}{\bfseries\CJKfamily{KTzh}\CourierNew}% 代码字体命令:粗体 + 中文楷体 + Courier New英文 
  249. \renewcommand{\thelstnumber}{(\arabic{lstnumber})}% 代码行号样式:带括号的阿拉伯数字(如(1)、(2)) 
  250. \lstset{ 
  251. % xleftmargin = 0pt,% 代码左缩进(当前注释,默认无缩进) 
  252. basicstyle = \SourceCodeFont,% 代码基础字体(应用上述\SourceCodeFont) 
  253. showspaces=true,% 显示空格(用下划线标识,方便调试代码格式) 
  254. % showtabs=true,% 显示制表符(当前注释) 
  255. % stepnumber=4,% 行号步进(每4行显示一个行号,当前注释,默认每行显示) 
  256. firstnumber =1,% 起始行号为1 
  257. numberblanklines=false,% 空白行不显示行号 
  258. % columns = flexible,% 列格式:松散对齐(当前注释) 
  259. aboveskip = 0pt,% 代码环境上方空白为0pt(紧凑排版) 
  260. belowskip = 0pt,% 代码环境下方空白为0pt(紧凑排版) 
  261. tabsize = 4,% 制表符宽度为4个字符 
  262. backgroundcolor=\color{Snow3},% 代码背景色:Snow3(浅灰色,保护视力) 
  263. breaklines = true,% 长行自动换行(避免代码溢出) 
  264. numbers = left,% 行号显示在左侧 
  265. numbersep=5pt,% 行号与代码的间距为5pt 
  266. framexleftmargin=25pt,% 代码框左侧内边距25pt(为行号预留空间) 
  267. xleftmargin=25pt% 代码左侧外边距25pt(整体右移,避免贴边) 
  268. % floatplacement=ht% 代码浮动位置(当前注释) 
  269. } 

2. beamerouterthemewonderbeamer.sty

  1. % ============================================================================== 
  2. % 一、模板基础声明:指定兼容性与包信息(Beamer主题包必备) 
  3. % ============================================================================== 
  4.  
  5. % 声明所需LaTeX版本:需LaTeX2e及以上(确保与主流LaTeX环境兼容) 
  6. \NeedsTeXFormat{LaTeX2e} 
  7. % 声明包名称、版本、更新日期和功能描述(明确为清华大学Beamer主题的外部主题) 
  8. \ProvidesPackage{beamerouterthemewonderbeamer} 
  9. [2021/11/15 v1.1.0 A Beamer Theme for Tsinghua University (THU)] 
  10.  
  11. % ============================================================================== 
  12. % 二、主题选项定义:支持用户传入布局选项(侧边栏/平滑导航栏) 
  13. % ============================================================================== 
  14.  
  15. % 定义"smoothbars"选项:用户传入时,将\beamer@thubar设为smoothbars(平滑导航栏模式) 
  16. \DeclareOptionBeamer{smoothbars}{\def\beamer@thubar{smoothbars}} 
  17. % 定义"sidebar"选项:用户传入时,将\beamer@thubar设为sidebar(侧边栏模式) 
  18. \DeclareOptionBeamer{sidebar}{\def\beamer@thubar{sidebar}} 
  19. % 处理用户传入的选项:解析并应用上述定义的选项 
  20. \ProcessOptionsBeamer 
  21.  
  22. % 定义默认侧边栏模式:默认使用sidebar(侧边栏)布局(即使未传入选项) 
  23. \def\beamer@thusidebar{sidebar} 
  24.  
  25. % ============================================================================== 
  26. % 三、演示模式配置:仅对Beamer演示生效(不影响打印等其他模式) 
  27. % ============================================================================== 
  28.  
  29. \mode<presentation> 
  30.  
  31. % ============================================================================== 
  32. % 四、页眉样式(headline)定制:正文区显示章节导航,非正文区隐藏 
  33. % ============================================================================== 
  34.  
  35. % 定义页眉模板:名为"headlinetheme"(后续通过\setbeamertemplate启用) 
  36. \defbeamertemplate{headline}{headlinetheme} 
  37. { 
  38. \usebeamerfont{headline} % 应用页眉预设字体(在颜色主题中定义) 
  39. \leavevmode% 离开垂直模式,进入水平模式(确保后续内容按行排列,避免排版错乱) 
  40. % 页眉颜色框:宽度=整页宽(\paperwidth),高度=预设页眉高度(\headlineheight),配色为"palette quaternary"(第四调色板) 
  41. \begin{beamercolorbox}[wd=\paperwidth,ht=\headlineheight]{palette quaternary} 
  42. \ifismainmatter % 判断是否处于正文区(\mainmatter标记的区域) 
  43. % 垂直盒子:高度=页眉高度,用于居中对齐导航内容 
  44. \vbox to \headlineheight{ 
  45. \vfil % 垂直填充(将内容推至垂直居中) 
  46. { 
  47. % 插入水平章节导航:宽度=整页宽,左右自动填充空白,导航项均匀分布 
  48. \insertsectionnavigationhorizontal{\paperwidth}{\hskip0pt plus1filll}{\hskip0pt plus1filll} 
  49. } 
  50. \vfil % 垂直填充(平衡上下间距) 
  51. } 
  52. \fi% 结束正文区判断(非正文区页眉为空) 
  53. \end{beamercolorbox}% 结束页眉颜色框 
  54. } 
  55.  
  56. % 启用自定义页眉模板:将Beamer默认页眉替换为上述"headlinetheme" 
  57. \setbeamertemplate{headline}[headlinetheme] 
  58.  
  59. % ============================================================================== 
  60. % 五、帧标题(frametitle)与帧副标题(framesubtitle)样式定制: 
  61. % 核心逻辑:正文区带章节/小节编号,非正文区无编号;支持三级标题(subsubsection)显示 
  62. % ============================================================================== 
  63.  
  64. % 定义帧标题模板:名为"frametitletheme" 
  65. \defbeamertemplate{frametitle}{frametitletheme}{% 
  66. \nointerlineskip% 去掉行间默认粘连(避免标题与上方内容间距异常) 
  67. % \vskip\headlineheight% (注释:原本用于添加页眉高度的间距,当前无需手动调整) 
  68.  
  69. \ifismainmatter% 判断是否为正文区(\mainmatter标记) 
  70. % 帧标题颜色框:宽度=整页宽,高度=预设帧标题高度(\frametitleheight),配色为"frametitle" 
  71. \begin{beamercolorbox}[wd=\paperwidth,ht=\frametitleheight]{frametitle}% 
  72. % 垂直盒子:高度=帧标题高度,用于居中对齐标题文本 
  73. \vbox to \frametitleheight{ 
  74. \vfil % 垂直居中 
  75. {\hskip10pt\chinese{section}、\insertframetitle}% 标题内容:左移10pt + 中文章节号(如"一、") + 帧标题(\insertframetitle) 
  76. \vfil % 垂直居中 
  77. } 
  78. \end{beamercolorbox}% 结束帧标题框 
  79. \nointerlineskip% 去掉行间粘连(避免标题与副标题间距异常) 
  80.  
  81. \ifx\insertframesubtitle\empty% 判断帧副标题是否为空(\ifx测试两个记号是否相同) 
  82. \else{% 若副标题非空,插入副标题框 
  83. % 帧副标题颜色框:宽度=整页宽,高度=预设副标题高度(\framesubtitleheight),配色为"framesubtitle" 
  84. \begin{beamercolorbox}[wd=\paperwidth,ht=\framesubtitleheight]{framesubtitle}% 
  85. \vbox to \framesubtitleheight{ 
  86. \vfil % 垂直居中 
  87. % 副标题内容:左移20pt + 应用副标题字体/颜色 + 小节编号(如"1.") + 副标题文本(\insertframesubtitle) 
  88. \hskip20pt\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\thesubsection\insertframesubtitle} 
  89. } 
  90. \end{beamercolorbox}% 结束副标题框 
  91.  
  92. \ifx\insertsubsubsection\empty% 判断三级标题(subsubsection)是否为空 
  93. \else{% 若三级标题非空,在页面右上角添加红色标签显示三级标题 
  94. % tikz绝对定位:overlay(覆盖在内容上方)、remember picture(记住页面坐标) 
  95. \begin{tikzpicture}[overlay,remember picture]% 
  96. % 红色圆角标签:填充色MyRed(自定义红色)、文字白色、圆角1mm、内边距2pt、锚点靠右 
  97. \node[fill = MyRed,align = center,text = white,rounded corners = 1mm,inner sep=2pt,anchor=east]  
  98. at ([yshift=-1.4cm,xshift=-1em]current page.north east) % 位置:页面右上角下移1.4cm、左移1em 
  99. {{\small\thesubsubsection\insertsubsubsection}}; % 内容:小字体 + 三级标题编号(如"(1)") + 三级标题文本 
  100. \end{tikzpicture}% 
  101. }% 结束三级标题判断 
  102. \fi 
  103. }% 结束副标题判断 
  104. \fi%结束判断 
  105. \else% 非正文区(前言/附录区):标题无编号,样式简化 
  106. % 帧标题颜色框(与正文区一致,仅内容无编号) 
  107. \begin{beamercolorbox}[wd=\paperwidth,ht=\frametitleheight]{frametitle}% 
  108. \vbox to \frametitleheight{ 
  109. \vfil % 垂直居中 
  110. {\hskip10pt\insertframetitle}% 标题内容:左移10pt + 纯帧标题(无章节编号) 
  111. \vfil % 垂直居中 
  112. } 
  113. \end{beamercolorbox}% 结束帧标题框 
  114. \nointerlineskip% 去掉行间粘连 
  115.  
  116. \ifx\insertframesubtitle\empty% 判断副标题是否为空 
  117. \else{% 若副标题非空,插入无编号副标题 
  118. \begin{beamercolorbox}[wd=\paperwidth,ht=\framesubtitleheight]{framesubtitle}% 
  119. \vbox to \framesubtitleheight{ 
  120. \vfil % 垂直居中 
  121. % 副标题内容:左移20pt + 纯副标题文本(无小节编号) 
  122. \hskip20pt\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\insertframesubtitle} 
  123. } 
  124. \end{beamercolorbox}% 结束副标题框 
  125.  
  126. \ifx\insertsubsubsection\empty% 判断三级标题是否为空 
  127. \else{% 若三级标题非空,在页面顶部居中添加红色标签 
  128. \begin{tikzpicture}[overlay,remember picture]% 
  129. \node[fill = MyRed,align = center,text = white,rounded corners = 1mm,inner sep=2pt]  
  130. at ([yshift=-1.4cm,xshift=-1em]current page.north) % 位置:页面顶部居中下移1.4cm、左移1em 
  131. {{\small \insertsubsubsection}}; % 内容:小字体 + 纯三级标题文本(无编号) 
  132. \end{tikzpicture}% 
  133. }% 结束三级标题判断 
  134. \fi 
  135. }% 结束副标题判断 
  136. \fi% 结束正文区/非正文区总判断 
  137. \fi 
  138. } 
  139. % 启用自定义帧标题模板:将Beamer默认帧标题替换为上述"frametitletheme" 
  140. \setbeamertemplate{frametitle}[frametitletheme] 
  141.  
  142. % ============================================================================== 
  143. % 六、导航符号隐藏:去掉Beamer默认的导航按钮(如前后页、目录按钮) 
  144. % ============================================================================== 
  145. \setbeamertemplate{navigation symbols}{} 
  146.  
  147. % ============================================================================== 
  148. % 注释:侧边栏/平滑导航栏备选布局(当前未启用,预留扩展) 
  149. % ============================================================================== 
  150. %\ifx\beamer@thubar\beamer@thusidebar 
  151. % \useoutertheme[width=0.17\linewidth]{sidebar} % 启用侧边栏外部主题,宽度17%行宽 
  152. % \logo{\includegraphics[width=0.08\linewidth]{thulogo.pdf}} % 侧边栏模式下的logo设置 
  153. %\else 
  154. % \useoutertheme[footline=authorinstitutetitle,subsection=false]{smoothbars} % 启用平滑导航栏,页脚显示作者/单位,隐藏小节 
  155. %\fi 
  156.  
  157. % ============================================================================== 
  158. % 七、页脚样式(footline)定制:正文区显示标题+页码,非正文区仅显示页码 
  159. % ============================================================================== 
  160.  
  161. \makeatletter % 允许使用@开头的Beamer内部命令 
  162. \newcommand{\frameofframes}{/} 
  163. \newcommand{\setframeofframes}[1]{ 
  164. \renewcommand{\frameofframes}{#1} 
  165. } 
  166. % 定义页脚模板:高度=预设页脚高度(\footlineheight),宽度=整页宽,配色为"secondbottomline" 
  167. \setbeamertemplate{footline}{% 
  168. \begin{beamercolorbox}[ht=\footlineheight,wd=\paperwidth]{secondbottomline}% 
  169. % 垂直盒子:高度=页脚高度,用于居中对齐内容 
  170. \vbox to \footlineheight{ 
  171. \vfil % 垂直居中 
  172. \hbox to \paperwidth{ % 水平盒子:宽度=整页宽,用于分布内容 
  173. \ifisfrontmatter % 判断是否为前言区 
  174. {{}\hfill{\insertframenumber/\inserttotalframenumber\hspace*{1em}}}% 前言区:仅显示页码(当前页/总页数),右对齐,右留1em间距 
  175. \else % 正文区/附录区 
  176. % 左侧:与页码等宽的空白占位(平衡布局);中间:短标题(\insertshorttitle);右侧:页码 
  177. {\hphantom{\insertframenumber/\inserttotalframenumber\hspace*{1em}}\usebeamerfont{title in head/foot}{}\hfill\insertshorttitle\hfill{}{\insertframenumber/\inserttotalframenumber\hspace*{1em}}}% 
  178. \fi% 结束前言区判断 
  179. } 
  180. \vfil % 垂直居中 
  181. } 
  182. \end{beamercolorbox}% 结束页脚颜色框 
  183. } 
  184. \makeatother % 结束内部命令使用 
  185.  
  186. % ============================================================================== 
  187. % 八、标题页样式(title page)定制:显示课程名、单位、作者,居中布局 
  188. % ============================================================================== 
  189.  
  190. % 定义标题页模板:名为"titlepagetemplate" 
  191. \defbeamertemplate{title page}{titlepagetemplate} 
  192. { 
  193. \vbox{} % 空盒子(占位,调整页面顶部间距) 
  194. \vfill % 垂直填充(将内容推至页面中间) 
  195. \begin{centering} % 内容居中 
  196. % 课程名彩色框:内边距8pt、居中、圆角,配色为"title" 
  197. \begin{beamercolorbox}[sep=8pt,center,rounded=true]{title} 
  198. \usebeamerfont{title}\the\kecheng\par% 应用标题字体,显示课程名(\kecheng变量内容),换行 
  199. \end{beamercolorbox}% 结束课程名框 
  200. \vskip2cm\par% 垂直间距2cm,换行 
  201. % 作者/单位框:内边距8pt、居中,配色为"author" 
  202. \begin{beamercolorbox}[sep=8pt,center]{author} 
  203. % 单位(\insertinstitute) + 1cm水平间距 + 作者(\insertauthor),分别应用对应字体 
  204. \usebeamerfont{institute}\insertinstitute\hskip1cm\usebeamerfont{author}\insertauthor 
  205. \end{beamercolorbox} 
  206. % \vskip0.5em % (注释:预留的垂直间距,当前未启用) 
  207. % {\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par} % (注释:预留的标题图片插入,当前未启用) 
  208. \end{centering} 
  209. \vfill % 垂直填充(平衡页面底部间距) 
  210. } 
  211.  
  212. % 启用自定义标题页模板:将Beamer默认标题页替换为上述"titlepagetemplate" 
  213. \setbeamertemplate{title page}[titlepagetemplate] 
  214.  
  215. % ============================================================================== 
  216. % 九、退出演示模式:恢复全局模式设置 
  217. % ============================================================================== 
  218. \mode<all> 

3. beamercolorthemewonderbeamer.sty

  1. % ============================================================================== 
  2. % 一、模板基础声明:指定兼容性与包信息(Beamer颜色主题必备) 
  3. % ============================================================================== 
  4.  
  5. % 声明所需LaTeX版本:需LaTeX2e及以上(确保与主流LaTeX环境兼容) 
  6. \NeedsTeXFormat{LaTeX2e} 
  7. % 声明包名称、版本、更新日期和功能描述(明确为清华大学Beamer主题的颜色主题) 
  8. \ProvidesPackage{beamercolorthemewonderbeamer} 
  9. [2021/11/15 v1.1.0 A Beamer Theme for Tsinghua University (THU)] 
  10.  
  11. % 处理用户传入的Beamer选项(此处无自定义选项,仅执行默认处理逻辑) 
  12. \ProcessOptionsBeamer 
  13.  
  14. % ============================================================================== 
  15. % 二、颜色主题变量定义:预设主题相关变量(紫色主题标识、侧边栏模式标识) 
  16. % ============================================================================== 
  17.  
  18. % 定义紫色主题标识变量:\beamer@thucolorpurple = thupurple(用于主题内部配色关联) 
  19. \def\beamer@thucolorpurple{thupurple} 
  20. % 定义侧边栏模式标识变量:\beamer@thusidebar = sidebar(与外部主题的布局选项联动) 
  21. \def\beamer@thusidebar{sidebar} 
  22.  
  23. % ============================================================================== 
  24. % 三、演示模式配置:仅对Beamer演示生效(不影响打印等其他模式) 
  25. % ============================================================================== 
  26.  
  27. \mode<presentation> 
  28.  
  29. % ============================================================================== 
  30. % 四、核心颜色定义:自定义基础颜色(RGB值精确控制,适配学术演示专业审美) 
  31. % ============================================================================== 
  32.  
  33. % 自定义紫色:MyPurple(RGB:129,48,140)→ 主题主色(页眉、标题背景) 
  34. \definecolor{MyPurple}{RGB}{129,48,140} % 
  35. % 自定义蓝色:MyBlue(RGB:24,114,202)→ 预留备用(如强调内容、链接) 
  36. \definecolor{MyBlue}{RGB}{24,114,202} 
  37. % 自定义红色:MyRed(RGB:192,80,77)→ 用于三级标题标签、强调文本(外部主题中使用) 
  38. \definecolor{MyRed}{RGB}{192,80,77} 
  39. % 自定义绿色:MyGreen(RGB:84,130,53)→ 用于示例块(example block)背景 
  40. \definecolor{MyGreen}{RGB}{84,130,53} 
  41. % 自定义灰色:MyGray(RGB:124,124,124)→ 预留备用(如次要文本、阴影) 
  42. \definecolor{MyGray}{RGB}{124,124,124} 
  43. % 自定义淡紫色:MyLightPurple → MyPurple的30%透明度(淡化主色,用于次要背景) 
  44. \colorlet{MyLightPurple}{MyPurple!30} % 
  45.  
  46. % ============================================================================== 
  47. % 五、主题配色变量关联:将自定义颜色绑定到Beamer内部变量(方便统一修改) 
  48. % ============================================================================== 
  49.  
  50. % 页眉颜色:绑定到MyPurple(主题主色) 
  51. \definecolor{beamer@headercolor}{named}{MyPurple} % purple 
  52. % 文本强调色:RGB(119,33,151)→ 略深于主色,用于侧边栏章节文本 
  53. \definecolor{beamer@textcolor}{RGB}{119,33,151} 
  54. % 侧边栏背景色:绑定到MyPurple(与主色一致,保证风格统一) 
  55. \definecolor{beamer@sidebarcolor}{RGB}{129,48,140} 
  56.  
  57. % ============================================================================== 
  58. % 六、Beamer组件配色设置:逐一定义核心组件的前景色(fg)和背景色(bg) 
  59. % 核心逻辑:以MyPurple为主色,通过透明度(!xx!black)生成渐变,保证视觉协调 
  60. % ============================================================================== 
  61.  
  62. % 1. 标题页标题(\title):文字白色(fg=white),背景主色(bg=beamer@headercolor) 
  63. \setbeamercolor{title}{fg=white,bg=beamer@headercolor} 
  64.  
  65. % 2. 帧标题(frametitle):文字白色,背景主色80% + 黑色20%(加深主色,突出标题) 
  66. \setbeamercolor{frametitle}{fg=white,bg=beamer@headercolor!80!black} 
  67. % 帧标题字体大小:Large(大号字体,符合学术演示标题层级) 
  68. \setbeamerfont{frametitle}{size=\Large} 
  69.  
  70. % 3. 帧副标题(framesubtitle):文字黑色(fg=black),背景白色(bg=white) 
  71. \setbeamercolor{framesubtitle}{fg=black,bg=white} 
  72. % 帧副标题字体大小:large(中大号字体,低于帧标题层级) 
  73. \setbeamerfont{framesubtitle}{size=\large} 
  74.  
  75. % 4. 页脚第二行(secondbottomline):文字白色,背景主色50% + 黑色50%(浅于帧标题,避免抢焦点) 
  76. \setbeamercolor{secondbottomline}{fg=white,bg=beamer@headercolor!50!black} 
  77.  
  78. % 5. 页脚第一行(firstbottomline):文字白色,背景主色(预留,外部主题未使用) 
  79. \setbeamercolor{firstbottomline}{fg=white,bg=beamer@headercolor} 
  80.  
  81. % 6. 调色板主色(palette primary):复用结构色(structure),文字白色,背景结构色 
  82. \setbeamercolor{palette primary}{use=structure,fg=white,bg=structure.fg} 
  83. % 调色板次色(palette secondary):结构色75% + 黑色25%,文字白色 
  84. \setbeamercolor{palette secondary}{use=structure,fg=white,bg=structure.fg!75!black} 
  85. % 调色板第三色(palette tertiary):结构色50% + 黑色50%,文字白色 
  86. \setbeamercolor{palette tertiary}{use=structure,fg=white,bg=structure.fg!50!black} 
  87. % 调色板第四色(palette quaternary):同第三色(用于页眉背景,外部主题中使用) 
  88. \setbeamercolor{palette quaternary}{fg=white,bg=structure.fg!50!black} 
  89.  
  90. % 7. 普通块标题(block title):文字白色,背景主色(与标题页风格一致) 
  91. \setbeamercolor{block title}{fg=white,bg=beamer@headercolor} 
  92. % 普通块内容(block body):背景主色10%(淡紫色,保护视力,不干扰文字阅读) 
  93. \setbeamercolor{block body}{bg=beamer@headercolor!10} 
  94.  
  95. % 8. 示例块标题(block title example):复用普通文本和示例文本颜色,文字白色,背景示例色75% + 绿色 
  96. \setbeamercolor{block title example}{% 
  97. use={normal text,example text},fg=white,bg=example text.fg!75!green 
  98. } 
  99.  
  100. % 9. 细分隔线(fine separation line):无特定颜色(继承父组件颜色) 
  101. \setbeamercolor{fine separation line}{} 
  102.  
  103. % 10. 项目投影色(item projected):文字白色(用于列表项投影效果,如圆形项目符号背景) 
  104. \setbeamercolor{item projected}{fg=white} 
  105.  
  106. % 11. 侧边栏调色板(palette sidebar primary/tertiary):文字颜色复用普通文本色 
  107. \setbeamercolor{palette sidebar primary}{use=normal text,fg=normal text.fg} 
  108. % 侧边栏调色板(palette sidebar secondary/quaternary):文字颜色复用结构色 
  109. \setbeamercolor{palette sidebar secondary}{use=structure,fg=structure.fg} 
  110. \setbeamercolor{palette sidebar tertiary}{use=normal text,fg=normal text.fg} 
  111. \setbeamercolor{palette sidebar quaternary}{use=structure,fg=structure.fg} 
  112.  
  113. % 12. 侧边栏章节文本(section in sidebar):文字颜色为强调色(beamer@textcolor) 
  114. \setbeamercolor{section in sidebar}{fg=beamer@textcolor} 
  115. % 侧边栏未选中章节文本(section in sidebar shaded):文字灰色(灰色,弱化未选中项) 
  116. \setbeamercolor{section in sidebar shaded}{fg=gray} 
  117.  
  118. % 13. 分隔线(separation line):无特定颜色(继承父组件颜色) 
  119. \setbeamercolor{separation line}{} 
  120.  
  121. % 14. 侧边栏背景色:根据布局模式切换(与外部主题选项联动) 
  122. \ifx\beamer@thubar\beamer@thusidebar % 若为侧边栏模式(sidebar) 
  123. \setbeamercolor{sidebar}{bg=beamer@sidebarcolor!10} % 侧边栏背景为主色10%(淡紫色,避免过深) 
  124. \else % 若为平滑导航栏模式(smoothbars) 
  125. \setbeamercolor{sidebar}{bg=beamer@sidebarcolor} % 侧边栏背景为主色(纯色背景) 
  126. \fi 
  127.  
  128. % 15. 侧边栏颜色继承:继承调色板主色(palette primary)的样式(保证颜色一致性) 
  129. \setbeamercolor{sidebar}{parent=palette primary} 
  130.  
  131. % 16. 结构色(structure):绑定到主色(beamer@headercolor)→ 控制列表项、标题编号等基础结构的颜色 
  132. \setbeamercolor{structure}{fg=beamer@headercolor} 
  133.  
  134. % 17. 侧边栏小节文本(subsection in sidebar):文字颜色为强调色(beamer@textcolor) 
  135. \setbeamercolor{subsection in sidebar}{fg=beamer@textcolor} 
  136. % 侧边栏未选中小节文本(subsection in sidebar shaded):文字灰色(弱化未选中项) 
  137. \setbeamercolor{subsection in sidebar shaded}{fg=gray} 
  138.  
  139. % 18. Logo背景色:主色20%(淡紫色,避免logo与背景冲突) 
  140. \setbeamercolor{logo}{bg=beamer@headercolor!20} 
  141.  
  142. % ============================================================================== 
  143. % 七、退出演示模式:恢复全局模式设置 
  144. % ============================================================================== 
  145. \mode<all> 
  146.  
  147. % ============================================================================== 
  148. % 注释:模板文件说明(记录主题包含的衍生文件,便于维护) 
  149. % ============================================================================== 
  150. %%  
  151. %% This package consists of the file thubeamer.dtx, 
  152. %% and the derived files thubeamer.pdf, 
  153. %% beamerthemethubeamer.sty, 
  154. %% beamercolorthemethubeamer.sty, 
  155. %% beamerinnerthemethubeamer.sty, 
  156. %% beamerouterthemethubeamer.sty. 
  157. %%  
  158. %% 
  159. %% End of file `beamercolorthemethubeamer.sty'. 

六、模板使用

以下主文档示例了模板的使用方法。

  1. % ===================== 底层编译/格式配置区 ===================== 
  2. % 1. dvipdfmx编译器配置指令:强制关闭PDF压缩功能 
  3. % dvipdfmx是LaTeX生成PDF的核心编译器之一,z 0表示关闭压缩(z 1为开启) 
  4. % 作用:关闭压缩可大幅加快编译速度(尤其图片多的幻灯片),适合调试阶段; 
  5. % 注意:生成最终交付版时必须注释/删除此行,否则PDF体积会大幅增大 
  6. \special{dvipdfmx:config z 0}%用于关闭压缩,加快编译速度,当生成最终版时应注释掉这句 
  7.  
  8. % 2. 向xcolor宏包传递参数:启用X11标准颜色名称集 
  9. % PassOptionsToPackage{参数}{宏包名}:在加载宏包前预先传递配置参数 
  10. % x11names:xcolor包的扩展颜色库,包含如AliceBlue、FireBrick等直观的颜色名称(默认不启用) 
  11. % 注:此处虽未显式写\usepackage{xcolor},但beamer/主题会隐式加载xcolor,因此提前传参生效 
  12. \PassOptionsToPackage{x11names}{xcolor}%允许使用xcolor包中的x11names所给出的颜色名称 
  13.  
  14. % 3. 文档类声明:定义文档类型为beamer(幻灯片),并设置宽高比 
  15. % \documentclass[可选参数]{文档类}:LaTeX核心指令,指定文档基础格式 
  16. % aspectratio=169:设置幻灯片宽高比为16:9(主流投影设备适配,默认4:3) 
  17. % beamer:专用于制作演示幻灯片的文档类,自带标题页、分节、导航等幻灯片特性 
  18. \documentclass[aspectratio=169]{beamer} 
  19.  
  20. % ===================== 主题/自定义变量配置区 ===================== 
  21. % 4. 加载自定义/第三方beamer主题:wonderbeamer 
  22. % \usetheme{主题名}:应用beamer的主题样式(控制整体排版、配色、布局) 
  23. % wonderbeamer:第三方主题文件,需确保同名.sty文件在编译目录 
  24. \usetheme{wonderbeamer} 
  25.  
  26. % 5. 自定义课程名称变量:为幻灯片设置课程标题(非beamer原生指令,是wonderbeamer主题的自定义命令) 
  27. % \KeCheng{}:主题自定义的命令,用于定义课程名称(如封面/页眉显示) 
  28. \KeCheng{SQL安全课程} 
  29.  
  30. % 6. 幻灯片主标题配置:设置核心标题,方括号内为短标题(用于页眉/导航栏) 
  31. % \title[短标题]{主标题}:beamer原生指令,短标题适配空间有限的区域(如页眉),主标题显示在标题页 
  32. % 此处短标题和主标题一致,也可简化为\title{SQL注入攻击与防护} 
  33. \title[SQL注入攻击与防护]{SQL注入攻击与防护} 
  34.  
  35. % 7. 作者信息配置:设置幻灯片制作者/演讲人 
  36. % \author{}:beamer原生指令,通常显示在标题页、页脚等位置 
  37. \author{南宫二狗} 
  38.  
  39. % 8. 机构/单位信息配置:设置所属机构,方括号内为短机构名(适配导航/页脚) 
  40. % \institute[短机构名]{完整机构名}:beamer原生指令,显示在标题页、页脚,短名简化显示 
  41. \institute[631室]{XXXX教研室} 
  42.  
  43. % ===================== 文档主体内容区 ===================== 
  44. % 9. 开始文档主体:LaTeX核心指令,所有正文/幻灯片内容必须放在\begin{document}和\end{document}之间 
  45. \begin{document} 
  46. % 10. 前端内容区标记:wonderbeamer主题的自定义指令(非beamer原生) 
  47. % \frontmatter:通常用于划分「封面/引入页」等前置内容(类比book类的\frontmatter) 
  48. \frontmatter 
  49. % 11. 生成封面页:主题自定义指令,基于\KeCheng/\title等变量自动生成封面排版 
  50. \CoverPage 
  51. % 12. 导入外部tex文件:引入「课程引入」相关幻灯片内容 
  52. % \input{文件路径}:将指定tex文件的内容嵌入当前位置,便于拆分多章节内容(模块化管理) 
  53. % doc/引入.tex:表示当前目录下doc文件夹中的「引入.tex」文件,需确保文件存在 
  54. \input{doc/引入.tex} 
  55. % 13. 生成标题页:主题自定义指令,区别于\CoverPage(可能是带课程/机构信息的正式标题页) 
  56. \TitlePage 
  57.  
  58. % 14. 主体内容区标记:主题自定义指令,划分「核心教学内容」区域 
  59. \mainmatter 
  60. % 15. 划分学时模块:主题自定义指令,用于标记「第一学时」的开始(生成学时标题页/分隔页) 
  61. \mypart{第一学时} 
  62. % 16-18. 导入第一学时的分章节内容:拆分多个tex文件,便于分模块编辑(如01=基础概念,02=攻击案例,03=防护原理) 
  63. \input{doc/第一学时-01.tex} 
  64. \input{doc/第一学时-02.tex} 
  65. \input{doc/第一学时-03.tex} 
  66.  
  67. % 19. 划分第二学时模块:标记「第二学时」开始 
  68. \mypart{第二学时} 
  69. % 20. 再次生成标题页:推测是第二学时的子标题页(复用标题页样式,显示第二学时主题) 
  70. \TitlePage 
  71. % 21-23. 导入第二学时的分章节内容 
  72. \input{doc/第二学时-01.tex} 
  73. \input{doc/第二学时-02.tex} 
  74. \input{doc/第二学时-03.tex} 
  75.  
  76. % 24. 后端内容区标记:主题自定义指令,划分「作业/总结/附录」等后置内容 
  77. \backmatter 
  78. % 25. 导入作业相关内容:幻灯片最后展示作业/思考题 
  79. \input{doc/作业.tex} 
  80.  
  81. % 26. 结束文档主体:LaTeX核心指令,标记文档结束 
  82. \end{document} 

部分页面的效果如下:
enter description here

 

enter description here
enter description here

 

 

enter description here
enter description here

 

 

enter description here
enter description here

 

posted @ 2025-12-15 22:40  南宫二狗  阅读(1)  评论(0)    收藏  举报