modern-ucas-thesis

基于 Typst 的中国科学院大学(UCAS)现代学位论文模板,严格规范遵循研究生与本科生学位论文撰写指南。

modern-ucas-thesis

Project Status Last Commit Issues License

基于 Typst 的中国科学院大学学位论文模板,遵循《中国科学院大学研究生学位论文撰写规范指导意见(2022年)》与《中国科学院大学本科生毕业论文(设计)撰写规范指导意见(2023年10月修订)》格式要求。

⚠️ 免责声明:本项目非官方出品,使用前请自行核对学校最新格式要求。


快速开始

1. 安装 Typst

# macOS
brew install typst

# Windows
winget install --id Typst.Typst

# 或使用官方安装脚本
curl -fsSL https://typst.community/install | sh

2. 使用项目

# 克隆仓库
git clone https://github.com/Vncntvx/modern-ucas-thesis.git
cd modern-ucas-thesis

# 编译论文
typst compile template/thesis.typ --root . --font-path fonts

# 编译开题报告(本科/研究生共用入口,见 template/proposal.typ)
typst compile template/proposal.typ --root . --font-path fonts

# 或开启实时预览
typst watch template/thesis.typ --root . --font-path fonts

3. 配置论文信息

编辑 template/thesis.typ:

#import "../lib.typ": documentclass

#let (
  doc, preface, mainmatter, appendix,
  cover, decl-page, abstract, abstract-en,
  outline-page, list-of-figures-and-tables, notation,
  bilingual-bibliography, acknowledgement, backmatter,
  bifigure, bitable, continued-table, auto-table, aligned-equation,
) = documentclass(
  doctype: "doctor",       // "bachelor" | "master" | "doctor"
  degree: "academic",      // "academic" | "professional"
  anonymous: false,        // 盲审模式
  twoside: true,           // 双面打印模式
  fontset: "mac",          // "windows" | "mac" | "fandol" | "adobe"
  info: (
    title: ("论文标题", "副标题(可选)"),
    title-en: "Thesis Title",
    author: "张三",
    author-en: "Zhang San",
    // 导师:结构化字典列表 (name:, title:, affiliation:),多导师第一导师在前
    supervisors: (
      (name: "李四", title: "教授", affiliation: "中国科学院××研究所"),
      (name: "王五", title: "研究员", affiliation: "中国科学院××研究所"),
    ),
    supervisors-en: (
      (name: "Si Li", title: "Professor", affiliation: "Institute of XXX, Chinese Academy of Sciences"),
      (name: "Wu Wang", title: "Professor", affiliation: "Institute of XXX, Chinese Academy of Sciences"),
    ),
    department: "中国科学院××研究所",
    major: "管理科学与工程",
    category: "管理学博士",
    submit-date: datetime(year: 2024, month: 6, day: 1),
  ),
  bibliography: bibliography.with("ref.bib"),
)

#show: doc
#cover()
#decl-page()
#show: preface
// 摘要、目录、符号表...
#show: mainmatter
// 正文...

4. 配置开题报告

编辑 template/proposal.typ(结构与论文同构,经 proposalclass 组装):

#import "../lib.typ": proposalclass

#let (
  doc, cover, notice, outline-page, mainmatter, bilingual-bibliography,
  bifigure, bitable, continued-table, auto-table, aligned-equation,
) = proposalclass(
  doctype: "master",       // "bachelor" | "master"(当前版式一致)
  fontset: "mac",
  info: (
    title: "论文开题题目",
    author: "张三",
    student-id: "1234567890",
    // 指导教师:填写 supervisors-full 或 supervisors-split 其一;未使用的键可省略
    supervisors-full: "李四教授",
    degree-category: "工学硕士",
    major: "计算机科学与技术",
    research-direction: "智能信息处理",
    department: "中国科学院××研究所",
    submit-date: datetime.today(),
  ),
  bibliography: bibliography.with("ref.bib"),
  // cfg: (outline-depth: 2),
)

#show: doc
#cover()
#notice()
#show: mainmatter
#outline-page()
// 正文用 = / == / ===,编号 1. / 1.1. / 1.1.2,段落自动首行缩进
#bilingual-bibliography(full: true)

项目结构

modern-ucas-thesis/
├── template/              # 论文与开题报告源文件(模板入口)
│   ├── thesis.typ        # 学位论文主文件
│   ├── proposal.typ      # 开题报告主文件
│   ├── ref.bib           # 参考文献(论文与开题共用)
│   └── images/           # 图片目录
├── pages/                # 具体页面实现(封面、声明、摘要、目录、开题报告等)
├── layouts/              # 页面级布局(doc / preface / mainmatter / appendix)
├── utils/                # 可复用工具(双语图表、续表、对齐公式、字体、编号等)
├── assets/               # 静态资源(校徽等 UCAS 视觉标识)
├── fonts/                # 字体目录(用户自行放入字体文件,见 fonts/README.md)
├── docs/                 # 文档(规范原文、定制指南、FAQ 等)
├── lib.typ               # 主库入口(documentclass / proposalclass 闭包工厂)
├── typst.toml            # Typst 包配置
└── Makefile              # 格式化与检查脚本

功能特性

实现状态对照《中国科学院大学研究生学位论文撰写规范指导意见(2022年)》docs/RULES-GRAD.md 逐项核验代码现状。状态含义:✅ 已完成|🟡 部分实现/待完善|❌ 未开始|➖ 规范未强制要求。

文档配置

功能项 状态 规范依据 / 说明
全局信息配置(文档类型、学位类型、字体等) ✅ documentclass 闭包工厂统一注入
盲审模式 ✅ anonymous: true 自动隐藏作者/导师等字段
双面打印模式 ✅ twoside: true 自动插入空白页使各部分从奇数页开始

封面与前置页

功能项 状态 规范依据 / 说明
研究生封面(中/英文,硕/博) ✅ 标题黑体小三号加粗、字段宋体四号加粗 2 倍行距、日期 Times New Roman 四号加粗
本科生封面 ✅ 经 bachelor-cover.typ 实现,由 doctype 分发
书脊 🟡 规范要求:黑体小四号,上=题目、中=作者、下=“中国科学院大学”,距上下边界 3cm
原创性声明与授权说明 ✅ 研究生与本科生均已实现(含统一声明模板,样张3)
中文摘要(含关键词) ✅ “摘 要”二字间空一字符,黑体四号加粗居中;3~5 关键词,中文逗号分隔
英文摘要(含关键词) ✅ “Key Words”加粗,首字母大写,英文逗号分隔
目录 ✅ 章节缩进至三级(一级顶格、二级 1 字符、三级 2 字符),页码右对齐
图表目录 ✅ 先列图后列表,置于目录后另页编排
符号表(术语与符号说明) ✅ 置于目录之后、正文之前,另页编排

正文排版

功能项 状态 规范依据 / 说明
章节标题编号 ✅ 阿拉伯数字三级(最多四级),章“第1章”居中,子节“1.1 / 1.1.1”顶左
页眉 ✅ 奇数页=当前章/部分名,偶数页=论文题目;宋体小五号居中,下加分隔线
页码制式 ✅ 前言大写罗马数字居中;正文默认 twoside: true,奇数页右下、偶数页左下,单面时居中
脚注 ✅ 五号宋体,章/部分起始重置计数
尾注 ➖ 规范未强制要求
交叉引用(图/表/公式/章节) ✅ 统一前缀:@fig: / @tbl: / @eqt:
段落格式 ✅ 宋体小四号,1.25 倍行距,首行缩进 2 字符,两端对齐
代码块语法高亮 ✅ Typst 原生 raw block 支持

图表处理

功能项 状态 规范依据 / 说明
双语图表标题 ✅ 图题居图下、表题居表上,宋体五号加粗居中,1.25 倍行距
图表注释(表注、图注) ✅ “注:“加粗,左缩进 2 字符,续行对齐
图表按章编号 ✅ 形如 图1-1、表3-2,分章连续编码
自动续表(长表跨页) ✅ auto-table 主动分页,自动重复表头并标注“续表”/“(continued)”
手动续表 ✅ continued-table 需配合源表 label 使用
附录图表编号 ✅ 沿用正文编号形式(1-1),与规范“附录图表参考正文编号方式”一致
三线表 ✅ auto-table 默认三线表;table/bitable 可用 table.hline() 手写
卧排表(横向表格) ✅ bitable/bifigure/auto-table 内置 landscape: true,逆时针旋转 90°,方位“顶左底右”
地图审图号注释辅助 🟡 规范要求涉国界图件注明“审图号 GS(2021)××××号”,需用户手动添加

公式与数学

功能项 状态 规范依据 / 说明
行间公式编号 ✅ 编号置于括号内,右端对齐
多行公式对齐与编号 ✅ aligned-equation 编号对齐到最后一行右侧
公式按章编号 ✅ 形如 (3-1),分章连续编码
不编号公式 ✅ 以 <-> 标签标识
附录公式编号 ✅ 形如 (1-1),沿用正文编号形式
长公式转行 ✅ 在 + - × ÷ < > 等运算符后转行(Typst 原生支持)
定理/引理/证明环境 ➖ 规范未强制要求

参考文献

功能项 状态 规范依据 / 说明
双语参考文献标题 ✅ 中文“参考文献”,英文自动处理
GB/T 7714-2015 格式(顺序编码制) ✅ 默认 gb-7714-2015-numeric
GB/T 7714-2015 格式(著者—出版年制) 🟡 可经 style: "gb-7714-2015-author-date" 切换,但未提供默认配置与样式校验
中英文文献格式自动转换 ✅ 自动识别中英文文献并转换“等/卷/册/译/版”等术语
文献引用与交叉引用 ✅ @citekey

附录与后置

功能项 状态 规范依据 / 说明
附录章节 ✅ 一级标题无编号,子节 1.1,图表 1-1,公式 (1-1)
致谢页 ✅ 标题二字间空一字符,末尾具日期与封面一致
作者简介与学术成果 ✅ 含教育/工作经历、论文清单(同参考文献格式)、专利、项目、获奖
学位类别中英文对照表 🟡 规范附件2,仅作为附录示例表格存在于 thesis.typ,未抽取为可复用组件

字体与排版

功能项 状态 规范依据 / 说明
预定义字体组 ✅ windows / mac / fandol / adobe 四套,含宋/黑/楷/仿宋/等宽
自定义字体配置 ✅ fonts 参数覆盖 fontset 单项
中西文字体混排 ✅ 中文宋体/黑体等 + 英文 Times New Roman
中文伪加粗 ✅ 非 fandol 字体组经 @preview/cuti:0.4.0 启用

其他文档类型

功能项 状态 规范依据 / 说明
本科生开题报告 ✅ template/proposal.typ,proposalclass(doctype: "bachelor");版式暂与研究生一致
研究生开题报告 ✅ template/proposal.typ,proposalclass(doctype: "master");样式在 pages/proposal.typ
开题报告正文编号与缩进 ✅ 标题 1. / 1.1. / 1.1.2,正文首行缩进 2em
开题报告参考文献 ✅ 与学位论文共用 bilingual-bibliography 与 template/ref.bib

文档


开发

# 格式化代码(需先安装 typstyle)
make format           # 格式化所有 .typ
make format-check     # 只检查不改,CI 守门
make lint-quick       # 检查 typst.toml 字段与入口,不依赖外部 index

致谢


许可证

本项目代码采用 MIT 许可证开源。

关于 UCAS 标识:assets/vi/ 目录下的校徽、Logo 等视觉标识的版权归中国科学院大学所有。本项目将其纳入仅为方便用户撰写学位论文(属于个人学习/教学合理使用范畴),请勿用于其他商业或官方用途。如需商用授权,请联系学校相关部门。详见 docs/LOGO_COPYRIGHT.md。


报告问题 · 讨论交流 · 贡献代码