Scripst 1.1.2 正式版 Release Notes 🎉
Scripst 是一套简洁、灵活的文档模板,适用于文章、报告、书籍、作业、笔记和论文等场景。
🚀 更新内容(与 1.1.1 相比)
🔥 新特性
- 引入 Ratchet:计数器的注册、重置、编号生成与引用现在统一交由 Ratchet 管理,大幅简化了 Scripst 内部的计数逻辑
- 独立调整 countblock 深度:
- 支持通过
cb-counter-depth设置所有 countblock 的默认编号深度 - 支持通过
set-countblock-depth单独调整某一类 countblock - 支持使用
detach: true将共享计数器的块拆分为独立计数器 add-countblock新增depth参数,可在创建块时直接指定编号深度
- 支持通过
- 自定义 countblock 集合:新增
countblocks参数,可将扩展后的 countblock 配置一次性交给scripst - 编号格式接口:
- 新增
matheq-outline,控制数学公式编号格式 - 新增
counter-outline,控制图片、表格和 countblock 的编号格式 - 新增
numbering-format与chapter-numbering-format,分别控制标题和章标题的编号样式 - 新增
offset,用于调整标题编号起始偏移
- 新增
- 颜色接口:
- 新增
matheq-color和counter-color - 新增
link-color,控制普通超链接颜色 - 新增
ref-color,控制@label引用颜色
- 新增
- 标题格式扩展:标题编号现在支持字符串或函数形式,可实现更灵活的编号样式
- 数学环境改进:新增
cases辅助函数,使分段公式中的内容保持 display mode - 依赖更新:
physica更新至0.9.8
🐛 Bug 修复
- 修复数学公式编号缺少括号的问题
- 修复跨章节时公式、图片、表格及 countblock 引用编号不正确的问题
- 修复 Ratchet 状态锚点可能导致 article 或 main 文档开头出现空白页的问题
- 修复不同 countblock 共享计数器时可能产生深度不一致的问题
- 增加 countblock 注册、深度和参数类型检查,错误信息更加明确
- 修复
countblock无法跨页的问题:将 Ratchet 使用的figure调整为不占版面的计数与引用锚点,使实际块内容可以正常分页 - 修复 Typst Universe package-check 提出的 README 警告,并将
tablem更新至0.3.0
🎨 样式优化
- 重新设计 countblock 的标题区域、背景透明度、间距和圆角
- 优化
blankblock的背景、内边距和圆角 - 改进公式、引用和超链接的默认配色
- 更新文章、报告、书籍及英文文档的预览图片
- 重新生成适用于 Typst Universe 的 thumbnail
📄 文档更新
- 完整列出默认 countblock 的名称、深度、颜色和调用函数
- 新增全局调整、单独调整及拆分 countblock 深度的说明
- 新增创建自定义 countblock 的完整示例
- 补充 Ratchet 的工作原理、使用方式及扩展示例
- 更新中英文 README、在线文档和示例 PDF
✨ 主要改进
✅ 更简单的计数管理:不再需要手动注册和重置每一类计数器
✅ 更灵活的 countblock:不同块可以使用不同编号深度,也可以共享或拆分计数器
✅ 更统一的编号系统:公式、图片、表格和自定义块均由 Ratchet 管理
✅ 更丰富的样式接口:编号格式、标题格式、链接颜色和引用颜色均可配置
✅ 向后兼容:原有的 reg-countblock 和 reg-default-countblock 接口仍然保留为兼容入口
🛠️ 如何使用 Scripst
#import "@preview/scripst:1.1.2": *
#let blocks = set-countblock-depth(cb, "thm", 3)
#let blocks = set-countblock-depth(blocks, "rmk", 1, detach: true)
#let blocks = add-countblock(
blocks,
"alg",
"算法",
yellow,
depth: 2,
)
#show: scripst.with(
title: [示例文档],
author: ("作者 1", "作者 2"),
countblocks: blocks,
matheq-depth: 2,
matheq-outline: "(1.1)",
counter-outline: "1.1",
link-color: blue,
ref-color: red,
)
= 第一章
#theorem[这是一个定理。] <example-theorem>
#countblock("alg", blocks)[
这是一个自定义算法块。
]