Repository navigation
Expand file tree
/
Copy pathlib.typ
More file actions
89 lines (87 loc) · 2.37 KB
/
Copy pathlib.typ
File metadata and controls
89 lines (87 loc) · 2.37 KB
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
#import "style/font.typ": ziti, zihao
#import "layouts/doc.typ": doc
#import "layouts/mainmatter.typ": mainmatter
#import "layouts/appendix.typ": appendix
#import "pages/cover.typ": cover-page
#import "pages/declare.typ": declare-page
#import "pages/abstract.typ": abstract-page
#import "pages/outline.typ": outline-page
#import "pages/bib.typ": bibliography-page, citex
#import "pages/acknowledgement.typ": acknowledgement-page
#import "pages/conclusion.typ": conclusion-page
#import "pages/under-cover.typ": under-cover-page
#import "style/figures.typ": algox, tablex, imagex, subimagex
#let documentclass(
info: (:),
title-line-length: 260pt,
font-fallback: true,
math-level: 2,
outline-compact: true,
citation: (:),
fonts: (:),
) = {
info = (
(
title: "[论文题目]",
school: "[学院]",
major: "[专业]",
student_id: "[学号]",
name: "[姓名]",
supervisor: "[指导老师]",
date: "[起讫日期]",
)
+ info
)
citation = (
(
func: bibliography("template/ref.bib"),
full: false,
sup: true,
)
+ citation
)
fonts = (fallback: true) + fonts
let fallback = fonts.fallback
fonts.remove("fallback")
return (
info: info,
doc: (..args) => doc(
info: info + args.named().at("info", default: (:)),
fallback: fallback,
..args,
),
conclusion: (..args) => conclusion-page(..args),
mainmatter: (..args) => mainmatter(math-level: math-level, ..args),
appendix: (..args) => appendix(..args),
cover: (..args) => cover-page(
info: info + args.named().at("info", default: (:)),
title-line-length: title-line-length,
..args,
),
declare: (..args) => declare-page(
info: info + args.named().at("info", default: (:)),
..args,
),
abstract: (..args) => abstract-page(..args),
outline: (..args) => outline-page(
compact: outline-compact,
..args,
),
bib: (..args) => bibliography-page(
bibfunc: citation.func,
full: citation.full,
sup: citation.sup,
..args,
),
acknowledgement: (..args) => acknowledgement-page(
info: info + args.named().at("info", default: (:)),
..args,
),
under-cover: (..args) => under-cover-page(..args),
fonts: {
for (key, value) in fonts {
context ziti.at(key).update(value + ziti.at(key).get())
}
},
)
}