% vim:ts=4:sw=4
%
% Copyright (c) 2008-2009 solvethis
% Copyright (c) 2010-2015 Casper Ti. Vector
% Public domain.
%
% 使用前请先仔细阅读 pkuthss 和 biblatex-caspervector 的文档，
% 特别是其中的 FAQ 部分和用红色强调的部分。
% 两者可在终端/命令提示符中用
%   texdoc pkuthss
%   texdoc biblatex-caspervector
% 调出。

% 采用了自定义的（包括大小写不同于原文件的）字体文件名，
% 并改动 ctex.cfg 等配置文件的用户请自行加入 nofonts 选项；
% 其它用户不用加入 nofonts 选项，加入之后反而会产生错误。
%
% 图书馆要求电子版论文的目录必须为黑色，
% 且某些教务要求打印版论文的文字部分为纯黑色而非灰度打印，
% 【因此最终打印和提交论文前，请将“colorlinks”改为“nocolorlinks”。】
\documentclass[GBK, colorlinks]{pkuthss}

% 使用 biblatex 排版参考文献，并规定其格式。
%
% 如果无法使用 biber，可以把“backend = biber”改为“backend = bibtex”，
% 并改用 bibtex 产生参考文献，详见 pkuthss 的文档。
% 使用 biber 时，请去掉所有的 sorting 选项，否则会出错。
%
% 默认按照引用顺序排序（“sorting = none”），详见 biblatex-caspervector 的文档
% （因为是默认设置所以其实不用写，不过出于完备性的考虑仍然在这里列出）。
% 若需要按照英文文献在前，中文文献在后排序，请设置“sorting = ecnty”；
% 若需要按照中文文献在前，英文文献在后排序，请设置“sorting = centy”。
\usepackage[backend = biber, style = caspervector, gbk, sorting = none]{biblatex}
% 提供近似于学校所要求的 Times New Roman / Arial 的字体。
\usepackage[defaultsups]{newtxtext}
\usepackage{newtxmath}
% 产生 originauth.tex 里的 \square。
\usepackage{amssymb}

% 按学校要求设定参考文献列表中的条目之内及之间的距离。
\setlength{\bibitemsep}{3bp}
% 对于 linespread 值的计算过程有兴趣的同学可以参考 pkuthss-extra.sty。
\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont}

% 设定文档的基本信息。
\pkuthssinfo{
	cthesisname = {本科生毕业论文}, ethesisname = {Undergraduate Thesis},
	ctitle = {测试文档}, etitle = {Test Document},
	cauthor = {某某},
	eauthor = {Test},
	studentid = {0123456789},
	date = {某年某月},
	school = {某某学院},
	cmajor = {某某专业}, emajor = {Some Major},
	direction = {某某方向},
	cmentor = {某某教授}, ementor = {Prof.\ Somebody},
	ckeywords = {其一，其二}, ekeywords = {First, Second}
}
% 导入参考文献数据库（注意不要省略“.bib”）。
\addbibresource{thesis.bib}

% 普通用户可删除此段。
\usepackage{color}
\def\pkuthssffaq{%
	\emph{\textcolor{red}{pkuthss 文档模版最常见问题：}}

	在最终打印和提交论文之前，
	请将 pkuthss 文档类选项中的 %
	\texttt{colorlinks} 改为 \texttt{nocolorlinks}，
	因为图书馆要求电子版论文的目录必须为黑色，
	且某些教务要求打印版论文的文字部分为纯黑色而非灰度打印。

	\texttt{\string\cite}、\texttt{\string\parencite} %
	和 \texttt{\string\supercite} 三个命令分别产生%
	未格式化的、带方括号的和上标且带方括号的引用标记：%
	\cite{test-en}，\parencite{test-zh}、\supercite{test-en, test-zh}。

	若要避免章末空白页，请在调用 pkuthss 文档类时加入 \texttt{openany} 选项。

	如果编译时不出参考文献，
	请参考 \texttt{texdoc pkuthss}“问题及其解决”一章
	“其它可能存在的问题”一节中关于 biber 的说明。
}

\begin{document}
	% 以下为正文之前的部分，默认不进行章节编号。
	\frontmatter
	% 此后到下一 \pagestyle 命令之前不排版页眉或页脚。
	\pagestyle{empty}

	% 自动生成标题页。
	\maketitle
	% 版权声明。
	\include{chap/copyright}

	% 此后到下一 \pagestyle 命令之前正常排版页眉和页脚。
	\cleardoublepage
	\pagestyle{plain}
	% 重置页码计数器，用大写罗马数字排版此部分页码。
	\setcounter{page}{0}
	\pagenumbering{Roman}

	% 中英文摘要。
	\include{chap/abstract}
	% 自动生成目录。
	\tableofcontents

	% 以下为正文部分，默认要进行章节编号。
	\mainmatter
	% 序言。
	\include{chap/introduction}
	% 各章节。
	\include{chap/chap1}
	% 结论。
	\include{chap/conclusion}

	% 正文中的附录部分。
	\appendix
	% 排版参考文献列表。
	\printbibliography[
		% 使“参考文献”出现在目录中；如果同时要使参考文献列表参与章节编号，
		% 可将“bibintoc”改为“bibnumbered”。
		heading = bibintoc,
		% 单独设定排序方案。此设定会局部覆盖之前的全局设置。
		% 注：只有同时使用 2.x 或之后版本的 biblatex 和相应兼容版本的 biber，
		% 才能对每个 \printbibliography 命令采用不同的排序方案，
		% 否则只能在导入 biblatex 宏包时就（全局）指定排序方案。
		% 在这样的情况下，请去掉所有的 sorting 选项，否则可能出错。
		sorting = ecnty
	]
	% 各附录。
	\include{chap/encl1}

	% 以下为正文之后的部分，默认不进行章节编号。
	\backmatter
	% 致谢。
	\include{chap/acknowledge}

	% 此后不排版页眉或页脚。
	\cleardoublepage
	\pagestyle{empty}

	% 原创性声明和使用授权说明。
	\include{chap/originauth}
\end{document}

