\chapter{模板组成与使用}
\label{sec:using-bithesis}

在本章中，我们将介绍本模板的组成部分，以及如何使用本模板和基本
的\LaTeX 语法进行论文写作。


\section{认识模板组成}

\isGraduateTF{\dirtree{%
.1 /graduate-thesis/.
.2 bithesis.pdf\DTcomment{\BIThesis 模板的使用手册}.
.2 bithesis.cls\DTcomment{模板类文件}.
.2 latexmkrc\DTcomment{配置 latexmkrc 的编译选项}.
.2 main.tex\DTcomment{入口文件}.
.2 chapters/\DTcomment{正文内容文件夹}.
.3 abstract.tex\DTcomment{摘要}.
.3 chapter1.tex\DTcomment{章节一}.
.3 \ldots{}.
.2 figures/\DTcomment{存放了一些图片，也可以在正文写作中用于存放图片}.
.3 \ldots{}.
.2 misc/\DTcomment{包含符号表、参考文献、结论等前置、后置内容}.
.3 0\_symbols.tex.
.3 \ldots{}.
.2 references/\DTcomment{包含了「参考文献」与「成果清单」中引用的参考文献}.
.3 main.bib.
.3 pub.bib.
}}{\dirtree{%
.1 /undergraduate-thesis/.
.2 bithesis.pdf\DTcomment{\BIThesis 模板的使用手册}.
.2 bithesis.cls\DTcomment{模板类文件}.
.2 latexmkrc\DTcomment{配置 latexmkrc 的编译选项}.
.2 main.tex\DTcomment{入口文件}.
.2 chapters/\DTcomment{正文内容文件夹}.
.3 0\_abstract.tex\DTcomment{摘要}.
.3 1\_chapter1.tex\DTcomment{章节一}.
.3 \ldots{}.
.2 images/\DTcomment{存放了一些图片，也可以在正文写作中用于存放图片}.
.3 \ldots{}.
.2 misc/\DTcomment{包含参考文献、结论等前置、后置内容}.
.3 1\_originality.tex.
.3 \ldots{}.
}}

在本模板提供的文件夹中，主要包含了上方所示的几个文件夹与文件。

\subsection{模板手册 \texttt{bithesis.pdf}}

需要注意的是，\texttt{bithesis.pdf} 文件是本模板的使用手册，其中包含了
本模板的所有使用方法，以及一些注意事项。
在正式写作之前或者遇到问题时，可以先阅读该手册。

\subsection{入口文件 \texttt{main.tex}}

\texttt{main.tex} 是本模板的入口文件，其中包含了本模板的所有配置信息，
并引用了其余文件夹（\texttt{chapters/}、\texttt{misc/}等）的各个章节。在这里，我们可以进行个人信息的录入，
以及通过参数调整论文的各处格式。当然，每个参数的用法都已经
在 \texttt{bithesis.pdf} 中进行了详细的说明。

\subsection{模板类文件 \texttt{bithesis.cls}}

在 \texttt{main.tex} 的最上方，我们可以看到如下的代码：
\begin{lstlisting}[language=TeX]
\documentclass[…]{bithesis}
\end{lstlisting}
这里的\texttt{bithesis}引入的就是\texttt{bithesis.cls}文件，也就是本模板的类文件。
该文件定义了本模板使用的所有格式，保证我们的论文符合学校的要求。

\subsection{主体内容文件夹}

其余的文件则一起构成了我们文章中的各个部分，其中包括了前置部分的
封面、目录、原创性声明、摘要，以及正文部分的各个章节，后置部分的
参考文献、附录、致谢等等。你可以打开这些示例文件，查看这些文件内容
都在最终的论文中起到了什么作用。得益于我们提供的模板类，我们将
大量的格式设置工作都放在你看不到的地方。而你只需要关注论文的内容——也就是
文字本身——即可。

因此我们的写作过程将变得十分简单：
\begin{enumerate}
  \item 在\texttt{main.tex}中填写个人信息，调整论文格式；
  \item 在\texttt{chapters/}文件夹中编写论文的各个章节；
  \item 补充在\texttt{misc/}\isGraduateTF{、\texttt{references/}}{}文件夹中的其他内容。
\end{enumerate}

更棒的是，我们可以\hyperref[sec:blind]{通过修改配置一键生成支持盲审的论文版本}——一次写作，
多种格式！

\section{个人信息录入}
\label{sec:BITSetup}

在 \texttt{main.tex} 中，我们可以看到如下的代码：
\begin{lstlisting}[language=TeX]
\BITSetup{
  % ...
  cover = {
    %% 使用以下参数来自定义封面日期
    date = 2022年6月,
  },
  info = {
    author = 张三,
    major = 材料科学与工程,
    school = 材料学院,
    keywords = {…；…},
    % ...
  },
  % ...
}
\end{lstlisting}

这里的各个参数就是用于控制论文封面的个人信息的。
在这里，我们用自己的信息替换掉这些默认参数，就可以生成自己的论文封面了。

上方的 \texttt{cover} 参数中，\texttt{date} 一项用于自定义封面中的日期。如果不填写该参数，
则默认使用当前的日期。

是的，就是这么简单！

有关所有参数的详细说明，可以参考 \texttt{bithesis.pdf} 中的内容。篇幅关系，不再赘述。

\section{摘要和关键字}

中英文摘要在 \texttt{chapters/} 文件夹中的 \texttt{\isGraduateTF{}{0\_}abstract.tex} 编写：

\begin{lstlisting}[language=TeX]
\begin{abstract}
  本文……
\end{abstract}

\begin{abstractEn}
  In order to exploit…
\end{abstractEn}
\end{lstlisting}

至于摘要后的关键字，可编辑 \texttt{main.tex}，在\hyperref[sec:BITSetup]{「信息录入」}中配置 \texttt{info/keywords}、\texttt{info/keywordsEn}。

\section{论文主体}

由于已经存在了大量的示例内容、网络上已有丰富的 \LaTeX{} 的教程，
我们在这里不再赘述如何使用 \LaTeX{} 进行论文的撰写;
只是快速过一下我们在撰写论文时，使用的常用命令。

如果你对 \LaTeX{} 还不熟悉，或者想要了解更多的内容，可以参考
网络上存在的优秀的 \LaTeX{} 教程，比如 \ref{resources} 中提到的那些。

\section{其他部分}

\texttt{misc/}\isGraduateTF{和\texttt{reference/}}{}文件夹中各个文件与正文的对应关系如下：
\begin{itemize}
  \isGraduateTF{
    \item \texttt{0\_symbols.tex} 对应符号表；
    \item \texttt{1\_conclusion.tex} 对应结论；
    \item \texttt{2\_reference.tex}、\texttt{main.bib} 分别对应「参考文献」一节和其中的文献；
    \item \texttt{3\_appendices.tex} 对应附录；
    \item \texttt{4\_pub.tex}、\texttt{pub.bib} 分别对应「攻读学位期间发表论文与研究成果清单」一节和其中的成果；
    \item \texttt{5\_resume.tex} 对应早年博士学位论文需要的简历。
    \item \texttt{acknowledgements.tex} 对应致谢；
  }{
    \item \texttt{1\_originality.tex}、\texttt{1\_originality.pdf} 对应原创性声明；
    \item \texttt{2\_conclusion.tex} 对应结论；
    \item \texttt{3\_reference.tex}、\texttt{ref.bib} 分别对应「参考文献」一节和其中的文献；
    \item \texttt{4\_appendix.tex} 对应附录；
    \item \texttt{5\_acknowledgements.tex} 对应致谢。
  }
\end{itemize}

由于在论文中，这些部分的样式固定且内容较短，因此我们
将这些部分的内容放在了单独的文件中。同时，我们也在每个
文件中提供了示例内容，以供参考。相信你在阅读这些示例内容
时，就已经知道了如何编写这些部分的内容了。

\isGraduateTF{
\subsection{「攻读学位期间发表论文与研究成果清单」}
这部分用 \texttt{pub.bib} 记录文献，用 \texttt{4\_pub.tex} 列出清单。
增添成果需首先在 \texttt{pub.bib} 中添加新的文献条目。%
%
而如果你想要在盲审模式中隐藏自己的名字，那么你需要
根据 pub.bib 中的示例以及注释说明，为每个文献条目添加并设置
 \texttt{author+an} 字段。
比如，如果作为张三的你的文献条目为：
\lstinputlisting[language=TeX]{chapters/ch2-example-pub.bib}
通过设置 \texttt{author+an} 字段，我们可以在盲审模式打开时，
将自己的名字自动替换为「第一作者」。
%
此外，如需调整排序、分组、手动列表等，请参考 \texttt{pub.bib}、\texttt{4\_pub.tex} 等中的注释或者\href{https://bithesis.bitnp.net/faq/?tag=pub\#faq-list}{BIThesis 网站疑难杂症版块}，以及 \texttt{bithesis.pdf} 中的说明。
}{}
\subsection{交叉引用}

\subsubsection{公式和图表引用}

交叉引用的前提是需要在定义章节、公式和图表的时候都对其进行命名标签
（即\label{sec:labelName} 命令），在实际使用过程中通过标签进行引用。根据引用
的特点可以将应用分成\cref{tab:setSection} 中所示三类。

\begin{table}[htb]
 \centering
  \caption{章节设置关键字}     % title of Table
  \label{tab:setSection}    % label of Table
  \begin{tabular}{cl}
    \toprule
    章节级别        & 关键字     \\
    \midrule
     章        & \verb|\chapter| \\
     节        & \verb|\section | \\
    子节      & \verb|\subsection |\\
    表格名称       & \verb|\caption{标题名称}| \\
    引用标签       & \verb|\label{引用名称}| \\
    \bottomrule
  \end{tabular}
\end{table}


其中，表格和图片的摆放位置由 \verb|\begin{table}| 或 \verb|\begin{figure}| 后面的中括号设
置，例如 [htb] 表示可以将图表放在当前位置（here）
、页面顶端（top）或者页面底端
（bottom）。

\subsubsection{文献引用}

\BIThesis 论文模板使用 BibLaTeX 宏包管理参考文献，使用方法与普通的 BibTeX 宏包
类似，但是更加强大。在使用时，请遵循以下步骤：
\begin{enumerate}
  \item 在 \texttt{\isGraduateTF{references/main.bib}{misc/ref.bib}} 中添加参考文献条目；
  \item 在正文中使用 \verb|\cite{key}| 或 \verb|\parencite{key}| 等命令引用文献。
\end{enumerate}

\section{生成盲审版论文}
\label{sec:blind}

提交论文用于匿名评阅（又名盲审或盲评）时，需要“隐去论文作者和导师姓名，以及致谢、论文成果等与作者有关的信息”。
% 以上引文源于《北京理工大学关于本科毕业设计（论文）评阅的规定（试行）》（2023年4月修订）。

此时请编辑 \texttt{main.tex}，给开头 \verb|\documentclass| 加上 \verb|blindPeerReview=true| 选项。
修改后如下：
\isGraduateTF{
  \lstinputlisting[language=TeX]{chapters/ch2-example-master-blind.tex}
}{
  \lstinputlisting[language=TeX]{chapters/ch2-example-bachelor-blind.tex}
}
