Commit b8e644e

HPCesia <me@hpcesia.com>
2025-03-20 13:01:13
feat: 致谢页面
1 parent d0d0654
Changed files (3)
pages/acknowledgement.typ
@@ -0,0 +1,35 @@
+#import "../utils/style.typ": 字号, 字体
+#import "../utils/invisible-heading.typ": invisible-heading
+
+#let acknowledgement(
+  // documentclass 传入的参数
+  twoside: false,
+  fonts: (:),
+  // 其他参数
+  outline-title: "致谢",
+  outline-title-en: "Acknowledgements",
+  outlined: false,
+  leading: 1.28em,
+  spacing: 1.28em,
+  body,
+) = {
+  // 1.  默认参数
+  fonts = 字体 + fonts
+
+  // 2.  正式渲染
+  pagebreak(weak: true, to: if twoside { "odd" })
+
+  invisible-heading(level: 1, outlined: outlined, [#outline-title#metadata((en: outline-title-en))])
+
+  v(spacing)
+  align(center, text(size: 字号.小三, font: fonts.黑体)[致#h(1.5em)谢])
+  v(spacing*2)
+
+  [
+    #set par(first-line-indent: (amount: 2em, all: true), leading: leading, spacing: spacing)
+    #set text(size: 字号.小四, font: fonts.宋体)
+
+    #body
+  ]
+
+}
\ No newline at end of file
template/thesis.typ
@@ -11,6 +11,7 @@
   // 页面函数
   cover,
   integrity,
+  acknowledgement,
   abstract,
   abstract-en,
   outline-page,
@@ -48,7 +49,12 @@
 // ====== 前言 ======
 #show: preface
 
-// TODO: 致谢
+// 致谢
+#acknowledgement()[
+  致谢语应以简短的文字对课题研究与论文撰写过程中曾直接给予帮助的人员(例如指导教师、答疑教师及其他人员)表示自己的谢意。
+
+  如果本模板的使用对你有帮助,你也可以将其作为致谢的一部分。
+]
 
 // 中文摘要
 #abstract(
lib.typ
@@ -5,6 +5,7 @@
 #import "layouts/appendix.typ": appendix
 #import "pages/bachelor-cover.typ": bachelor-cover
 #import "pages/bachelor-integrity.typ": bachelor-integrity
+#import "pages/acknowledgement.typ": acknowledgement
 #import "pages/bachelor-abstract.typ": bachelor-abstract
 #import "pages/bachelor-abstract-en.typ": bachelor-abstract-en
 #import "pages/bachelor-outline-page.typ": bachelor-outline-page
@@ -80,6 +81,12 @@
       ..args,
       fonts: fonts + args.named().at("fonts", default: (:)),
     ),
+    // 致谢页
+    acknowledgement: (..args) => acknowledgement(
+      twoside: twoside,
+      ..args,
+      fonts: fonts + args.named().at("fonts", default: (:)),
+    ),
     // 中文摘要页
     abstract: (..args) => bachelor-abstract(
       twoside: twoside,