\DoNotIndex{\newenvironment,\@bsphack,\@empty,\@esphack,\sfcode}
\DoNotIndex{\addtocounter,\label,\let,\linewidth,\newcounter}
\DoNotIndex{\noindent,\normalfont,\par,\parskip,\phantomsection}
\DoNotIndex{\providecommand,\ProvidesPackage,\refstepcounter}
\DoNotIndex{\RequirePackage,\setcounter,\setlength,\string,\strut}
\DoNotIndex{\textbackslash,\texttt,\ttfamily,\usepackage}
\DoNotIndex{\begin,\end,\begingroup,\endgroup,\par,\\}
\DoNotIndex{\if,\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi}
\DoNotIndex{\let,\def,\xdef,\edef,\newcommand,\renewcommand}
\DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect}
\DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize}
\DoNotIndex{\small,\footnotesize,\scriptsize,\tiny}
\DoNotIndex{\normalfont,\bfseries,\slshape,\sffamily,\interlinepenalty}
\DoNotIndex{\textbf,\textit,\textsf,\textsc}
\DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad}
\DoNotIndex{\centering,\raggedright,\ref}
\DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize}
\DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne}
\DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass}
\DoNotIndex{\AtBeginDocument,\AtEndDocument,\AtBeginEnvironment}

\GetFileInfo{\jobname.dtx} %

\def\indexname{索引}
\IndexPrologue{\section{\indexname}}

\ExplSyntaxOn
\luabridge_now:n { require("assets.faq").setup("assets/faq.tex") }
\ExplSyntaxOff

\title{\includegraphics[width=0.3\textwidth]{assets/icon.png}
\\[1cm]
\bfseries 北京理工大学{\LaTeX}学位论文及报告模板 }
\author{北京理工大学网络开拓者协会 BIThesis 开发组 \\ \texttt{bithesis@bitnp.net}} %
\date{\zihao{-4} \today\quad \color{RubineRed}{\kaishu {\BIThesis}版本\version}}
\maketitle\thispagestyle{empty}

\def\abstractname{}
\begin{abstract}\noindent
  此宏包旨在建立一个简单易用的北京理工大学学位论文 $\LaTeX$ 模板
 （以及其他模板），包括本科毕业设计与研究生学位论文。
\end{abstract}

\vspace{5mm}

\begin{center}
\noindent\rule[0.25\baselineskip]{0.5\textwidth}{0.7pt}
\end{center}

\def\abstractname{免责声明}
\begin{abstract}
\noindent
\begin{enumerate}
\item 本模板的发布遵守 \LPPL ，使用前请认真阅读协议内容。
\item 与\BIThesis 相关的文档内容采用
 \href{https://github.com/BITNP/BIThesis-wiki/blob/main/LICENSE}{CC0-1.0 协议} 发布。
\item 任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板，
 请严格遵守 \LaTeX{} Project Public License 协议。
 由于违犯协议而引起的任何纠纷争端均与本模板作者无关。
\end{enumerate}
\end{abstract}

\vspace{5mm}

\def\abstractname{简介}
\begin{abstract}
\BIThesisLaTeX 是北京理工大学本科生毕业设计与研究生学位论文，
  以及其他课程报告、实验报告的 {\LaTeX} 模板集合。
  如果你厌烦了 Word 格式的不人性化、参考文献的难以管理、
  公式输入的差劲体验……那么欢迎来尝试用专业的学术稿件排版利器 —— {\LaTeX}，
  来排版你的论文。
  专业高端、学界认可、开源免费，{\LaTeX} 是你论文排版的最佳搭档。

\BIThesisLaTeX 目前支持使用 {\hologo{XeLaTeX}} 进行编译，
使用以 biber 为后端的 BibLaTeX 进行参考文献的生成，
符合《信息与文献参考文献著录规则》
（\href{https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7FA63E9BBA56E60471AEDAEBDE44B14C}{GB/T 7714—2015}）
的标准。

目前，\BIThesisLaTeX 主要设计完成了
本科生毕业（设计）论文、研究生学位论文、本科生毕业（设计）论文外文翻译、
全英文专业本科生毕业（设计）论文与通用实验报告的 {\LaTeX} 模板。

\end{abstract}
\newpage

\tableofcontents
\clearpage
\setlength{\parskip}{0.8ex}

\section{常用术语表}
\label{sec:terms}
\begin{description}
  \item[\LaTeX] \LaTeX{} 是一个高质量的文档排版系统
    ，他是基于 \TeX{} 进一步封装实现的。
  \item[\LaTeX2e] \LaTeX2e 是 \LaTeX{} 的最新稳定版本，
    目前大家使用的都是这个版本。
  \item[\LaTeX3] \LaTeX3 是 \LaTeX{} 的下一代版本，
    目前还在开发中（近十年了）。
    \LaTeX3 旨在为宏基编写人员提供一套通用的编程层。
    目前，\LaTeX3 的功能已经
    通过 \pkg{expl3} 等宏包在 \LaTeX2e 中提供。
    目前，|bithesis| 就是通过 \pkg{expl3} 实现的。
  \item[\LaTeX 引擎] 引擎就是将TeX代码转化为页面描述语言(PDL)的核心部分，
    就像C语言的编译器一样。比如 \hologo{XeLaTeX}、\hologo{LuaLaTeX} 等。
  \item[编辑器] TeX的编辑器给用户提供了较为方便的交互工具，
    将一些编译的过程都做成了按钮，
    省去了我们需要去命令行一步步编译，且提供了较为方便的编辑环境，
    如快捷键注释、语法高亮等等功能。常见的编辑器有 TeXstudio 等。
    另一些编辑器则是通过插件的方式来实现 TeX 的编辑，如 VSCode、Neovim、Vim 等。
  \item[宏包 (package)] \LaTeX{} 语言本质上是一个宏语言（通过文本替换而层层展开），
    而宏包就是一些宏的集合。CTAN 中的 bithesis 就是一个宏包。
  \item[宏集] 宏集是一些宏包的集合，比如 ctex 宏集。
  \item[CTAN] Comprehensive TeX Archive Network，CTAN 是 TeX 项目的官方网站，
    也是 TeX 项目的主要资源库。
    你使用的 \LaTeX{} 发行版中的宏包都是通过 CTAN 来发布的。
  \item[发行版] 发行版是将引擎，格式，宏包等等打包成一套安装文件的软件，
    TeX Live、MiKTeX 等。
  \item[文档类] 文档类指代一类以 |.cls| 结尾的文件，它们定义了文档的基本结构，
    通常包括文档的标题、作者、日期、页眉、页脚、正文样式等等。
    你可以通过 \tn{documentclass} 命令来指定文档类。
    没错，|bithesis| 为你提供的模板功能就是通过数个文档类实现的。
\end{description}

\section{项目简介}
\subsection{历史与贡献者们}
\begin{itemize}
  \item 在 2017 年之前，网络上已经出现一些北京理工大学学位论文 \LaTeX 模板。
    它们是“2012大眼小蚂蚁版”和“2016汪卫版”，均以上海交通大学的模板为基础。
  \item 2017 - 2018 年，计算机学院 2016 级研究生杨雅婷等人受研究生院委托，
    制作了 \href{https://github.com/BIT-thesis/LaTeX-template}{BIT-Thesis}
    研究生学位论文模板。
  \item 2019 - 2020 年，\href{https://github.com/BITNP/BIThesis/}{\BIThesis} 最早由 2016 级的
    武上博、王赞、唐誉铭、牟思睿和詹熠莎等人维护。
  \begin{itemize}
    \item 此时，\BIThesis 仅支持本科生毕业论文的排版。
    \item 在此期间，\BIThesis 从无到有诞生了，包括使用手册、
      在线文档和开箱即用的模板。
    \item 同时，2017 级的赵池等同学完成了一系列 \BIThesisLaTeX
      的视频教程。
    \item 武上博推进了教务部对 \BIThesis{} 的认可。
  \end{itemize}
  \item 2020 - 2021 年，2017 级的冯开宇、杨思云、郝正亮和顾骁等人
      接管了维护开发工作。
  \begin{itemize}
    \item 在此期间，冯开宇将原来的 .tex 文件制作成了宏包，并发布到 \href{https://www.ctan.org/pkg/bithesis}{CTAN} 上。
    \item 项目代码也随之被拆分成了 \BIThesisMacroPackage、
      \href{https://github.com/BITNP/BIThesis-wiki}{\BIThesisWiki} 和 \href{https://github.com/BITNP/BIThesis-scaffold}{\BIThesisScaffold}。
    \item 此版本是 V2 版本，代号为 Birthday Cake。
  \end{itemize}
  \item 2021 - 2022 年，2021 级（硕士研究生）的冯开宇针对 2021、
      2022 毕业季收到的反馈对该项目进行维护升级。
  \begin{itemize}
    \item 在此期间，冯开宇合入了杨雅婷等人在 2017 年开发的研究生学位论文模板。
    \item 在项目架构上，BIThesis-scaffold 合入 BIThesis 以便于进一步维护。
    \item 次年暑假期间，冯开宇用 \pkg{expl3} 重构了\LaTeX 样式代码，
      向用户提供了简易易用的接口。
    \item 同时，也增加了本科全英文专业的毕设论文模板样式。
    \item 此版本是 V3 版本，代号为 Summer Time。
  \end{itemize}
  \item 2023 年，冯开宇在此版本上增加了多种新的功能，并修复了一些已知的问题。
  并推进了官方（教务部、研究生院）对 \BIThesis 的认可，特别是面向没有太多计算机基础的同学\href{https://github.com/BITNP/BIThesis/pull/242}{起草了《\BIThesis 研究生学位论文\LaTeX{}模板快速使用指南》}。
  另外，2020级的徐元昌改正了文档、手册、注释中若干错误或过时信息（其中有些源于QQ群），增加了读书报告模板。
  \item 2024 年，冯开宇、徐元昌、张正等继续维护开发。
  \begin{itemize}
    \item 硕博方面，冯开宇和徐元昌推动了对研究生院原\href{https://grd.bit.edu.cn/xwgz/xwgz2/wjxz_xwgz/b117824.htm}{官方模板}的替换。
    \item 本科方面，年初\href{https://github.com/BITNP/BIThesis/discussions/396}{毕业设计相关模板被系统地比对更新}；毕业季前后，徐元昌又\href{https://github.com/BITNP/BIThesis/issues/496}{针对全英文毕业论文调查了各学院要求和应届学生需求}，并根据实际情况扩展了模板。
    \item 技术支持方面，QQ群中的重复性问答开始添加到精华消息或汇编到 \href{https://github.com/BITNP/BIThesis/discussions?discussions_q=}{GitHub Discussions}，《快速使用指南》也增加了本科版本并持续发布于 \href{https://github.com/BITNP/BIThesis/releases}{GitHub Releases}。
  \end{itemize}
  \item 2025 年
  \begin{itemize}
    \item \textbf{模板核心维护}
    \begin{itemize}
      \item \textbf{联系学校机构}\hspace{\ccwd}
      国家新《学位法》自元旦起实施并替代1981年《学位条例》，当年春\href{https://github.com/BITNP/BIThesis/issues/603}{研究生院将学位论文模板拆分为学术型、专业型}，于是徐元昌相应更新了 \BIThesis 硕博模板，冯开宇随后推进了官方网站的替换。
      \item \textbf{完善模板细节}\hspace{\ccwd}
      高鹏和徐元昌\href{https://github.com/BITNP/BIThesis/pull/596}{适配汉化了 \pkg{cleveref}}，noteas和徐元昌将模板中的校名、校徽替换为矢量图并与\href{https://www.bit.edu.cn/gbxxgk/dqgz_sjb/vixx/}{学校视觉形象识别系统}对齐。此外，双面打印、间距、布局、成果清单等细节也得到了改进。
    \end{itemize}
    \item \textbf{模板周边优化}
    \begin{itemize}
      \item \textbf{发布渠道}\hspace{\ccwd}
      \href{https://www.githubstatus.com/incidents/jfvgcls9swln}{GitHub四月}更新配置时意外导致中国未登录用户无法访问，张正、蒋浩天遂向\href{https://mirrors.bit.edu.cn/}{校内镜像站}增设\verb|/github-release/|并添加 \BIThesis，徐元昌也将\href{https://bithesis.bitnp.net/news/}{更新说明}备份到在线文档、将《快速使用指南》备份到CTAN。
      \item \textbf{编译时长}\hspace{\ccwd}
      近年受国际环境影响，Overleaf、TeXPage、LoongTeX 等在线平台均缩短了免费编译时长，其中 \href{https://github.com/BITNP/BIThesis/issues/543}{Overleaf 甚至于夏秋缩至十秒，难以编译中文论文}。为此，张正整理了\href{https://github.com/BITNP/BIThesis-wiki/issues/445#issuecomment-2740471477}{自建 Overleaf 实例的教程}，徐元昌在 GitHub Actions 增加了编译时长监测，并联系国产平台 TeXPage 开发测试了\verb|zip_url| API。
      \item \textbf{环境兼容}\hspace{\ccwd}
      首次确定了编译所需的最小宏包集合，重新确定编译所需最低 TeX Live 版本为2021，并添加持续测试以确保兼容性不再被破坏。徐元昌据此更新了\href{https://bithesis.bitnp.net/guide/getting-started.html}{安装指南}，网络开拓者协会多位成员进行了测试。
    \end{itemize}
    \item \textbf{相关技术支持}
    \begin{itemize}
      \item \textbf{整理疑难杂症}\hspace{\ccwd}
      过去资料散落于 GitHub Discussions、QQ群精华消息、\LaTeX 源代码等各处，而在线文档原有的七条疑难杂症均写于 2023年或更早，其中半数已过时。
      2025年参考 \href{https://typst.dev/guide/FAQ.html}{Typst 中文社区导航「常见问题」}重构了\href{https://bithesis.bitnp.net/faq/}{在线文档的「疑难杂症」版块}。截至年末已整理近六十条解答，覆盖字体、行内、段落、页面、宏包等十个标签。针对著录成果清单等高门槛、低频次需求，还开发了交互页面，只需填表即可生成代码。
      为让集中了的资料更容易发现，同时优化了网站搜索，并从模板示例内容、《快速使用指南》、\verb|bithesis.pdf| 链接到「疑难杂症」，特别是 \verb|bithesis-doc.tex| 为检测无效链接首次利用 \pkg{lt3luabridge} 添加了 Lua 代码。
      \item \textbf{探索智能应用}\hspace{\ccwd}
      人工智能开始广泛落地，徐元昌将多位同学的经验整理到在线文档的\href{https://bithesis.bitnp.net/guide/ask-computer.html}{「询问人工智能」}。
      当年春天，联系网信中心\footnote{
        2025年5月网络信息技术中心 (Information Technology Center) 更名为数字化与智算技术中心 (Digital Intelligence Technology Center)，英文缩写保持ITC不变。
      }建设\href{https://agent.bit.edu.cn}{学校智能体广场}，并在早期创建「LaTeX-BIThesis帮助」知识库、智能体并沟通反馈。针对智能体广场存在的缺陷，适配 \BIThesis 网站、PDF、sitemap；同时开发\href{https://github.com/YDX-2147483647/faq-bot}{NoneBot机器人}连接QQ群与智能体。然而智能体效果较差，在\href{https://github.com/BITNP/BIThesis/issues/671}{调研问卷}中评价倒数第一，盛夏后使用率也降至最初的六分之一。
      此外，认证了 \href{https://deepwiki.com/BITNP/BIThesis}{DeepWiki}、\href{https://context7.com/bitnp/bithesis-wiki}{Context7} 等公共服务。
    \end{itemize}
  \end{itemize}
\end{itemize}
% \iffalse
% 以上的简化版本需同步更新到 handbook/chapters/appendices.tex
% \fi

\subsection{\BIThesis 是什么？}
\BIThesis 之名是英文单词 Beijing Institution of Technology（北京理工大学）
的首字母缩写“BIT” 与“Thesis”结合而成。在纯文本环境下，该名字应写作“BIThesis”。
同理，其 IPA 发音为 {\fontspec{DoulosSIL} /ˈbiːˈaiˈtiːˈθiː.sis/}。

\BIThesisLaTeX 是由北京理工大学众多学子发起并维护的开源项目。
该项目旨在建立一套简单易用的北京理工大学 \LaTeX 学位论文模板。

\subsection{为什么要使用 \BIThesis？}
学位论文通常具有比较严格的格式要求，这是为了方便同行学术交流的起码要求，
同时也是科学研究严谨性的体现。
然而，由于市场各种排版软件混杂，使用者水平不一，学生对格式的重视程度不够，
学生编写标准格式的学位论存在很多问题。
\BIThesisLaTeX 为符合北京理工大学硕士（博士）学位论文的LaTeX模板。
通过使用\BIThesisLaTeX 模板，学生可以轻松撰写符合学校格式要求的学位论文，
避免繁琐的论文格式调整；从而将关注点更多地放在高质量的内容本身。

要使用这个模板协助你完成学位论文的创作，下面的条件必须满足：
\begin{itemize}
\item  操作系统字体目录中有中文字体；
\item  \TeX~系统有~\XeTeX~引擎（一般发行版均已经具备）；
\item  你有使用~\LaTeX~ 的经验，或者愿意为此学习；
\end{itemize}

\subsubsection{\BIThesisLaTeX 的组成}
我们将 \BIThesisLaTeX 划分为了两个主要仓库：
\begin{table}[H]
\centering
\begin{tabular}{@{}l l p{6cm} @{}}
\toprule
项目                & 项目地址 & 主要目的 \\ \midrule
BIThesis   &   \href{https://github.com/BITNP/BIThesis}{BITNP/BIThesis}
  &  主要存储 \BIThesis  宏包以及开箱即用的模板样式 \\
BIThesis-wiki
  &   \href{https://github.com/BITNP/BIThesis-wiki}{BITNP/BIThesis-wiki}
  &  存储 \BIThesisLaTeX 项目在线文档   \\ \bottomrule
\end{tabular}
\end{table}

如果你仅想解决「我如何使用 \BIThesisLaTeX 来帮助我完成实验论文？」这个问题，
那么欢迎你访问我们的\href{https://bithesis.bitnp.net}{在线文档}以获得更多信息。

如果你想深入了解 \BIThesisLaTeX 提供的接口的各种选项，那么请继续阅读。

\subsection{\BIThesis 如何的设计原则是什么？}

\BIThesis 的基本设计原则是：
\begin{itemize}
  \item \textbf{保持开箱即用的特性}，即用户不需要修改任何代码即可使用 \BIThesisLaTeX 。
  \item \textbf{保持对官方模板的兼容性}，让用户只用关注内容本身。
  \item \textbf{关注用户体验}，提供简单易用的接口，对于有争议的设计，我们会提供多种选择。
  \item \textbf{模板即软件}，「罗马不是一天建成的」，我们会积极地维护 \BIThesisLaTeX 。
\end{itemize}

为了保证以上原则，我们引入了多种测试机制（如集成测试、回归测试）来保证 \BIThesis 的质量。
并采用了正规软件开发的流程，如版本控制、代码审查、持续集成等，来保证 \BIThesis 的可维护性。

\subsection{\BIThesis 宏包的组成}
为了适应用户的不同需求，我们将 \BIThesisMacroPackage
的主要功能设计安排在两个中文文档类当中，具体的组成见表~\ref{tab:classes}。
\begin{table}[H]
  \centering
  \caption{文档类组成} \label{tab:classes}
  \begin{tabular}{lll}
    \toprule
    文档类  & 文件
         & 说明
    \\ \midrule
    论文   & \hyperref[sec:bithesis]{\cls{bithesis.cls}}
         & 本科生、研究生的毕业论文及其衍生样式
    \\
    实验报告 & \hyperref[sec:bitreport]{\cls{bitreport.cls}}
         & 本科生开题报告（已废弃）与实验报告样式
    \\
    幻灯片  & \cls{bitbeamer.cls}
         & 对应 ctexbeamer，提供了北理工的 beamer 模板样式
    \\
    \bottomrule
  \end{tabular}
\end{table}

\subsection{\BIThesisLaTeX 是如何发布的？}
\label{sec:release}

\BIThesisLaTeX 每一个版本会有三种发布方式：

\begin{itemize}
  \item  CTAN 发布：
    \href{https://ctan.org/pkg/bithesis}{CTAN bithesis package}
  \item  GitHub 发布：
    \href{https://github.com/BITNP/BIThesis/releases}{GitHub Releases}
    \footnote{最推荐使用此种方式}
  \item  Overleaf/TeXPage 发布：
    \href{https://bithesis.bitnp.net/guide/preface.html#q-bithesis-都包含哪些模板}{Overleaf/TeXPage Templates}
\end{itemize}
其中，CTAN 上发布的是 bithesis 宏包，也就是 |*.cls| 组成的文件，
它们可以通过 \TeX 发行版自带的包管理器 tlmgr 来更新。

GitHub 和 Overleaf/TeXPage 上发布的是 \BIThesisLaTeX 的完整模板，因此想要升级
到最新版本，你需要重新下载最新模板。然后，选择下列方法的一种来更新：

\begin{itemize}
  \item 将新模板中的 |*.cls| 文件替换到你原有模板的工作目录中。
  \item 将旧模板中的写作内容复制到新模板中。
\end{itemize}

需要注意的是，GitHub 和 Overleaf/TeXPage 的模板中包含了当前版本的 |*.cls| 文件，
因此不会因为 CTAN 上的更新而导致模板无法编译。（但代价当然是需要手动升级）

GitHub 同时提供了独立的 |*.cls| 文件，可以仅下载 |*.cls| 文件并通过上述
第一种方法进行更新。

\subsection{版本号与升级}

\BIThesisLaTeX 的版本号遵循 \href{https://semver.org/lang/zh-CN/}{语义化版本}，
也就是说，每个版本号由三个数字组成，分别表示主版本号、次版本号和修订号。
例如，版本号 |1.2.3| 表示主版本号为 1，次版本号为 2，修订号为 3。

\BIThesisLaTeX 的主版本号会在有重大变化时（且无法前向兼容时）更新，
例如，模板的结构发生了变化、宏命令的使用方式发生了改变。
次版本号会在有新功能添加时更新，例如，添加了新的功能和宏命令。
修订号会在有 bug 修复时更新，例如，修复了某些宏命令的 bug、补充了某些文档。

因此对于用户来说，主版本号的更新是不兼容的，次版本号与修订号的更新是向前兼容的。
进行兼容性升级时，你只需要将新版本的 |*.cls| 文件替换到你原有模板的工作目录中即可。
进行不兼容性升级时，你需要将旧模板中的写作内容复制到新模板中（记得要做好备份哦）。

\section{安装}

\subsection{\BIThesis 宏包的安装和更新}

最常见的 \TeX 发行版（\hologo{TeX} Live 和 \hologo{MiKTeX})已收录
\BIThesisMacroPackage 及其依赖的宏包和宏集。

\begin{itemize}
\item Windows、Linux用户推荐安装 TeX Live 套装，
  并更新宏包（Linux系统由于版权问题，未能预装宋体等 Windows 下的字体，需要手动安装；对于 WSL 用户，可参照\FAQ{word-font}[wsl]直接使用 Windows 下的字体）
\item OSX用户推荐安装 Mac TeX。
\item 由于CTeX套装所含宏包比较陈旧，可能会导致编译无法通过，故不推荐安装。
  如果已安装 CTeX，\textbf{建议将其卸载}。
\end{itemize}

如果安装以上发行版的时间较早，可能你本地的环境中不存在
\BIThesisMacroPackage 或者不是最新版本的。
那么你需要通过包管理器来安装/更新 \BIThesisMacroPackage：

\begin{shell}[morekeywords={tlmgr,install}]
tlmgr install bithesis
\end{shell}

更新可以通过图形界面进行，或者通过命令行：

\begin{shell}[morekeywords={tlmgr,update}]
tlmgr update bithesis
\end{shell}

\textbf{
  在安装完发行版之后，还需要安装编辑 \LaTeX 所需的编辑器，在这里推荐 TeXstudio。
}

\textit{更多安装教程请访问我们的
  \href{https://bithesis.bitnp.net}{wiki 网站}，那里收录了使用模板以外的信息。}

\subsubsection{升级模板版本}

由于软件维护是一个持续的过程，我们会不定期地更新 \BIThesisMacroPackage 的版本。
更新的版本可能会修复一些 bug，也可能会增加新的功能。

因此，首先建议你首先查看最新版本与你当前版本的差异，以便决定是否升级。
你可以通过 GitHub Releases 或者 ChangeLog 来查看更新内容。

当你决定升级时，请首先备份你的工作目录，然后按照\ref{sec:release}节的描述进行升级。

\section{编译方式}

\subsection{使用 Latexmk（推荐）}

在项目模板中，已经预制好了 latexmk 的配置文件 |.latexmkrc|。

因此只需要在命令行里执行，或者在代码编辑器里配置并运行以下命令即可：

\begin{shell}
  latexmk
\end{shell}

\subsubsection{手动四次编译}

\begin{shell}
  xelatex -no-pdf --interaction=nonstopmode main
  biber main
  xelatex -no-pdf --interaction=nonstopmode main
  xelatex --interaction=nonstopmode main
\end{shell}

运行bibtex的时候会提示一些错误，可能是~{{\sc Bib}\TeX}~对UTF-8支持不充
分，一般不影响最终结果。加入~\verb|--interaction=nonstopmode|~参数是不让错误打断编译过程。
\XeTeX~ 仍存在一些宏包兼容性问题，而这些错误通常不会影响最终的编译结果。

\section{\cls{bithesis.cls} 使用与配置}
\label{sec:bithesis}

推荐使用\BIThesisRelease （开箱即用）。

\BIThesisRelease 提供了多种最常用的模板，你可以在
\href{https://github.com/BITNP/BIThesis/releases}{主项目的 Releases} 中找到它们。

使用此文档类的模板有：
\begin{itemize}
 \item \BIThesisTemplates{UT}
 \item \BIThesisTemplates{UTE}
 \item \BIThesisTemplates{PT}
 \item \BIThesisTemplates{RR}
 \item \BIThesisTemplates{GT}
\end{itemize}

\subsection{最小用例}

\begin{latex}
\documentclass[type=bachelor]{bithesis}
\BITSetup{
  info = {
    author = FKY,
    ......
  }
}
\begin{document}
\end{document}
\end{latex}

如您所见，在 \LaTeX 中，用户使用的命令通常以「|\|」作为开头，后面依次跟随
命令名称、若干可选参数和若干必需参数。如：

\begin{latex}
\MakeCover
\BITSetup{}
\FooBar[]{}
\end{latex}

同理，用户使用的环境通常以 begin 和 end 进行包裹，
同样可以传入可选参数和必需参数：

\begin{latex}
\begin{abstract}
\end{abstract}

\begin{abstract}[addTOC=false]
\end{abstract}

\begin{foo}{param1}
\end{foo}
\end{latex}

需要强调的是：以方框号表示的可选参数，在没有参数传入的时候，是可以忽略的。
比如以下两个命令等价：
\begin{latex}
\FooBar
\FooBar[]
\end{latex}

环境同理。

\subsection{模板选项} \label{sec:template-options}

所谓“模板选项”，指需要在引入文档类的时候指定的选项：

\begin{latex}[deletetexcs={\documentclass},morekeywords={\documentclass}]
\documentclass(*\oarg{模板选项}*){bithesis}
\end{latex}

\begin{function}{type}
\begin{bitsyntax}[emph={[1]type}]
type = (*<(bachelor)|\mbox{bachelor_translation}|\mbox{bachelor_english}|master|doctor>*)
\end{bitsyntax}
  选择论文类型，它们分别对应：
  \begin{itemize}
    \item \BIThesisTemplates{UT}、\BIThesisTemplates{RR}
    \item \BIThesisTemplates{PT}
    \item \BIThesisTemplates{UTE}
    \item \BIThesisTemplates{GT} 研究生
    \item \BIThesisTemplates{GT} 博士生
  \end{itemize}
\end{function}

\begin{function}[added=2023-03-16]{english}
\begin{bitsyntax}[emph={[1]english}]
english = (*<(false)|true>*)
\end{bitsyntax}
  开启英文模式。此选项会将论文的标题、摘要、目录、参考文献等部分的
  中文部分替换为英文部分。适用于英文论文的撰写。

  \begin{note}
    本选项仅适用于 \BIThesisTemplates{GT} 模板，本科全英文专业的同学
    请直接使用 \BIThesisTemplates{UTE} 模板。
  \end{note}
\end{function}

\begin{function}{blindPeerReview}
\begin{bitsyntax}[emph={[1]blindPeerReview}]
blindPeerReview = (*<(false)|true>*)
\end{bitsyntax}

  此选项用于输出符合盲审要求的论文。所有可能暴露个人信息的页面都将隐藏，
  比如封面、信息页、原创性声明、个人简介、致谢等等。
\end{function}

\begin{function}[added=2023-02-02]{quirks}
\begin{bitsyntax}[emph={[1]quirks}]
quirks = (*<(false)|true>*)
\end{bitsyntax}

  此选项用于开启针对北理工官方示例的兼容模式。

  具体包括：
  \begin{itemize}
    \item \pkg{biblatex} 中的 |patent| 类型将不再采用国标 GB/T 7714-2015 的格式，
     而是采用北理工官方示例的格式。
  \end{itemize}

  之所以需要此选项，是因为北理工官方示例中的格式
  与国标 GB/T 7714-2015 中的格式不一致；
  而这部分改动可能引入潜在的兼容性问题。
  而这些差异其实比较细微，所以我们将其作为一个默认不开启的选项。

  在未来，如果持续有用户反馈问题，亦或是没有边界问题，
  我们可能会将其中的功能移入默认效果中。

\end{function}

\begin{function}{twoside}
\begin{bitsyntax}[emph={[1]twoside}]
twoside = (*<(false)|true>*)
\end{bitsyntax}

  打开双页排版。对于研究生模板来说，这意味着摘要前的内容都会
  被插入空白页。这样，在你双面打印的时候，就可以获得单页打印
  效果的封面。

  \textit{本科生模板一般不需要选择此选项。此选项会受到 |blindPeerReview| 的抑制。}
\end{function}

\begin{function}{ctex}
\begin{bitsyntax}[emph={[1]ctex}]
ctex = (*{传给 ctexbook 的模板选项}*)
\end{bitsyntax}

  该选项用于传入模板选项至 ctexbook。

  例如：想要同时修改 ctex 的字体参数和标点符号处理格式
  （更多选项请参考 ctex 手册）。

\begin{latex}[emph={[1]type,master,ctex,fontset,fandol,punct,banjiao,bithesis}]
\documentclass[type=master,ctex={fontset=fandol,punct=banjiao}]{bithesis}
\end{latex}
\end{function}

\begin{function}[added=2023-03-10]{autoFakeBold}
\begin{bitsyntax}[emph={[1]autoFakeBold}]
autoFakeBold = (*<(3)|false|{数字}>*)
\end{bitsyntax}

  该选项用于调整 \cls{xeCJK} 中 |AutoFakeBold| 选项以定义伪粗体的粗细程度。

  默认为 3，一般按照经验来说，2.5–3 比较符合 Word 中的粗体样式。

\end{function}

\subsection{参数设置}

\begin{function}{\BITSetup}
\begin{bitsyntax}[emph={[1]BITSetup}]
\BITSetup = {(*\oarg{键值对}*)}
\end{bitsyntax}
\end{function}

本模板提供了一系列选项，可由您自行配置。载入文档类之后，以下所有选项均可通过统一的
命令 \cs{BITSetup} 来设置。

\cs{BITSetup} 的参数是一组由（英文）逗号隔开的选项列表，列表中的选项通常是 \meta{key} =
\meta{value} 的形式。部分选项的 \meta{value} 可以省略。对于同一项，后面的设置将会覆盖前面的设
置。在下文的说明中，将用粗体表示默认值。

\cs{BITSetup} 采用 LATEX3 风格的键值设置，支持不同类型以及多种层次的选项设定。键值列
表中，“=”左右的空格不影响设置；但需注意，参数列表中不可以出现空行。
与模板选项相同，布尔型的参数可以省略 \meta{选项} = true 中的“= true”。
另有一些选项包含子选项，如 cover 和 info 等。它们可以按如下两种等价方式来设定：

\begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}]
\BITSetup{
  cover = {
    date = xxxx年x月,
  },
  info = {
    author = Feng Kaiyu,
    title = A Thesis Title for Your Paper,
  }
}
\end{latex}

或者

\begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}]
\BITSetup{
  cover / date = xxxx年x月,
  info / author = Feng Kaiyu,
  info / title = A Thesis Title for Your Paper,
}
\end{latex}

\textbf{请注意：以下选项根据模板的不同，可能会有不同的默认值。
 有些模板可能不会使用某些选项。使用与否以及使用方式是根据学校的论文撰写要求实现的。}

\subsubsection{封面选项} \label{sec:cover}

\begin{function}{cover}
\begin{bitsyntax}[emph={[1]cover}]
cover = (*\marg{键值列表}*)
cover/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

  该选项包含许多子项目，用于设置论文格式。具体内容见下。
\end{function}

\begin{function}{cover/date}
\begin{bitsyntax}[emph={[1]date}]
date = (*\marg{任意字符串}*)
\end{bitsyntax}

  覆盖封面的日期。
\end{function}

\begin{function}{cover/headerImage}
\begin{bitsyntax}[emph={[1]headerImage}]
headerImage = (*\marg{图片路径}*)
\end{bitsyntax}

  设置封面顶部的“北京理工大学”字样图片。
\end{function}

\begin{function}{cover/xiheiFont}
\begin{bitsyntax}[emph={[1]xiheiFont}]
xiheiFont = (*\marg{字体路径}*)
\end{bitsyntax}

  配置此选项以在部分模板封面中使用“华文细黑”，保证与 Word 模板中的字体一致。

  在 Windows 和 macOS 中，该字体已经安装；在 Linux 中一般需要用户自行安装（如果你是 WSL 用户，可参照\FAQ{word-font}[wsl]直接使用 Windows 下的字体）。
\end{function}

\begin{function}{cover/delimiter}
\begin{bitsyntax}[emph={[1]delimiter}]
delimiter = (*\marg{任意字符串}*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  设置封面信息中标签和值的分隔符。一般为全角或者半角的冒号。
\end{function}

\begin{function}{cover/autoWidth}
\begin{bitsyntax}[emph={[1]autoWidth}]
autoWidth = (*<(true)|false>*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  自动计算封面中下划线的长度。

  如果关闭了该选项，则建议配合\kvopt{cover/labelMaxWidth}{\meta{长度}}\\
  和\kvopt{cover/valueMaxWidth}{\meta{长度}}使用，以控制下划线的长度。
\end{function}

\begin{function}{cover/autoWidthPadding}
\begin{bitsyntax}[emph={[1]autoWidthPadding}]
autoWidthPadding = (*<\marg{任意长度}>*)
\end{bitsyntax}

  自适应下划线长度时，下划线的长度会比标签和值的长度多出一些空白。
  该选项用于设置这些空白的长度。默认为 0.25em。

  \textit{此选项一般不需要用户自行修改。}

\end{function}

\begin{function}{cover/labelMaxWidth}
\begin{bitsyntax}[emph={[1]labelMaxWidth}]
labelMaxWidth = (*\marg{任意长度}*)
\end{bitsyntax}

  此选项仅当\kvopt{cover/autoWidth}{false}时生效。

  设置封面信息中标签的占位长度。
\end{function}

\begin{function}{cover/valueMaxWidth}
\begin{bitsyntax}[emph={[1]valueMaxWidth}]
valueMaxWidth = (*\marg{任意长度}*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  设置封面信息中值的占位长度。\textbf{同时也会影响下划线的长度。}
\end{function}

\begin{function}{cover/labelAlign}
\begin{bitsyntax}[emph={[1]labelAlign}]
labelAlign = (*<c|l|r>*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  设置封面信息中标签的对齐方式（居中、左对齐、右对齐）。
\end{function}

\begin{function}{cover/valueAlign}
\begin{bitsyntax}[emph={[1]valueAlign}]
valueAlign = (*<c|l|r>*)
\end{bitsyntax}

  此选项仅当\kvopt{cover/autoWidth}{false}时生效。

  设置封面信息中值的对齐方式（居中、左对齐、右对齐）。
\end{function}

\begin{function}{cover/underlineThickness}
\begin{bitsyntax}[emph={[1]underlineThickness}]
underlineThickness = (*\marg{任意长度}*)
\end{bitsyntax}

  设置封面信息中下划线的宽度（粗细）。
\end{function}

\begin{function}{cover/underlineOffset}
\begin{bitsyntax}[emph={[1]underlineOffset}]
underlineOffset = (*(-10pt)|\marg{任意长度}*)
\end{bitsyntax}

  设置封面信息中下划线的竖直偏移量。
\end{function}

\begin{function}[added=2023-05-09, updated=2024-08-28]{cover/hideCoverInPeerReview}
\begin{bitsyntax}[emph={[1]hideCoverInPeerReview}]
hideCoverInPeerReview = (*false|true*)
\end{bitsyntax}

  \textit{此选项默认值会按论文类型自动设置，一般已满足要求，不需要用户自行修改。}

  在盲审模式下，是否不渲染封面。

  \begin{itemize}
    \item 若设为 |true|，盲审模式下直接删除封面。
    \item 若设为 |false|，盲审模式下保留封面，只是隐去个人信息。
    \item （默认）若未设置，自动根据论文类型设置。具体来说，本科生设为 |true|，研究生设为 |false|。
  \end{itemize}

  未启用盲审模式时，此选项无效果。
\end{function}

\begin{function}[added=2024-03-22,updated=2026-03-11]{cover/showSpecialTypeBox}
\begin{bitsyntax}[emph={[1]showSpecialTypeBox}]
showSpecialTypeBox = (*false|(true)*)
\end{bitsyntax}

  展示「学生类型」（研究生模板）的那个信息框。|true|（默认）表示始终显示；|false| 表示允许隐藏——至少勾选框中一项时显示，无一勾选时隐藏。

  此选项现在默认为 |true|，但曾经默认为 |false|。最初2024年信息框重要程度较低，可为美观而关闭；后来2026年重要程度变高了，遂改为始终显示。

  只适用于\BIThesisTemplates{GT}，对其它模板无影响。

  \textit{此选项一般不需要用户自行修改。}
\end{function}

\begin{function}[added=2024-07-11]{cover/prefer-zh}
\begin{bitsyntax}[emph={[1]prefer-zh}]
prefer-zh = (*(false)|true*)
\end{bitsyntax}

  是否强制使用中文封面，只适用于\BIThesisTemplates{UTE}。该模板默认封面是英文，而有些学院要求采用中文。

  注意设置 |prefer-zh = true| 不会影响 |const/info/major| 等选项的默认值，请参考英文模板的 README 搭配使用。
\end{function}

\begin{function}[added=2024-07-11]{cover/reverse-titles}
\begin{bitsyntax}[emph={[1]reverse-titles}]
reverse-titles = (*(false)|true*)
\end{bitsyntax}

  是否调换中英文标题顺序，只适用于本科中文封面。
  若为 |false|，中文在上，英文在下；若为 |true|，中文在下，英文在上。

  适用于\BIThesisTemplates{UT}，此外\BIThesisTemplates{UTE}设置了 |cover/prefer-zh = true| 时也适用。
  不适用于\BIThesisTemplates{PT}和硕士、博士学位论文。
\end{function}

\begin{function}[added=2024-09-14]{cover/addTitleZh}
\begin{bitsyntax}[emph={[1]addTitleZh}]
addTitleZh = (*(true)|false*)
\end{bitsyntax}

  是否添加中文标题，只适用于本科英文封面。

  只适用于\BIThesisTemplates{UTE}，不适用于其它模板。而且若切换为中文封面（|cover/prefer-zh = true|），此选项也无效。
\end{function}

\subsubsection{论文基本信息}

\begin{function}{info}
\begin{bitsyntax}[emph={[1]info}]
info = (*\marg{键值列表}*)
info/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于录入论文信息。具体内容见下。
 一般以「En」结尾的项目表示对应的英文字段。

 这其中的很多字段将用于封面信息的渲染，此时，可以使用 |\\| 来换行，以防止单行内容过长。
\end{function}

\begin{function}{info/title,info/titleEn}
\begin{bitsyntax}[emph={[1]title,titleEn}]
title = (*\marg{字符串}*)
titleEn = (*\marg{字符串}*)
\end{bitsyntax}

  论文标题。
\end{function}

\begin{function}{info/verticalTitle}
\begin{bitsyntax}[emph={[1]verticalTitle}]
verticalTitle = (*\marg{字符串}*)
\end{bitsyntax}

  书籍页竖排标题。此选项默认为空。为空时，会被 \kvopt{info/title}{字符串} 替代。

  如想要使用竖排英文，可以使用 \lstinline|{X }|。
  其中 X 为英文字符，每个竖排英文间需要空一格。
  比如，想要竖排「LaTeX」，可以使用：

\begin{latex}[emph={[1]}]
verticalTitle = {其他文字{L } {a } {T } {e } {X }其他文字}
\end{latex}

  如果想要使用旋转竖排英文，可以使用
  \lstinline|\rotatebox[origin=c]{-90}{English text}|。

\begin{latex}[emph={[1]}]
verticalTitle = {其他文字 \lstinline{\rotatebox[origin=c]{-90}{English text}} 其他文字}
\end{latex}

  此外可参考\FAQ{cover-dash}。

\end{function}

\begin{function}{info/school,info/schoolEn}
\begin{bitsyntax}[emph={[1]school,schoolEn}]
school = (*\marg{字符串}*)
schoolEn = (*\marg{字符串}*)
\end{bitsyntax}

  学院名称。
\end{function}

\begin{function}{info/major,info/majorEn}
\begin{bitsyntax}[emph={[1]major,majorEn}]
major = (*\marg{字符串}*)
majorEn = (*\marg{字符串}*)
\end{bitsyntax}

  专业名称。
\end{function}

\begin{function}{info/author,info/authorEn}
\begin{bitsyntax}[emph={[1]author,authorEn}]
author = (*\marg{字符串}*)
authorEn = (*\marg{字符串}*)
\end{bitsyntax}

  作者姓名。
\end{function}

\begin{function}{info/studentId}
\begin{bitsyntax}[emph={[1]studentId}]
studentId = (*\marg{字符串}*)
\end{bitsyntax}

  学号。
\end{function}

\begin{function}{info/supervisor,info/supervisorEn}
\begin{bitsyntax}[emph={[1]supervisor,supervisorEn}]
supervisor = (*\marg{字符串}*)
supervisorEn = (*\marg{字符串}*)
\end{bitsyntax}

  指导教师。
\end{function}

\begin{function}{info/industrialMentor,info/industrialMentorEn}
\begin{bitsyntax}[emph={[1]industrialMentor,industrialMentorEn}]
industrialMentor = (*\marg{字符串}*)
industrialMentorEn = (*\marg{字符串}*)
\end{bitsyntax}

  专业型研究生的行业合作导师。
\end{function}

\begin{function}{info/externalSupervisor}
\begin{bitsyntax}[emph={[1]externalSupervisor}]
externalSupervisor = (*\marg{字符串}*)
\end{bitsyntax}

  校外指导教师。
\end{function}

\begin{function}{info/keywords,info/keywordsEn}
\begin{bitsyntax}[emph={[1]keywords,keywordsEn}]
keywords = (*\marg{字符串；以全角分号分割}*)
keywordsEn = (*\marg{字符串;以分号分割}*)
\end{bitsyntax}

  摘要关键词。
\end{function}

\begin{function}{info/translationTitle}
\begin{bitsyntax}[emph={[1]translationTitle}]
translationTitle = (*\marg{字符串}*)
\end{bitsyntax}

  文献翻译中，翻译后的论文名称。
\end{function}

\begin{function}{info/translationOriginTitleEn}
\begin{bitsyntax}[emph={[1]translationOriginTitleEn}]
translationOriginTitleEn = (*\marg{字符串}*)
\end{bitsyntax}

  文献翻译中，翻译前的论文名称。
\end{function}

\begin{function}{info/classification}
\begin{bitsyntax}[emph={[1]classification}]
classification = (*\marg{字符串}*)
\end{bitsyntax}

  中图分类号，用于\BIThesisTemplates{GT}。
\end{function}

\begin{function}{info/UDC}
\begin{bitsyntax}[emph={[1]UDC}]
UDC = (*\marg{字符串}*)
\end{bitsyntax}

  UDC分类号，用于\BIThesisTemplates{GT}。
\end{function}

\begin{function}[added=2026-03-21]{info/universityCode}
\begin{bitsyntax}[emph={[1]universityCode}]
universityCode = (*\marg{字符串}*)
\end{bitsyntax}

  学校代码，用于\BIThesisTemplates{GT}。

  \textit{此选项一般不需要用户自行修改。}
\end{function}

\begin{function}{info/chairman,info/chairmanEn}
\begin{bitsyntax}[emph={[1]chairman,chairmanEn}]
chairman = (*\marg{字符串}*)
chairmanEn = (*\marg{字符串}*)
\end{bitsyntax}

  答辩委员会主席。
\end{function}

\begin{function}{info/degree,info/degreeEn}
\begin{bitsyntax}[emph={[1]degree,degreeEn}]
degree = (*\marg{字符串}*)
degreeEn = (*\marg{字符串}*)
\end{bitsyntax}

  申请学位。
\end{function}

\begin{function}{info/institute,info/instituteEn}
\begin{bitsyntax}[emph={[1]institute,instituteEn}]
institute = (*(北京理工大学)|\marg{字符串}*)
instituteEn = (*(Beijing~Institute~of~Technology)|\marg{字符串}*)
\end{bitsyntax}

  学位授予单位。
\end{function}

\begin{function}[updated=2026-03-21]{info/submissionDate,info/submissionDateEn}
\begin{bitsyntax}[emph={[1]submissionDate,submissionDateEn}]
submissionDate = (*\marg{字符串}*)
submissionDateEn = (*\marg{字符串}*)
\end{bitsyntax}

  论文提交日期。
\end{function}

\begin{function}{info/classifiedLevel}
\begin{bitsyntax}[emph={[1]classifiedLevel}]
classifiedLevel = (*\marg{字符串}*)
\end{bitsyntax}

  密级。
\end{function}

\begin{function}[added=2025-03-31]{info/工程硕博士专项}
\begin{bitsyntax}[emph={[1]工程硕博士专项}]
工程硕博士专项 = (*<(false)|true>*)
\end{bitsyntax}

  学生类型：工程硕博士专项。

  不勾选时默认不显示整个内容，可通过 \hyperref[doc/function//cover/showSpecialTypeBox]{|cover/showSpecialTypeBox| 选项}设置。
\end{function}

\begin{function}[added=2024-03-22]{info/crossResearch}
\begin{bitsyntax}[emph={[1]crossResearch}]
crossResearch = (*<(false)|true>*)
\end{bitsyntax}

  学生类型：交叉研究方向。

  \textit{此选项一般不需要用户自行修改。}
\end{function}

\begin{function}[added=2024-03-22]{info/internationalStudentUGP}
\begin{bitsyntax}[emph={[1]internationalStudentUGP}]
internationalStudentUGP = (*<(false)|true>*)
\end{bitsyntax}

  学生类型：政府项目留学生。

  \textit{此选项一般不需要用户自行修改。}
\end{function}

\subsubsection{样式信息}

\begin{function}{style}
\begin{bitsyntax}[emph={[1]style}]
style = (*\marg{键值列表}*)
style/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整样式。具体内容见下。
\end{function}

\begin{function}[updated=2026-03-31]{style/head}
\begin{bitsyntax}[emph={[1]head}]
head = (*\marg{字符串}*)
\end{bitsyntax}

  \textit{此选项默认值会按论文类型自动设置，一般已满足要求，不需要用户自行修改。}

  页眉文字。

  \BIThesisTemplates{PT}的默认值含“外文翻译”几字，有的学院要求去掉，这时请自行修改。

  若此选项设置为空，则不仅会清空页眉文字，还会一同删除页眉线。若需保留页眉线但清空文字，可设置此选项为空白字符，例如 |{~}|。
\end{function}

\begin{function}{style/headline}
\begin{bitsyntax}[emph={[1]headline}]
headline = (*\marg{字符串}*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  封面校徽下方、论文标题上方的大标题。只适用于本科生毕业设计（论文）及其衍生物，不适用于硕士、博士学位论文。
\end{function}

\begin{function}{style/bibliographyIndent}
\begin{bitsyntax}[emph={[1]bibliographyIndent}]
bibliographyIndent = (*(true)|false*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  控制参考文献的每一项中，首行之后的行是否缩进。

  之所以提供这个选项，
  是因为在（2023年以前的本科生） Word 模板中参考文献的格式（错误地）
  要求首行之后的行不缩进。
  但是国标要求首行之后的行缩进。
\end{function}

\begin{function}[added=2023-03-19]{style/pageVerticalAlign}
\begin{bitsyntax}[emph={[1]pageVerticalAlign}]
pageVerticalAlign = (*(top)|scattered*)
\end{bitsyntax}
设置页面垂直方向的对齐方式。
\begin{optdesc}
  \item[top] 顶部对齐。\textit{默认}。页面中的内容保持它的自然高度，
  每一页的页面底部用空白填满。
  \item[scattered] 分散对齐。页面高度均匀地填满，使每一页的底部直接对齐。
\end{optdesc}
\end{function}

\begin{function}[added=2024-07-09]{style/non-CJK-font-in-headings}
\begin{bitsyntax}[emph={[1]non-CJK-font-in-headings}]
non-CJK-font-in-headings = (*(serif)|sans*)
\end{bitsyntax}

\textit{对于中文模板，此选项一般不需要用户自行修改。}

设置标题中拉丁字母、数字等非汉字部分的字体。
大致 |serif| 对应 Times New Roman，|sans| 对应 Arial。
默认为 |serif|。

“标题”除了包含正文标题，还包含摘要页的论文题目、摘要标题，目录、参考文献、附录的标题等。

学校官方规范中，目前描述较模糊；若从正文、封面类推，应为 Times New Roman。
2024年学校（本科）教务部老师回答其它问题时提到：“所有毕业设计过程文件及论文涉及到的英文和数字用 Times New Roman。”
当年实际提交时，用 Times New Roman、Arial 甚至字偶间距不正常的黑体都能通过。
总之，“这不是重点，美观就行”。

若设为 |sans|，请同时参考 |misc/arialFont| 选项。
\end{function}

\begin{function}[added=2023-03-29]{style/mathFont}
\begin{bitsyntax}[emph={[1]mathFont}]
mathFont = (*(cm)|asana|fira|...|xits|none*)
\end{bitsyntax}
设置数学字体，具体配置见表~\ref{tab:math-font}。除 |Computer Modern| （默认）字体以外，均使用 \pkg{unicode-math} 宏包调用字体。

\end{function}

\begin{function}[added=2023-05-25]{style/windowsSimSunFakeBold}
\begin{bitsyntax}[emph={[1]windowsSimSunFakeBold}]
windowsSimSunFakeBold = (*(false)|true*)
\end{bitsyntax}

在 Windows 平台下，由于中易宋体没有粗体字重；
ctex 会默认选择较为美观的黑体代替粗体宋体。
开启此选项可以开启伪粗体的渲染，从而渲染宋体伪粗体。

\end{function}

\begin{table}[ht]
\begin{tabular}{cc|cc}
\toprule
\textbf{选项名称}                          & \textbf{字体名称}                                & \textbf{选项名称}                  & \textbf{字体名称}                                    \\ \midrule
cm                                     & Computer Modern                             & \cellcolor[HTML]{EFEFEF}newcm  & \cellcolor[HTML]{EFEFEF}New Computer Modern Math \\
\cellcolor[HTML]{EFEFEF}asana          & \cellcolor[HTML]{EFEFEF}Asana Math           & stix                           & STIX Math                                        \\
concrete                               & Concrete Math                                & \cellcolor[HTML]{EFEFEF}stix2  & \cellcolor[HTML]{EFEFEF}STIX Two Math            \\
\cellcolor[HTML]{EFEFEF}erewhon        & \cellcolor[HTML]{EFEFEF}Erewhon Math         & xcharter                       & XCharter Math                                    \\
euler                                  & Euler Math                                   & \cellcolor[HTML]{EFEFEF}xits   & \cellcolor[HTML]{EFEFEF}XITS Math                \\
\cellcolor[HTML]{EFEFEF}fira           & \cellcolor[HTML]{EFEFEF}Fira Math            & bonum                          & TeX Gyre Bonum Math                              \\
garamond                               & Garamond Math                                & \cellcolor[HTML]{EFEFEF}dejavu & \cellcolor[HTML]{EFEFEF}TeX Gyre DejaVu Math     \\
\cellcolor[HTML]{EFEFEF}gfsneohellenic & \cellcolor[HTML]{EFEFEF}GFS Neohellenic Math & pagella                        & TeX Gyre Pagella Math                            \\
kp                                     & KpMath                                       & \cellcolor[HTML]{EFEFEF}schola & \cellcolor[HTML]{EFEFEF}TeX Gyre Schola Math     \\
\cellcolor[HTML]{EFEFEF}libertinus     & \cellcolor[HTML]{EFEFEF}Libertinus Math      & termes                         & TeX Gyre Termes Math                             \\
lm                                     & Latin Modern Math                            &                                &                                                  \\ \bottomrule
\end{tabular}
\caption{数学字体配置选项与名称说明}
\label{tab:math-font}
\end{table}

\begin{function}[added=2023-03-29]{style/unicodeMathOptions}
\begin{bitsyntax}[emph={[1]unicodeMathOptions}]
unicodeMathOptions = (*({})|任意选项*)
\end{bitsyntax}

传递给 \pkg{unicode-math} 的选项。

\end{function}

\begin{function}[added=2023-06-22]{style/hyphen}
\begin{bitsyntax}[emph={[1]hyphen}]
hyphen = (*(true)|false*)
\end{bitsyntax}

是否使用 hyphen 进行英文换行。如果关闭的话，
英文单词将被拉伸从而保证文本的左右对齐。

\end{function}

\begin{function}[added=2023-10-22,updated=2024-04-22]{style/mathAboveDisplaySkip,style/mathBelowDisplaySkip}
\begin{bitsyntax}[emph={[1]mathBelowDisplaySkip,mathAboveDisplaySkip}]
mathBelowDisplaySkip = (*(10pt)|任意长度*)
mathAboveDisplaySkip = (*(10pt)|任意长度*)
\end{bitsyntax}

定义数学公式环境（如 \verb|\begin{equation}| ）到上下段落间的距离。

默认值设置为 10pt——一个比较美观的宽度。
如果你更习惯 Word 文档的公式上下文距离，可以设置为一个更小的值（比如 3pt），反之亦然。

\textit{请保证源码中的公式的环境（如}\verb|\begin{equation}|
  \textit{）与上一段落不要有空行。否则，公式和上文段落之间会有额外的空白。}

\end{function}

\begin{variable}[added=2024-04-04]{style/betterTimesNewRoman}
\begin{bitsyntax}[emph={[1]betterTimesNewRoman}]
betterTimesNewRoman = (*(false)|true*)
\end{bitsyntax}

使用 TeX Gyre Termes 代替 Times New Roman 作为主要字体。
这个选项适用于以下情况：
\begin{enumerate}
  \item  不想或无法在系统中安装 Times New Roman。
  \item 在 Linux/macOS 下遇到 `\textsc` 无法正常显示的问题。
\end{enumerate}

由于该字体与 Times New Roman 极为相似，因此不用担心不符合学校规定。
\end{variable}

\subsubsection{目录选项}

\begin{function}{TOC}
\begin{bitsyntax}[emph={[1]TOC}]
TOC = (*\marg{键值列表}*)
TOC/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{function}[added=2024-07-09]{TOC/title}
\begin{bitsyntax}[emph={[1]title}]
title = (*目录 | Table~of~Contents | \meta{字符串}*)
\end{bitsyntax}

  目录的标题。默认会按论文类型自动设置为「目录」、「目\quad{}录」或“Table~of~Contents”。

  有的学院要求改为“Contents”，这时请自行修改。
\end{function}

\begin{function}{TOC/abstract,TOC/abstractEn}
\begin{bitsyntax}[emph={[1]abstract,abstractEn}]
abstract = (*(true)|false*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  是否在目录中索引摘要。
\end{function}

\begin{function}[added=2024-07-09]{TOC/TOC}
\begin{bitsyntax}[emph={[1]TOC}]
TOC = (*(false)|true*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  是否在目录中索引目录本身。
\end{function}

\begin{function}{TOC/symbols}
\begin{bitsyntax}[emph={[1]symbols}]
abstract = (*(true)|false*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  是否在目录中索引主要符号对照表。
\end{function}

\subsubsection{附录选项}

\begin{function}{appendices}
\begin{bitsyntax}[emph={[1]appendices}]
appendices = (*\marg{键值列表}*)
appendices/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{function}{appendices/chapterLevel}
\begin{bitsyntax}[emph={[1]chapterLevel}]
chapterLevel = (*<(false)|true>*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  开启后，可以使用以「chapter」为顶层的附录格式：

\begin{latex}[emph={[1]appendices,chapter}]
\begin{appendices}
  \chapter{附录A 题目}
     (*\meta{附录A 内容}*)
  \chapter{附录B 题目}
     (*\meta{附录B 内容}*)
\end{appendices}
\end{latex}

  默认不开启，使用以「section」为顶层的附录格式。

\end{function}

\begin{function}{appendices/title}
\begin{bitsyntax}[emph={[1]title}]
title = (*\meta{字符串}*)
\end{bitsyntax}

  附录部分的总标题。默认会按论文类型自动设置为「附录」、「附\quad{}录」或“Appendices”。

  仅在 |appendices/chapterLevel| 为 |false| 时有效。
\end{function}

\begin{function}{appendices/TOCTitle}
\begin{bitsyntax}[emph={[1]TOCTitle}]
TOCTitle = (*\meta{字符串}*)
\end{bitsyntax}

  附录在目录中的名称。默认会按论文类型自动设置为「附录」、「附\quad{}录」或“Appendices”。

  仅在 |appendices/chapterLevel| 为 |false| 时有效。
\end{function}

\subsubsection{攻读学位期间发表论文与研究成果清单选项}

\begin{function}{publications}
\begin{bitsyntax}[emph={[1]publications}]
publications = (*\marg{键值列表}*)
publications/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{function}{publications/sorting}
\begin{bitsyntax}[emph={[1]sorting}]
sorting = (*(true)|false*)
\end{bitsyntax}

学校要求「攻读学位期间发表论文与研究成果清单」中的论文按发表时间排序，
但实际可能有别的需求，想自定义排序。
该选项用于控制是否按照发表时间排序。

您大致有以下三种选择。

\begin{itemize}
  \item 完全按发表时间排序——保留默认的 |true| 即可。（严格来说，这是按年份、姓名、标题排序。）

  \item 完全手动指定顺序——修改为 |false|。这样会按照 |\addpubs| 或 |\addpub| 引用顺序来排。

  \item 在发表时间顺序上微调，把个别的提到最前——保留默认的 |true|，同时在 |*.bib| 文件中给个别项加上 |sortkey| 字段。

    具体例子可参考\FAQ{bib-sort}[sortkey]，详细解释可参考 \href{https://mirrors.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}{biblatex-gb7714-2015 宏包手册（中文）}或 \href{https://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf}{biblatex 宏包手册（英文）}。
\end{itemize}

\textit{注意，如果编译后编号产生错误，
请使用 |latexmk -c| 或手动清空缓存后再编译。}
\end{function}

\begin{function}{publications/omit}
\begin{bitsyntax}[emph={[1]omit}]
omit = (*(false)|true*)
\end{bitsyntax}

在盲审模式下，不渲染「攻读学位期间发表论文与研究成果清单」。

\textit{一般不需要用户自行修改。}
\end{function}

\begin{function}[added=2023-02-18,updated=2024-04-23]{publications/maxbibnames}
\begin{bitsyntax}[emph={[1]maxbibnames}]
maxbibnames = (*(10)|\marg{正整数}*)
\end{bitsyntax}

影响「攻读学位期间发表论文与研究成果清单」中所有名称列表（author、editor 等）的阈值。
如果名称列表超过了该阈值，即，它包含的姓名数量超过 \marg{正整数}，
那么就会根据 \kvopt{publications/minbibnames}{正整数} 选项的设置进行自动截断。

\end{function}

\begin{function}[added=2023-02-18,updated=2024-04-23]{publications/minbibnames}
\begin{bitsyntax}[emph={[1]minbibnames}]
minbibnames = (*(10)|\marg{正整数}*)
\end{bitsyntax}

影响「攻读学位期间发表论文与研究成果清单」中所有名称列表（author、editor 等）的限制值。
如果某个列表包含的姓名数量超
过 |maxbibnames| 个，那么就会自动截断至 |minbibnames| 个姓名。|minbibnames| 的值必须小于或
等于 |maxbibnames|。

对于用户来说，可以将 |minbibnames| 理解为「姓名列表的最小长度」。
\textbf{例如，你在全部文献中最低排在第四位，那么可以将 |minbibnames| 和 |maxbibnames| 都设置为 4。}

\end{function}

\subsubsection{致谢选项}

\begin{function}{acknowledgements}
\begin{bitsyntax}[emph={[1]acknowledgements}]
acknowledgements = (*\marg{键值列表}*)
acknowledgements/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{function}[added=2025-05-15]{acknowledgements/showTitleInPeerReview}
\begin{bitsyntax}[emph={[1]showTitleInPeerReview}]
showTitleInPeerReview = (*false|true*)
\end{bitsyntax}

\textit{此选项默认值会按论文类型自动设置，一般已满足要求，不需要用户自行修改。}

在盲审模式下，是否显示致谢题目。

\begin{itemize}
  \item （本科模板默认）若设为 |false|，盲审模式下直接删除致谢。
  \item （硕博模板默认）若设为 |true|，盲审模式下保留致谢题目，只是隐去致谢内容。
\end{itemize}

未启用盲审模式时，此选项无效果。

\end{function}

\subsubsection{其他配置}

\begin{function}{misc}
\begin{bitsyntax}[emph={[1]misc}]
misc = (*\marg{键值列表}*)
misc/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{function}{misc/arialFont}
\begin{bitsyntax}[emph={[1]arialFont}]
arialFont = (*\marg{字符串}*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  早期（2022年及以前）\BIThesisTemplates{UTE}需要设置 Arial 字体。
  在 Windows 和 macOS 中，该字体已经安装；在 Linux 中需要用户自行安装（如果你是 WSL 用户，可参照\FAQ{word-font}[wsl]直接使用 Windows 下的字体）。
\end{function}

\begin{function}[added=2023-04-22, updated=2024-05-13]{misc/tabularFontSize}
\begin{bitsyntax}[emph={[1]tabularFontSize}]
tabularFontSize = (*(5)|其他字号*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  此选项用于调整表格中的字号。默认值为 5 号字。

  如果你需要临时调整表格中的字号，可以使用 |\BITSetup| 命令
  在局部范围内覆盖此选项（注意使用大括号）。

  此选项影响的“表格”具体包括标准 |tabular|、|tabular*| 环境，以及 |tabularx| 和 |longtable| 宏包提供的环境。

\begin{latex}
{
 \BITSetup{ misc / tabularFontSize = -4}

 \begin{table}[hbt]
   \centering
   \caption{水系聚氨酯分类} \label{tab:category}
   \begin{tabular*}{0.9\textwidth}{@{\extracolsep{\fill}}cccc}
   \toprule
     类别			&水溶型		&胶体分散型		&乳液型 \\
   \midrule
     状态			&溶解$\sim$胶束	&分散		&白浊 \\
     外观			&水溶型		&胶体分散型		&乳液型 \\
     粒径$/\mu m$	&$<0.001$		&$0.001-0.1$		&$>0.1$ \\
     重均分子量	&$1000\sim 10000$	&数千$\sim 20$万 &$>5000$ \\
   \bottomrule
   \end{tabular*}
 \end{table}
}
\end{latex}
\end{function}

\begin{function}[added=2023-04-22,updated=2023-05-09]{misc/autoref/algo, misc/autoref/them, misc/autoref/lem,
 misc/autoref/prop, misc/autoref/cor, misc/autoref/axi, misc/autoref/defn, misc/autoref/conj,
 misc/autoref/exmp, misc/autoref/case, misc/autoref/rem,misc/autoref/fig,misc/autoref/tab,misc/autoref/equ}
\begin{bitsyntax}[emph={[1]tabularFontSize}]
autoref = {
  algo = (*(算法)|\marg{字符串}*),
  them = (*(定理)|\marg{字符串}*),
  lem = (*(引理)|\marg{字符串}*),
  prop = (*(命题)|\marg{字符串}*),
  cor = (*(推论)|\marg{字符串}*),
  axi = (*(公理)|\marg{字符串}*),
  defn = (*(定义)|\marg{字符串}*),
  conj = (*(猜想)|\marg{字符串}*),
  exmp = (*(例)|\marg{字符串}*),
  case = (*(情形)|\marg{字符串}*),
  rem = (*(备注)|\marg{字符串}*),
  fig = (*(图)|\marg{字符串}*),
  tab = (*(表)|\marg{字符串}*),
  equ = (*(式)|\marg{字符串}*),
}
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  此选项用于定义 |autoref| 命令的输出格式。英文模板中，
  默认值会自动变成相应的英文格式（如|Figure|）。

  \textit{此选项的默认值实际上是受到 \autoref{sec:const} 中 |const/autoref/xxx| \\
  （如 \cmd{misc/autoref/algo}）选项的影响。}

\end{function}

\begin{function}[added=2023-04-29]{misc/hideLinks}
\begin{bitsyntax}[emph={[1]hideLinks}]
hideLinks = (*(true)|false*)
\end{bitsyntax}

 此选项用于控制是否隐藏超链接的颜色。（只影响显示效果；即使不隐藏，打印效果也一样。）

 为了减少歧义，此选项默认值为 |true|，即隐藏超链接的颜色。

 \textit{请在导言区使用此选项。}

 相关功能由 \pkg{hyperref} 宏包支持，可参阅其手册进一步用 \cs{hypersetup} 定制。

\end{function}

\begin{function}[added=2024-04-09]{misc/floatSeparation}
\begin{bitsyntax}[emph={[1]floatSeparation}]
floatSeparation = (*(0)|\marg{实数}*)
\end{bitsyntax}

 \textit{此选项一般不需要用户自行修改。}

 此选项用于调整浮动体与正文之间的距离，距离单位为行距，允许小数与负数。默认值为0倍行距，即不调整。

 默认值已考虑本科生毕业设计对空行的要求。

 \textit{请在导言区使用此选项。}

\end{function}

\begin{function}[added=2024-05-20]{misc/algorithmSeparation}
\begin{bitsyntax}[emph={[1]algorithmSeparation}]
algorithmSeparation = (*(12pt plus 4pt minus 4pt)|\marg{长度}*)
\end{bitsyntax}

 \textit{此选项一般不需要用户自行修改。}

 此选项用于调整算法与正文之间的距离。距离用\href{https://www.overleaf.com/learn/latex/Lengths_in_LaTeX}{长度}表示，例如 |0.5em| 大致是半个字高。默认值更复杂一些，它表示以12点为基准，允许上下浮动4点。

 （学校既无明文规定，也无实例。）

 此选项目前只支持 |algorithm2e| 宏包的 |algorithm| 环境。

 \textit{请在导言区使用此选项。}

\end{function}

\begin{function}[added=2024-04-30, updated=2024-05-25]{misc/tabularRowSeparation}
\begin{bitsyntax}[emph={[1]tabularRowSeparation}]
tabularRowSeparation = (*(1)|\marg{正实数}*)
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  此选项用于调整表格各行之间的距离，允许小数。默认值为1，相当于不调整。

  学校没有明文规定，不过设为1.25更接近本科Word模板实作，设为1.6更接近硕博Word模板实作。

  此选项影响的“表格”具体包括标准 |tabular|、|tabular*| 环境，以及 |tabularx| 和 |longtable| 宏包提供的环境。

  此选项可用于正文，参考\FAQ{array-stretch}。

\end{function}

\subsubsection{常量名称覆盖}
\label{sec:const}

在\BIThesis{} 中，模板定义了很多常量字符串，如页眉文字、章节名称等。
你可以通过修改这里的选项来覆盖这些常量。

\begin{function}{const}
\begin{bitsyntax}[emph={[1]const}]
const = (*\marg{键值列表}*)
const/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于调整其他选项。具体内容见下：
\end{function}

\begin{variable}[added=2023-04-22,updated=2023-05-09]{const/autoref/algo,const/autoref/them,
const/autoref/lem,const/autoref/prop,const/autoref/cor,const/autoref/axi,
const/autoref/defn,const/autoref/conj,const/autoref/exmp,
const/autoref/case,const/autoref/rem,
const/autoref/fig,const/autoref/tab,const/autoref/equ}
\begin{bitsyntax}[emph={[1]tabularFontSize}]
autoref = {
  algo = (*(算法)|\marg{字符串}*),
  them = (*(定理)|\marg{字符串}*),
  lem = (*(引理)|\marg{字符串}*),
  prop = (*(命题)|\marg{字符串}*),
  cor = (*(推论)|\marg{字符串}*),
  axi = (*(公理)|\marg{字符串}*),
  defn = (*(定义)|\marg{字符串}*),
  conj = (*(猜想)|\marg{字符串}*),
  exmp = (*(例)|\marg{字符串}*),
  case = (*(情形)|\marg{字符串}*),
  rem = (*(备注)|\marg{字符串}*),
  fig = (*(图)|\marg{字符串}*),
  tab = (*(表)|\marg{字符串}*),
  equ = (*(式)|\marg{字符串}*),
}
\end{bitsyntax}

  \textit{此选项一般不需要用户自行修改。}

  此选项用于定义 |autoref| 命令的输出格式。英文模板中，
  默认值会自动变成相应的英文格式（如|Figure|）。

\end{variable}

\begin{variable}[added=2023-05-09]{const/style/substituteSymbol}
\begin{bitsyntax}[emph={[1]substituteSymbol}]
substituteSymbol = (*(*)|\marg{字符串}*),
\end{bitsyntax}

  盲审模式下用于替换个人信息的替换符号。
\end{variable}

\begin{variable}[added=2023-06-11, updated=2024-07-09]{const/info/degree,const/info/major}
\begin{bitsyntax}[emph={[1]degree,major}]
  info = {
    degree = (*申请学位 | 申请类别 |\marg{字符串}*),
    major = (*专业 | 学科专业 | 一级学科 | 学位领域 | Degree | \marg{字符串}*),
  },
\end{bitsyntax}

  用于定义封面中个人信息条目的各个常量值。默认按论文类型自动设置。
\end{variable}

\begin{variable}[added=2024-07-09]{const/heading/acknowledgements}
\begin{bitsyntax}[emph={[1]acknowledgements}]
  heading = {
    acknowledgements = (*致谢 | Acknowledgements | \marg{字符串}*),
  },
\end{bitsyntax}

  用于定义一些固定章节的标题。默认按论文类型自动设置。
\end{variable}

\section{正文编写}

请注意，请在\env{document} 之内使用以下命令 。

\subsection{封面及基本信息}

\begin{function}[updated=2025-04-15]{\MakeCover}

  \textit{封面内容会根据模板选项（具体参见节
    \ref{sec:template-options}）中\meta{type=xxx}的值而变化。}
  \textit{封面的下划线效果会受到参数设置中封面选项
     （具体见节\ref{sec:cover}）的影响。}

  绘制封面。

  在默认配置下，封面中的下划线会自动计算最大宽度。
  此时，如果用户需要换行，可以通过「|\\|」控制换行。

  当关闭自动计算下划线宽度后，
  可以通过

  \meta{labelMaxWidth=xxx}

  与

  \meta{valueMaxWidth=xxx}

  来指定下划线的宽度。一般情况下，我们不建议您这样做。

  默认加入PDF书签。如需隐去，可设置 |\MakeCover[bookmarked = false]|。
\end{function}

\begin{function}{\SecretInfo{}[]}
  \begin{itemize}
    \item 参数一为一般模式下显示的信息。
    \item 参数二（可选）为盲审模式下显示的信息。
  \end{itemize}

  用于在盲审模式下隐藏个人隐私信息。

  如果传入第二个参数，则会用等量的替换符号（一般是|*|）替换内容。
  否则，将使用第二个参数替换内容。
\end{function}

\begin{function}[updated=2025-04-15]{\MakePaperBack}

  绘制书脊，用于\BIThesisTemplates{GT}。

  默认加入PDF书签。如需隐去，可设置 |\MakePaperBack[bookmarked = false]|。
\end{function}

\begin{function}[updated=2026-03-24]{\MakeTitle}

  绘制中英文题名页，用于\BIThesisTemplates{GT}。

  默认两页均加入PDF书签。如需共同隐去，可设置 |\MakeTitle[bookmarked = false]|。
\end{function}

\begin{function}[updated=2025-04-15]{\MakeOriginality}

  绘制原创性声明、关于使用授权的声明（本科）或研究成果声明、关于学位论文使用权的说明（硕博）。

  默认加入PDF书签。如需隐去，可设置 |\MakeOriginality[bookmarked = false]|。
\end{function}

\subsection{前置部分}

\begin{function}{\frontmatter}

  声明前置部分开始。

  此时页码会使用罗马数字进行计数。
\end{function}

\begin{function}[updated=2023-02-17, label=env.abstract]{abstract}
\begin{bitsyntax}[emph={[1]abstract}]
\begin{abstract}
   (*\meta{中文摘要}*)
\end{abstract}
\end{bitsyntax}
\end{function}

\begin{function}[updated=2023-02-17, label=env.abstractEn]{abstractEn}
\begin{bitsyntax}[emph={[1]abstractEn}]
\begin{abstractEn}
   (*\meta{英文摘要}*)
\end{abstractEn}
\end{bitsyntax}

 摘要。

 摘要的最后会显示关键词，关键词通过 \cs{BITSetup} 录入。

\end{function}

\begin{function}{\MakeTOC,\listoffigures,\listoftables}

 绘制目录、插图目录与表格目录。
\end{function}

\begin{function}{symbols}
\begin{bitsyntax}[emph={[1]symbols}]
\begin{symbols}
   \item[BIT] 北京理工大学的英文缩写
   \item[\LaTeX] 一个很棒的排版系统
\end{symbols}
\end{bitsyntax}

  主要符号对照表。

  主要符号对照表类似于一个列表环境，用以添加文章中使用的关键符号与缩略词。

  另可参考\FAQ{symbols-bracket}、\FAQ{symbols-variant}。

\end{function}

\begin{function}{addTOC}
\begin{bitsyntax}[emph={[1]addTOC}]
addTOC = (*<(true)|false>*)
\end{bitsyntax}

 主要符号对照表的可选参数。

 添加主要符号对照表到目录，默认开启。
\end{function}

\subsection{正文部分}

\begin{function}{\mainmatter}

  声明正文部分开始。

  此时页码会使用阿拉伯数字进行计数。
\end{function}

\subsubsection{定理类环境}
\paragraph{默认格式}

\begin{function}[updated=2023-03-05]{algo,them,lem,prop,cor,axi,defn,conj,exmp,case,rem}
\begin{bitsyntax}[emph={[2]proof}]
\begin{them}[留数定理]
  (*\meta{定理内容}*)
\end{them}

\begin{proof}(*\oarg{小标题}*)
  (*\meta{证明过程}*)
\end{proof}
\end{bitsyntax}

  一系列预定义的数学环境。具体含义见表~\ref{tab:theorem}。

  其中提供了算法环境 |algo|，但模板也适配了一些更专业的宏包，请参考\FAQ{algorithm}。
\end{function}

\begin{table}[p]
\caption{预定义的数学环境}
\centering
\subfloat[][plain样式]{
  \begin{tabular}{@{}ccccccc@{}}
  \toprule
  \textbf{名称} & algo & them & lem & prop & cor & axi \\ \midrule
  \textbf{全称} & algorithm & theorem & lemma & proposition & corollary & axiom \\
  \textbf{含义} & 算法        & 定理      & 引理    & 命题          & 推论        & 公理    \\
  \textbf{样式} & \multicolumn{6}{c}{\textbf{定理2.1.} \textit{定理内容……}}       \\ \bottomrule
  \end{tabular}
}

\subfloat[][definition样式]{
  \begin{tabular}{@{}ccccc@{}}
  \toprule
  \textbf{名称} & defn & conj & exmp & case \\ \midrule
  \textbf{全称} & definition & conjecture & example & case \\
  \textbf{含义} & 定义        & 猜想      & 例    & 情形          \\
  \textbf{样式} & \multicolumn{4}{c}{\textbf{定义2.1.} 定义内容……}       \\ \bottomrule
  \end{tabular}
}

\subfloat[][remark样式]{
  \begin{tabular}{@{}cc@{}}
  \toprule
  \textbf{名称} & rem \\ \midrule
  \textbf{全称} & remark \\ \midrule
  \textbf{含义} & 注        \\
  \textbf{样式} & \multicolumn{1}{c}{\textit{注1.} 内容……}       \\ \bottomrule
  \end{tabular}
}

\subfloat[][proof样式]{
  \begin{tabular}{@{}cc@{}}
  \toprule
  \textbf{名称} & proof \\ \midrule
  \textbf{全称} & proof \\
  \textbf{含义} & 证明        \\
  \textbf{样式} & \multicolumn{1}{c}{\textit{证明. } 内容…… 「证毕符号」}       \\ \bottomrule
  \end{tabular}
}
\label{tab:theorem}
\end{table}

\subsection{后置部分}

\begin{function}{\backmatter}

  声明后置部分开始。

  会取消章节标题的的编号。

\end{function}

\begin{function}[updated=2025-04-15, label=env.conclusion]{conclusion}
\begin{bitsyntax}[emph={[1]conclusion}]
\begin{conclusion}
   (*\meta{结论}*)
\end{conclusion}
\end{bitsyntax}

  标题默认按论文类型自动设置。如需更改，可如下设置 |title|。

\begin{latex}[emph={[1]conclusion}]
\begin{conclusion}[title = 结论与 $\lim_{t \to +\infty}$]
  结论作为学位论文正文的最后部分单独排写，但不加章号。
\end{conclusion}
\end{latex}

\end{function}

\begin{function}[label=env.bibprint]{bibprint}
\begin{bitsyntax}[emph={[1]bibprint}]
\begin{bibprint}
   \printbibliography[heading=none]
\end{bibprint}
\end{bitsyntax}

  打印参考文献。

  在使用\BIThesisTemplates{GT}时需要注意，
  由于研究生学位论文也要求使用国标形式输出「攻读学位期间发表论文与研究成果清单」，
  因此 bithesis 同样使用 bibtex 管理其文献。
  而由于 biblatex 的排序是全局的，
  因此需要使用 \meta{category} 功能来分割出两个不同的类别。

  因此，请使用下列语句输出参考文献：

\begin{latex}[emph={[1]bibprint}]
\begin{bibprint}
  \printbibliography[heading=none,notcategory=mypub,resetnumbers=true]
\end{bibprint}
\end{latex}
\end{function}

\begin{function}[label=env.appendices]{appendices}
\begin{bitsyntax}[emph={[1]appendices}]
\begin{appendices}
  \section{附录A题目}
     (*\meta{附录A内容}*)
  \section{附录B题目}
     (*\meta{附录B内容}*)
\end{appendices}
\end{bitsyntax}

 附录。
\end{function}

\begin{function}[label=env.publications]{publications}
\begin{bitsyntax}[emph={[1]publications,addpubs,printbibliography}]
文献较少的时候。
\begin{publications}
  \addpubs{\meta{引用内容的key},\meta{引用内容的key2}}

  \printbibliography[heading=none,category=mypub,resetnumbers=true]
\end{publications}

文献较多，需要分类的时候。
\begin{publications}
  \addpubs{\meta{引用内容的key},\meta{引用内容的key2}}
  \pubsection{文章}

  \printbibliography[heading=none,type=article,category=mypub,resetnumbers=true]{}

  \pubsection{一些书}

  \printbibliography[heading=none,type=book,category=mypub,resetnumbers=true,notkeyword=dummy]{}

  \pubsection{另一些书}

  \printbibliography[heading=none,type=book,category=mypub,keyword=dummy,resetnumbers=true]{}
\end{publications}
\end{bitsyntax}

  攻读学位期间发表论文与研究成果清单。
\end{function}

\begin{function}[added=2022-10-23]{\addpubs,\addpub}
\begin{bitsyntax}[emph={[1]publications,addpubs,addpub}]
\begin{publications}
  \addpub{\meta{单条引用内容的key}}
  \addpubs{\meta{引用内容的key},\meta{引用内容的key2}}
\end{publications}
\end{bitsyntax}

\textbf{请注意，如果你的参考文献同时出现在「攻读学位期间发表论文与研究成果清单」和「参考文献」中，
请将条目分别添加进入两个 |.bib| 文件中，并修改它们的key以避免重名；切勿重复使用。}

\textit{在「攻读学位期间发表论文与研究成果清单」环境中使用。}
用于添加个人成果，添加过的成果可以通过 |printbibliography| 打印。
\end{function}

\begin{function}[added=2022-10-23, updated=2025-01-02]{\pubsection}
\begin{bitsyntax}[emph={[1]publications,pubsection,printbibliography}]
\begin{publications}
  \addpubs{\meta{引用内容的key},\meta{引用内容的key2}}

  \pubsection{分类一}
  \printbibliography[heading=none,category=mypub,type=book,resetnumbers=true]

  \pubsection{分类二}
  \printbibliography[heading=none,category=mypub,type=article,resetnumbers=true]
\end{publications}
\end{bitsyntax}

\textit{在「攻读学位期间发表论文与研究成果清单」环境中使用。}
用于添加分类的目录。

|\pubsection| 会编号；若不想编号，请改用 |\pubsection*|。
\end{function}

\begin{function}[added=2022-10-23]{\Author,\AuthorEn}
\begin{bitsyntax}[emph={[1]Author}]
\Author[<n(表示第几作者，默认为 1)>][<覆盖普通模式下内容>][<覆盖盲审模式下内容>]
\end{bitsyntax}

\textit{通常在「攻读学位期间发表论文与研究成果清单」的 |.bib| 文件中使用。}
\begin{itemize}
  \item 普通模式：

  \begin{itemize}
    \item 默认输出作者姓名。

    （作者姓名由用户在 |info/author| 中配置。）

    \item 如果指定了覆盖普通模式下内容，则输出覆盖内容。
  \end{itemize}

  \item 盲审模式：

  \begin{itemize}
    \item 默认输出「第n作者」。

    （具体情况：|\Author| 输出中文，如|第一作者|；|\AuthorEn| 输出英文，如 |First Author|。）

    \item 如果指定了覆盖盲审模式下内容，则输出覆盖内容。
  \end{itemize}
\end{itemize}

注意「第n作者」的n取决于 |\Author| 的参数——目前无法自动读取 |.bib| 文件中 |author+an| 字段标注的位置。

使用示例：
\begin{itemize}
  \item |\Author| 输出作者姓名（普通）或|第一作者|（盲审）。
  \item |\Author[][][第一发明人]| 输出作者姓名（普通）或|第一发明人|（盲审）。
  \item |\AuthorEn[2]| 输出作者姓名（普通）或|Second Author|（盲审）。
  \item |\Author[][][共同二作]| 输出作者姓名（普通）或|共同二作|（盲审）。
\end{itemize}

此外，可用\FAQ{pub-author-an}生成代码。
\end{function}

\begin{function}[updated=2026-03-24,label=env.acknowledgements]{acknowledgements}
\begin{bitsyntax}[emph={[1]acknowledgements}]
\begin{acknowledgements}
  (*\meta{致谢内容}*)
\end{acknowledgements}
\end{bitsyntax}

  致谢。

  盲审模式下，致谢的内容始终隐藏，而标题显示还是隐藏由 \hyperref[doc/function//acknowledgements/showTitleInPeerReview]{|acknowledgements/showTitleInPeerReview| 选项}决定。
\end{function}

\begin{function}[label=env.resume]{resume}
\begin{bitsyntax}[emph={[1]resume}]
\begin{resume}
  (*\meta{个人简介内容}*)
\end{resume}
\end{bitsyntax}

  个人简介。
\end{function}

\section{常见问题和疑难解答}

请参考\href{https://bithesis.bitnp.net/faq/}{在线文档的「疑难杂症」部分}，此处仅略作枚举。

\input{assets/faq.tex}

\section{\cls{bitreport.cls} 使用与配置}
\label{sec:bitreport}

推荐使用\BIThesisRelease （开箱即用）。

\BIThesisRelease 提供了多种最常用的模板，你可以在
\href{https://github.com/BITNP/BIThesis/releases}{主项目的 Releases}
中找到它们。

使用此文档类的模板有：
\begin{itemize}
 \item \BIThesisTemplates{UP}
 \item \BIThesisTemplates{LR}
\end{itemize}

\subsection{最小用例}

\begin{latex}
\documentclass[]{bitreport}
\BITSetup{
  info = {
    author = FKY,
    ......
  }
}
\begin{document}
\end{document}
\end{latex}

\subsection{模板选项}

所谓“模板选项”，指需要在引入文档类的时候指定的选项：

\begin{latex}[deletetexcs={\documentclass},morekeywords={\documentclass}]
\documentclass(*\oarg{模板选项}*){bithesis}
\end{latex}

% \iffalse
% l3doc 的 function 环境会按函数名称自动设置标签，默认与之前 bithesis.cls 的标签重复，故需手动指定标签
% \fi

\begin{function}[label=bitreport.type]{type}
\begin{bitsyntax}[emph={[1]type}]
type = (*<(common)|\mbox{undergraduate_proposal}>*)
\end{bitsyntax}
  选择论文类型，它们分别对应：
  \begin{itemize}
    \item \BIThesisTemplates{LR}
    \item \BIThesisTemplates{UP}
  \end{itemize}
\end{function}

\begin{function}[label=bitreport.ctex]{ctex}
\begin{bitsyntax}[emph={[1]ctex}]
ctex = (*传给 ctexbook 的模板选项*)
\end{bitsyntax}

  该选项用于传入模板选项至 ctexbook。

  例如：想要同时修改 ctex 的字体参数和标点符号处理格式（更多选项请参考 ctex 手册）。

\begin{latex}[emph={[1]type,common,ctex,fontset,fandol,punct,banjiao,bitreport}]
\documentclass[type=common,ctex={fontset=fandol,punct=banjiao}]{bitreport}
\end{latex}
\end{function}

\subsection{参数设置}

\begin{function}[label=bitreport.BITSetup]{\BITSetup}
\begin{bitsyntax}[emph={[1]BITSetup}]
\BITSetup = {(*\oarg{键值对}*)}
\end{bitsyntax}
\end{function}

本模板提供了一系列选项，可由您自行配置。载入文档类之后，以下所有选项均可通过统一的
命令 \cs{BITSetup} 来设置。

\cs{BITSetup} 的参数是一组由（英文）逗号隔开的选项列表，列表中的选项通常是 \meta{key} =
\meta{value} 的形式。部分选项的 \meta{value} 可以省略。对于同一项，后面的设置将会覆盖前面的设
置。在下文的说明中，将用粗体表示默认值。

\cs{BITSetup} 采用 LATEX3 风格的键值设置，支持不同类型以及多种层次的选项设定。键值列
表中，“=”左右的空格不影响设置；但需注意，参数列表中不可以出现空行。
与模板选项相同，布尔型的参数可以省略 \meta{选项} = true 中的“= true”。
另有一些选项包含子选项，如 cover 和 info 等。它们可以按如下两种等价方式来设定：

\begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}]
\BITSetup{
  cover = {
    date = xxxx年x月,
  },
  info = {
    author = Feng Kaiyu,
    title = A Report Title for Your Experiment,
  }
}
\end{latex}

或者

\begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}]
\BITSetup{
  cover / date = xxxx年x月,
  info / author = Feng Kaiyu,
  info / title = A Thesis Title for Your Paper,
}
\end{latex}

\subsubsection{封面选项}

\begin{function}[label=bitreport.cover]{cover}
\begin{bitsyntax}[emph={[1]cover}]
cover = (*\marg{键值列表}*)
cover/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

  该选项包含许多子项目，用于设置论文格式。具体内容见下。
\end{function}

\begin{function}[label=bitreport.cover/date]{cover/date}
\begin{bitsyntax}[emph={[1]date}]
date = (*\marg{任意字符串}*)
\end{bitsyntax}

  覆盖封面的日期。
\end{function}

\subsubsection{文档基本信息}

\begin{function}[label=bitreport.info]{info}
\begin{bitsyntax}[emph={[1]info}]
info = (*\marg{键值列表}*)
info/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于录入论文信息。具体内容见下。
\end{function}

\begin{function}[label=bitreport.info/title]{info/title}
\begin{bitsyntax}[emph={[1]title}]
title = (*\marg{字符串}*)
\end{bitsyntax}

  论文或报告标题。
\end{function}

\begin{function}[label=bitreport.info/school]{info/school}
\begin{bitsyntax}[emph={[1]school}]
school = (*\marg{字符串}*)
\end{bitsyntax}

  学院名称。
\end{function}

\begin{function}[label=bitreport.info/major]{info/major}
\begin{bitsyntax}[emph={[1]major}]
major = (*\marg{字符串}*)
\end{bitsyntax}

  专业名称。
\end{function}

\begin{function}[label=bitreport.info/author]{info/author}
\begin{bitsyntax}[emph={[1]author}]
author = (*\marg{字符串}*)
\end{bitsyntax}

  作者姓名。
\end{function}

\begin{function}[label=bitreport.info/studentId]{info/studentId}
\begin{bitsyntax}[emph={[1]studentId}]
studentId = (*\marg{字符串}*)
\end{bitsyntax}

  学号。
\end{function}

\begin{function}[label=bitreport.info/supervisor]{info/supervisor}
\begin{bitsyntax}[emph={[1]supervisor}]
supervisor = (*\marg{字符串}*)
\end{bitsyntax}

  指导教师。
\end{function}

\begin{function}[label=bitreport.info/externalSupervisor]{info/externalSupervisor}
\begin{bitsyntax}[emph={[1]externalSupervisor}]
externalSupervisor = (*\marg{字符串}*)
\end{bitsyntax}

  校外指导教师。
\end{function}

\begin{function}[label=bitreport.info/class]{info/class}
\begin{bitsyntax}[emph={[1]class}]
class = (*\marg{字符串}*)
\end{bitsyntax}

  班级。
\end{function}

\subsubsection{其他选项}

\begin{function}[label=bitreport.misc]{misc}
\begin{bitsyntax}[emph={[1]misc}]
misc = (*\marg{键值列表}*)
misc/(*\meta{key}*) = (*\meta{value}*)
\end{bitsyntax}

 该选项包含许多子项目，用于额外的控制。具体内容见下。
\end{function}

\begin{function}[label=bitreport.misc/reviewTable]{misc/reviewTable}
\begin{bitsyntax}[emph={[1]reviewTable}]
reviewTable = (*\marg{指向评审表的路径}*)
\end{bitsyntax}

  用于指定已经填写好的评审表 PDF 文件。
\end{function}

\section{致谢}
\begin{itemize}
  \item 感谢历届贡献者对 BIThesis 的悉心维护。
  \item 感谢学校及老师们对 BIThesis 的支持。
  \begin{itemize}
    \item 感谢北京理工大学教务部、计算机学院对本科模板的支持。
    \item 感谢北京理工大学研究生院对研究生模板的支持。
  \end{itemize}
  \item 感谢众多优秀的开源 $\LaTeX$ 项目，他们为后来者提供了前进的方向。
  \begin{itemize}
    \item \href{https://github.com/hushidong/biblatex-gb7714-2015}{biblatex-gb7714-2015}
      提供了易用的国标引用格式以及细心指导。
    \item \href{https://github.com/BIT-thesis/LaTeX-template}
      {北京理工大学硕士（博士）学位论文 $\LaTeX$ 模板} 提供了
      研究生模板样式的代码参考。
    \item \href{https://github.com/stone-zeng/fduthesis}
      {fduthesis（复旦大学学位论文 $\LaTeX$ 模板）} 提供了包编写的最佳实践。
    \item \href{https://github.com/tuna/thuthesis}
      {ThuThesis（清华大学学位论文 $\LaTeX$ 模板）} 提供了 dtx 文件的编写参考。
  \end{itemize}
\end{itemize}

最后，感谢你的使用。

\section{软件许可证}

\begin{itemize}
  \item 北京理工大学校徽校名图片的版权归北京理工大学所有。
  \item \BIThesisLaTeX 宏包以及相关文档类使用 \LPPL 授权。
  \item \BIThesisLaTeX 文档及其他附属文件通过 CC0-1.0 授权。
\end{itemize}

\Finale
\endinput
