Releases: Vncntvx/modern-ucas-thesis
Releases · Vncntvx/modern-ucas-thesis
Release v0.2.0
概述
此版本全面优化了模板对《中国科学院大学研究生学位论文撰写规范指导意见(2022年)》的符合度,实现了双语图表标题功能,并修复了多处排版细节问题。
✨ 新特性
双语图表支持
新增 bifigure 和 bitable 函数,支持中英双语图表标题,符合 UCAS 论文规范要求:
#bifigure(
image("figure.png", width: 80%),
caption-zh: [中文图题],
caption-en: [English Figure Caption],
note: [图注说明(可选)],
) <fig:label>
#bitable(
table(...),
caption-zh: [中文表题],
caption-en: [English Table Caption],
note: [表注说明(可选)],
) <tbl:label>格式特点:
- 中文标题使用宋体五号加粗,英文标题使用 Times New Roman 五号
- 图片标题位于图片下方,表格标题位于表格上方
- 支持可选的图注/表注,自动缩进显示
- 章节编号格式:
1-1、2-3等
统一的图表目录
合并独立的图目录和表目录为统一的"图表目录"页面:
#list-of-figures-and-tables()- 先显示"图目录",后显示"表目录"
- 自动识别双语图表,只显示中文标题
- 支持正确的章节相对编号显示
🔧 排版优化
行距与段落间距规范化
严格对照 UCAS 规范调整全文行距和间距参数:
| 排版元素 | 调整前 | 调整后(规范值) |
|---|---|---|
| 正文行距 | 1.5 倍 | 1.25 倍 |
| 段落间距 | 1.5 倍行距 | 1.25 倍行距(无额外间距) |
| 一级标题段前 | 自动计算 | 24pt |
| 一级标题段后 | 自动计算 | 6pt |
| 二级标题段前 | 自动计算 | 24pt |
| 三级标题段后 | 自动计算 | 6pt |
| 章节编号格式 | "第一章" | "第1章"(阿拉伯数字) |
前言页眉支持
preface 布局现初步完成页眉系统的支持:
- 奇数页显示章节标题(如"第1章 绪论")
- 偶数页显示论文标题
- 与正文页眉样式保持一致
字体与样式微调
- 页眉字体:楷体五号 → 宋体小五号
- 页眉分隔线:0.5pt → 0.8pt
- 一级标题字重:regular → bold(加粗)
- 等宽字体:扩展字体回退列表,新增 DejaVu Sans Mono 等
🐛 修复的问题
- 页眉查询崩溃:修复空数组调用
.last()导致的 panic 问题 - 章节标题匹配:优化查询逻辑,更准确匹配当前页所属章节
- 符号列表版式:修复符号表页面格式问题,支持自定义字体
- 日期显示格式:修正中文日期格式显示
- 本科生模板编译错误:修复未定义符号导致的编译失败
- 硕士开题报告:修正封面 Logo 文件扩展名引用
📚 文档更新
新增《定制指南》
新增 docs/CUSTOMIZE.md,提供详细配置说明:
documentclass完整参数列表与说明info字典所有字段详解- 字体配置方案(fontset + fonts)
- 各部分(封面、摘要、正文等)配置指南
- 专业型与学术型学位差异说明
文档结构整理
docs/
├── CUSTOMIZE.md # 新增:详细定制指南
├── FAQ.md # 从根目录移入
├── FORMAT.md # 代码格式化说明
├── LOGO_COPYRIGHT.md # Logo 版权声明(中文)
├── LOGO_COPYRIGHT_EN.md # Logo 版权声明(英文)
├── README_EN.md # 英文版 README
⚠️ 破坏性变更
函数名变更
-
图表目录函数合并:
// v0.1.0(已弃用) #list-of-figures() #list-of-tables() // v0.2.0 #list-of-figures-and-tables()
-
目录函数更名:
// v0.1.0(已弃用) #bachelor-outline-page() // v0.2.0 #outline-page()
默认行为变更
- 正文行距从 1.5 倍改为 1.25 倍,可能导致页数减少
- 章节编号从中文数字改为阿拉伯数字("第一章" → "第1章")
Full Changelog: v0.1.0...v0.2.0
Release v0.1.0
🎉 初始发布
本项目从 modern-nju-thesis (https://github.com/nju-lug/modern-nju-thesis) fork 并重构,成为 modern-ucas-thesis。
🏫 学校适配
- 校名与标识:全面替换为 UCAS 相关内容
- 封面重构:
- 研究生封面重新设计,适配 UCAS 格式要求
- 支持多导师显示(supervisors 字段)
- 新增学科门类字段(category)
- 优化匿名模式下封面显示逻辑
- 声明页:更新为 UCAS 学术规范声明内容
🔤 字体系统重构
- 引入字体组概念:新增 fontset 参数,支持一键切换预定义字体组合
- windows:Windows 系统默认字体(SimSun/SimHei)
- mac:macOS 系统默认字体(Songti SC/Heiti SC)
- fandol:开源 Fandol 字体(跨平台)
- adobe:Adobe 字体(Adobe Song/Heiti/Kaiti)
- 灵活自定义:fonts 参数可覆盖或补充字体组中的特定字体
- 字体展示页:#fonts-display-page() 可快速检测字体渲染状态
⚡ Typst 0.13 迁移
- 移除 anti-matter 依赖:完全使用原生 Typst 实现页码控制
- 首行缩进优化:适配 Typst 0.13 新增的 all 选项(typst/typst#5768),解决段落缩进问题
- 段落间距调整:重构段落设置,使用 par.spacing 替代 block.spacing
📖 页眉系统重写
- 奇偶页差异化页眉:
- 奇数页:显示当前章节标题("第一章 绪论"格式)
- 偶数页:显示论文标题
✨ 新增功能
- 作者简历页:新增 backmatter 函数,用于展示"作者简历及攻读学位期间发表的学术论文"
- 代码格式化支持:
- 新增 typstyle 支持及 format-typst.sh 脚本
- 提供 Makefile 便于格式化操作
🐛 Bug 修复
- 修复英文摘要模板中引号的错误渲染
- 修复 doc 布局的字体组配置问题
- 修复摘要页段落间距设置语法
- 修复标题显示逻辑
- 规范图目录、表目录和符号列表页的字体与字号
- 优化符号表表格参数及正文显示顺序
Full Changelog: v0.1.0