Skip to content

Releases: Vncntvx/modern-ucas-thesis

Release v0.2.0

13 Mar 13:26
v0.2.0
be38291

Choose a tag to compare

概述

此版本全面优化了模板对《中国科学院大学研究生学位论文撰写规范指导意见(2022年)》的符合度,实现了双语图表标题功能,并修复了多处排版细节问题。


✨ 新特性

双语图表支持

新增 bifigurebitable 函数,支持中英双语图表标题,符合 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-12-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

⚠️ 破坏性变更

函数名变更

  1. 图表目录函数合并

    // v0.1.0(已弃用)
    #list-of-figures()
    #list-of-tables()
    
    // v0.2.0
    #list-of-figures-and-tables()
  2. 目录函数更名

    // 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

14 Aug 13:10
v0.1.0
aa41cdc

Choose a tag to compare

🎉 初始发布

本项目从 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