\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}} \title{\includegraphics[width=0.3\textwidth]{images/icon.png} \\[1cm] \bfseries 北京理工大学{\LaTeX}学位论文及报告模板 } \author{北京理工大学网络开拓者协会 \\ \texttt{webmaster@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 年,\BIThesis 最早由 2016 级的 武上博、王赞、唐誉铭、牟思睿和詹熠莎等人维护。 \begin{itemize} \item 此时,\BIThesis 仅支持本科生毕业论文的排版。 \item 在此期间,\BIThesis 从无到有诞生了,包括使用手册、 在线文档和开箱即用的模板。 \item 同时,2017 级的赵池等同学完成了一系列 \BIThesisLaTeX 的视频教程。 \end{itemize} \item 2020 - 2021 年,2017 级的冯开宇、杨思云、郝正亮和顾骁等人 接管了维护开发工作。 \begin{itemize} \item 在此期间,冯开宇将原来的 .tex 文件制作成了宏包,并发布到 CTAN 上。 \item 项目代码也随之被拆分成了 \BIThesisMacroPackage, \BIThesisWiki 和 \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 的认可。 另外,2020级的徐元昌改正了文档、手册、注释中若干错误或过时信息(其中有些源于QQ群),增加了读书报告模板。 \item 2024 年,冯开宇和徐元昌推动了对研究生院原官方模板的替换。 \end{itemize} \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 发布: \href{https://bithesis.bitnp.net/guide/preface.html#q-bithesis-都包含哪些模板}{Overleaf Templates} \end{itemize} 其中,CTAN 上发布的是 bithesis 宏包,也就是 |*.cls| 组成的文件, 它们可以通过 \TeX 发行版自带的包管理器 tlmgr 来更新。 GitHub 和 Overleaf 上发布的是 \BIThesisLaTeX 的完整模板,因此想要升级 到最新版本,你需要重新下载最新模板。然后,选择下列方法的一种来更新: \begin{itemize} \item 将新模板中的 |*.cls| 文件替换到你原有模板的工作目录中。 \item 将旧模板中的写作内容复制到新模板中。 \end{itemize} 需要注意的是,GitHub 和 Overleaf 的模板中包含了当前版本的 |*.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 用户,可参照\href{https://bithesis.bitnp.net/faq/word-font.html}{疑难杂症:如何采用与 Word 相同的中文字体}直接使用 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 用户,可参照\href{https://bithesis.bitnp.net/faq/word-font.html}{疑难杂症:如何采用与 Word 相同的中文字体}直接使用 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 = (**) \end{bitsyntax} \textit{此选项一般不需要用户自行修改。} 设置封面信息中标签的对齐方式(居中、左对齐、右对齐)。 \end{function} \begin{function}{cover/valueAlign} \begin{bitsyntax}[emph={[1]valueAlign}] valueAlign = (**) \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]{cover/showSpecialTypeBox} \begin{bitsyntax}[emph={[1]showSpecialTypeBox}] showSpecialTypeBox = (*(false)|true*) \end{bitsyntax} 展示「学生类型」(研究生模板)的那个信息框。 因为美观原因默认关闭,和研究生院确认过这个信息框重要程度比较低。 \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} \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} 中图分类号。 \end{function} \begin{function}{info/UDC} \begin{bitsyntax}[emph={[1]UDC}] UDC = (*\marg{字符串}*) \end{bitsyntax} UDC分类号。 \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}{info/defenseDate,info/defenseDateEn} \begin{bitsyntax}[emph={[1]defenseDate,defenseDateEn}] defenseDate = (*\marg{字符串}*) defenseDateEn = (*\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} 学生类型:交叉研究方向。 不勾选时默认不显示整个内容,可通过 \hyperref[doc/function//cover/showSpecialTypeBox]{|cover/showSpecialTypeBox| 选项}设置。 \textit{此选项一般不需要用户自行修改。} \end{function} \begin{function}[added=2024-03-22]{info/internationalStudentUGP} \begin{bitsyntax}[emph={[1]internationalStudentUGP}] internationalStudentUGP = (*<(false)|true>*) \end{bitsyntax} 学生类型:政府项目留学生。 不勾选时默认不显示整个内容,可通过 \hyperref[doc/function//cover/showSpecialTypeBox]{|cover/showSpecialTypeBox| 选项}设置。 \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}{style/head} \begin{bitsyntax}[emph={[1]head}] head = (*\marg{字符串}*) \end{bitsyntax} \textit{此选项默认值会按论文类型自动设置,一般已满足要求,不需要用户自行修改。} 页眉文字。 外文翻译模板(paper-translation)的默认值含“外文翻译”几字,有的学院要求去掉,这时请自行修改。 \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| 字段。 具体例子可参考\href{https://bithesis.bitnp.net/faq/bib-sort.html#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}{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 用户,可参照\href{https://bithesis.bitnp.net/faq/word-font.html}{疑难杂症:如何采用与 Word 相同的中文字体}直接使用 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| 宏包提供的环境。 \textit{请在导言区使用此选项。} \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=2025-04-15]{\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} 主要符号对照表。 主要符号对照表类似于一个列表环境,用以添加文章中使用的关键符号与缩略词。 \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|,但模板也适配了一些更专业的宏包,请参考\href{https://bithesis.bitnp.net/faq/algorithm.html}{疑难杂症:如何排版算法(伪代码)}。 \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[][<覆盖普通模式下内容>][<覆盖盲审模式下内容>] \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} 使用示例: \begin{itemize} \item |\Author| 输出作者姓名(普通)或|第n作者|(盲审),具体编号取决于 |.bib| 文件中 |author+an| 字段标注的位置。 \item |\Author[][][第一发明人]| 输出作者姓名(普通)或|第一发明人|(盲审)。 \item |\AuthorEn[2]| 输出作者姓名(普通)或|Second Author|(盲审)。 \item |\Author[][][共同二作]| 输出作者姓名(普通)或|共同二作|(盲审)。 \end{itemize} \end{function} \begin{function}[label=env.acknowledgements]{acknowledgements} \begin{bitsyntax}[emph={[1]acknowledgements}] \begin{acknowledgements} (*\meta{致谢内容}*) \end{acknowledgements} \end{bitsyntax} 致谢。 \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} % l3doc 的 function 环境会按函数名称自动设置标签,默认与之前 bithesis.cls 的标签重复,故需手动指定标签 \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