summaryrefslogtreecommitdiff
path: root/thesis.tex
blob: 6642e193b19c4068e359b3b56ddb3f0e5eeb8409 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
% Copyright (c) 2008-2009 solvethis
% Copyright (c) 2010-2016,2018 Casper Ti. Vector
% Public domain.
%
% 使用前请先仔细阅读 pkuthss 和 biblatex-caspervector 的文档,
% 特别是其中的 FAQ 部分和用红色强调的部分。
% 两者可在终端/命令提示符中用
%   texdoc pkuthss
%   texdoc biblatex-caspervector
% 调出。

% 采用了自定义的(包括大小写不同于原文件的)字体文件名,
% 并改动 ctex.cfg 等配置文件的用户请自行加入 nofonts 选项;
% 其它用户不用加入 nofonts 选项,加入之后反而会产生错误。
\documentclass[UTF8]{pkuthss}
% 如果的确须要使脚注按页编号的话,可以去掉后面 footmisc 包的注释。
% 注意:在启用此设定的情况下,可能要多编译一次以产生正确的脚注编号。
%\usepackage[perpage]{footmisc}

% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex-caspervector 的文档)。
% 这里按照西文文献在前,中文文献在后排序(“sorting = ecnyt”);
% 若须按照中文文献在前,西文文献在后排序,请设置“sorting = cenyt”;
% 若须按照引用顺序排序,请设置“sorting = none”。
% 若须在排序中实现更复杂的需求,请参考 biblatex-caspervector 的文档。
\usepackage[backend = biber, style = caspervector, utf8]{biblatex}

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

% 设定文档的基本信息。
\pkuthssinfo{
	cthesisname = {硕士研究生学位论文}, ethesisname = {Master Thesis},
	ctitle = {一种可抵抗推测式执行相关的侧信道攻击的微处理器的设计与实现}, etitle = {},
	cauthor = {蔡思培},
	eauthor = {Cai Sipei},
	studentid = {1601214426},
	date = {二〇一九年六月},
	school = {信息科学技术学院},
	cmajor = {计算机系统结构}, emajor = {Computer Architecture},
	direction = {指令级并行处理和线程级并行处理},
	cmentor = {程旭教授}, ementor = {Prof.\ Cheng Xu},
	ckeywords = {侧信道攻击,推测式执行,Spectre攻击}, ekeywords = {Side-channel Attack, Speculative Execution, Spectre Attack}
}
% 载入参考文献数据库(注意不要省略“.bib”)。
\addbibresource{thesis.bib}

\begin{document}
	% 以下为正文之前的部分,默认不进行章节编号。
	\frontmatter
	% 此后到下一 \pagestyle 命令之前不排版页眉或页脚。
	\pagestyle{empty}
	% 自动生成封面。
	\maketitle
	% 版权声明。封面要求单面打印,故须新开右页。
	\cleardoublepage
	\include{chap/copy}

	% 此后到下一 \pagestyle 命令之前正常排版页眉和页脚。
	\cleardoublepage
	\pagestyle{plain}
	% 重置页码计数器,用大写罗马数字排版此部分页码。
	\setcounter{page}{0}
	\pagenumbering{Roman}
	% 中西文摘要。
	\include{chap/abs}
	% 自动生成目录。
	\tableofcontents

	% 以下为正文部分,默认要进行章节编号。
	\mainmatter
	% 各章节。
	\include{chap/chap1}
	\include{chap/chap2}
	\include{chap/chap3}
	\include{chap/chap4}
	\include{chap/chap5}
	\include{chap/chap6}

	% 正文中的附录部分。
	\appendix
	% 排版参考文献列表。bibintoc 选项使“参考文献”出现在目录中;
	% 如果同时要使参考文献列表参与章节编号,可将“bibintoc”改为“bibnumbered”。
	\printbibliography[heading = bibintoc]
	% 各附录。
	\include{chap/encl1}

	% 以下为正文之后的部分,默认不进行章节编号。
	\backmatter
	% 致谢。
	\include{chap/ack}
	% 原创性声明和使用授权说明。
	\include{chap/origin}
\end{document}

% vim:ts=4:sw=4