main
 1#import "../utils/style.typ": , 
 2#import "../utils/invisible-heading.typ": invisible-heading
 3
 4// 本科生中文摘要页
 5#let bachelor-abstract(
 6  // documentclass 传入的参数
 7  twoside: false,
 8  fonts: (:),
 9  // 其他参数
10  keywords: (),
11  outline-title: "中文摘要",
12  outline-title-en: "Abstract in Chinese",
13  outlined: false,
14  leading: 1.28em,
15  spacing: 1.28em,
16  body,
17) = {
18  // 1.  默认参数
19  fonts =  + fonts
20
21  // 2.  正式渲染
22  pagebreak(weak: true, to: if twoside { "odd" })
23
24  invisible-heading(level: 1, outlined: outlined, [#outline-title#metadata((
25      en: outline-title-en,
26    ))])
27
28  v(spacing)
29  align(center, text(size: ., font: fonts.)[#h(1.5em)])
30  v(spacing * 2)
31
32  [
33    #set par(
34      justify: true,
35      first-line-indent: (amount: 2em, all: true),
36      leading: leading,
37      spacing: spacing,
38    )
39    #set text(size: ., font: fonts.)
40
41    #body
42  ]
43
44  v(spacing)
45
46  text(size: ., font: fonts.)[关键词:]
47  text(
48    size: .,
49    font: fonts.,
50    (("",) + keywords.intersperse(";")).sum(),
51  )
52}