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
|
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{njuthesis}{2021-09-11}{0.7.3}{NJU Thesis LaTeX Template}
% 通过类传递参数
\RequirePackage{l3keys2e}
\LoadClass[
a4paper,
twoside,
UTF8,
scheme=chinese,
linespread=1.625,% laTex默认1.2行距,word默认行距是1.3,要求1.5倍word行距,故1.5/1.2*1.3 = 1.625
fontset=none,
zihao=-4
]{ctexbook}[2018/04/01]
% 定义模板键值
% 用于格式控制的键值
\keys_define:nn { nju }
{
titlelength .int_set:N = \nju_titlelength,
titlelength .initial:n = 1,
secondmentor .bool_set:N = \nju_second_mentor,
secondmentor .initial:n = false,
degree .tl_set:N = \nju_degree,
degree .initial:n = UG,
type .tl_set:N = \nju_type,
type .initial:n = thesis,
systemfont .bool_set:N = \nju_systemfont,
systemfont .initial:n = true,
customlatinfont .tl_set:N = \nju_customlatinfont,
customlatinfont .initial:n = windows,
customchinesefont .tl_set:N = \nju_customchinesefont,
customchinesefont .initial:n = windows,
info .meta:nn = { nju / info } { #1 }
}
\keys_define:nn { nju / info }
{
% 题目
TitleA .tl_set:N = \nju_title_a,
TitleB .tl_set:N = \nju_title_b,
TitleC .tl_set:N = \nju_title_c,
TitleEN .tl_set:N = \nju_title_en,
% 年级学号姓名
Grade .tl_set:N = \nju_grade,
StudentID .tl_set:N = \nju_student_id,
StudentName .tl_set:N = \nju_student_name,
StudentNameEN .tl_set:N = \nju_student_name_en,
% 院系专业方向
Department .tl_set:N = \nju_department,
DepartmentEN .tl_set:N = \nju_department_en,
Major .tl_set:N = \nju_major,
MajorEN .tl_set:N = \nju_major_en,
Field .tl_set:N = \nju_field,
FieldEN .tl_set:N = \nju_field_en,
% 导师
MentorA .tl_set:N = \nju_mentor_a,
MentorAEN .tl_set:N = \nju_mentor_a_en,
MentorATitle .tl_set:N = \nju_mentor_a_title,
MentorATitleEN .tl_set:N = \nju_mentor_a_title_en,
% 第二导师
MentorB .tl_set:N = \nju_mentor_b,
MentorBEN .tl_set:N = \nju_mentor_b_en,
MentorBTitle .tl_set:N = \nju_mentor_b_title,
MentorBTitleEN .tl_set:N = \nju_mentor_b_title_en,
% 日期
SubmitDate .tl_set:N = \nju_submit_date,
DefenseDate .tl_set:N = \nju_defense_date,
}
\NewDocumentCommand \njusetup { m }
{ \keys_set:nn { nju } { #1 } }
\ProcessKeysOptions { nju }
% 输入配置文件
\RequirePackage{profile/packages}
\RequirePackage{profile/font}
\RequirePackage{profile/page}
\RequirePackage{profile/reference}
\RequirePackage{profile/components}
\RequirePackage{profile/cover}
\RequirePackage{profile/abstract}
|