Skip to content

增加了本科生声明页,同时修改了宋体的选择优先级 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
template/*.pdf
package.json
Makefile
.DS_Store
.DS_Store
.vs
9 changes: 8 additions & 1 deletion lib.typ
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,14 @@
} else if doctype == "postdoc" {
panic("postdoc has not yet been implemented.")
} else if doctype == "bachelor" {
panic-page("declaration page has not yet been implemented for bachelors.")
// panic-page("declaration page has not yet been implemented for bachelors.")
bachelor-decl-page(
anonymous: anonymous,
twoside: twoside,
..args,
fonts: fonts + args.named().at("fonts", default: (:)),
info: info + args.named().at("info", default: (:)),
)
}
},
// 诚信承诺页,通过 type 分发到不同函数
Expand Down
93 changes: 44 additions & 49 deletions pages/bachelor-decl-page.typ
Original file line number Diff line number Diff line change
@@ -1,72 +1,67 @@
#import "../utils/indent.typ": indent
#import "../utils/style.typ": 字号, 字体
#import "../utils/str.typ": to-normal-str

// 本科生声明页
#let bachelor-decl-page(
anonymous: false,
twoside: false,
fonts: (:),
info: (:),
) = {
// 0. 如果需要匿名则短路返回
if anonymous {
return
}
#let bachelor-decl-page(anonymous: false, twoside: false, fonts: (:), info: (:), doctype: "bachelor") = {

// 1. 默认参数
fonts = 字体 + fonts
info = (
title: ("基于 Typst 的", "华东师范大学学位论文"),
) + info

// 2. 对参数进行处理
// 2.1 如果是字符串,则使用换行符将标题分隔为列表
if type(info.title) == str {
info.title = info.title.split("\n")
}

// 2. 处理标题
let title = to-normal-str(src: info.title)

// 3. 正式渲染。
pagebreak(weak: true)

v(12pt)

align(center, text(font: fonts.宋体, size: 字号.四号, weight: "bold", "华东师范大学学位论文诚信承诺"))

// v(12pt)

block[
#set text(font: fonts.宋体, size: 11.5pt, weight: "regular")
#set par(justify: true, first-line-indent: 2em, leading: 1em)

#indent 本毕业论文是本人在导师指导下独立完成的,内容真实、可靠。本人在撰写毕业论文过程中不存在请人代写、抄袭或者剽窃他人作品、伪造或者篡改数据以及其他学位论文作假行为。

本人清楚知道学位论文作假行为将会导致行为人受到不授予/撤销学位、开除学籍等处理(处分)决定。本人如果被查证在撰写本毕业论文过程中存在学位论文作假行为,愿意接受学校依法作出的处理(处分)决定。


// 3. 正式渲染
pagebreak(weak: true, to: if twoside { "odd" })

v(6pt)

align(center, image("../assets/ecnu-emblem.svg", width: 1.95cm))
#block(inset: (left: 2em), grid(columns: (1fr, 1fr), [承诺人签名:], [#h(3.5em)日期:#h(2.5em)年#h(2em)月#h(2em)日]))]

v(-12pt)
v(4.5em)

align(center, text(font: fonts.宋体, size: 字号.四号, weight: "bold", "华东师范大学学位论文使用授权说明 "))

align(
center,
text(
font: fonts.黑体,
size: 字号.小一,
weight: "bold",
"华东师范大学本科毕业论文(设计)\n诚信承诺书",
),
)

v(48pt)

block[
#set text(font: fonts.宋体, size: 字号.小三)
#set par(justify: true, first-line-indent: 2em, leading: 2.42em)
#set text(font: fonts.宋体, size: 11.5pt)
#set par(justify: true, first-line-indent: 2em, leading: 1em)

#indent 本论文的研究成果归华东师范大学所有,本论文的研究内容不得以其它单位的名义发表。本学位论文作者和指导教师完全了解华东师范大学有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权华东师范大学可以将论文的全部或部分内容编入有关数据库进行检索、交流,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。

保密的毕业论文(设计)在解密后应遵守此规定。
#v(12pt)


#indent 本人郑重承诺:所呈交的毕业论文(设计)(题目:#info.title.sum())是在指导教师的指导下严格按照学校和院系有关规定由本人独立完成的。本毕业论文(设计)中引用他人观点及参考资源的内容均已标注引用,如出现侵犯他人知识产权的行为,由本人承担相应法律责任。本人承诺不存在抄袭、伪造、篡改、代写、买卖毕业论文(设计)等违纪行为。
]

v(76pt)
#v(1em)

grid(
columns: (1fr, 150pt),
[],
align(left)[
#set text(font: fonts.黑体, size: 字号.小三)
#block(inset: (left: 2em),
[导师签名:#h(5em)作者签名:#h(6em)日期:#h(2em)年#h(1.5em)月#h(1.5em)日])

作者签名:
#v(3em)

学号:

日期:
]
)

]

if twoside {
pagebreak() + " "
}
}
2 changes: 1 addition & 1 deletion utils/style.typ
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

#let 字体 = (
// 宋体,属于「有衬线字体」,一般可以等同于英文中的 Serif Font
宋体: ("Times New Roman", "Songti SC", "STSongti", "Source Han Serif CN", "Source Han Serif", "Noto Serif CJK SC", "SimSun"),
宋体: ("Times New Roman", "Source Han Serif", "Source Han Serif CN","Songti SC", "STSongti", "Noto Serif CJK SC", "SimSun"),
// 黑体,属于「无衬线字体」,一般可以等同于英文中的 Sans Serif Font
黑体: ("Helvetica", "Arial", "Heiti SC", "STHeiti", "SimHei", "Source Han Sans SC", "Source Han Sans", "Noto Sans CJK SC"),
// 楷体
Expand Down