ChineseResearchLaTeX v4.0.0 重磅发布:从"模板仓库"到"科研基础设施"的质变
如果你还在用 v3 的方式管理 NSFC 标书——三套模板、三份字体副本、三段几乎相同的样式代码——v4.0.0 是时候让这种低效彻底终结了...
BenszConan
管理员
文章目录 ⌄
如果你还在用 v3 的方式管理 NSFC 标书——三套模板、三份字体副本、三段几乎相同的样式代码——v4.0.0 是时候让这种低效彻底终结了。
我们在做什么
坦白说,这个项目的野心从来不止是"一套好用的 LaTeX 模板"。
我们的目标是:打造最适合中国研究者体质的科研写作 AI Agent。
这意味着什么?它需要真正理解国自然的写作语境、SCI 投稿的格式规范、中文排版的审美习惯;它需要能在 AI 辅助下完成从立项依据到参考文献的全链路写作;它需要在本地、Overleaf、VS Code 等各种环境里都能跑起来。
v4.0.0 是这条路上的一个关键节点:把底层基础设施做对,才有资格谈 Agent。
⚠️ 2026 年国自然申请者请先看这里
v4.0.0 暂不建议用于 2026 年的正式申报。
v3.x 系列历经多轮实战打磨,结构稳定、文档完善,是本申请季的稳妥选择。请继续使用 v3.5.1。
v4.0.0 是为 2027 年及以后构建的新底座——公共包架构、统一脚本、SCI 链路,这些都需要时间沉淀和社区验证。欢迎提前探索、提交反馈,但请不要在 deadline 前冒险切换主力工具。
一次架构级的重生
v4.0.0 不是一次普通的版本更新,它是对整个仓库定位的一次重新定义。
从"一堆 LaTeX 模板文件",进化为"公共包 + 薄项目 + 官方脚本 + AI Skills"的现代科研写作基础设施。
这意味着什么?以前你下载一个 NSFC 模板,你得到的是一个装满 .sty、字体、BibTeX 样式的"大礼包",三套模板(面上/地区/青年)各自为政,改一处样式要同步三次。
现在不一样了。
核心变革:公共包架构
packages/bensz-nsfc/ — NSFC 的唯一共识层
三套 NSFC 模板的样式实现整体移入公共包,项目层只剩一个薄薄的参数面板:
% 以前:每个项目 @config.tex 包含数百行重复样式代码
% 现在:一行加载,项目层只写参数
\usepackage[type=general]{bensz-nsfc-common}
重构后净减少 1173 行重复代码。字体、BibTeX 样式统一在 packages/bensz-nsfc/assets/ 管理,三个项目共享同一份资源,不再有副本漂移问题。
官方脚本三件套
告别手敲编译命令,官方脚本入口正式成型:
| 脚本 | 职责 |
|---|---|
install.py |
安装公共包,生成锁文件 |
nsfc_project_tool.py |
固定 xelatex→bibtex→xelatex→xelatex 链路,中间文件隔离到 .latex-cache/,保留 VS Code synctex 跳转 |
validate_package.py |
安装校验 + TDS 打包 |
一条命令构建,中间文件不污染项目目录。 这对有洁癖的研究者来说,绝对是福音。
新战线:SCI 论文链路正式落地
v4.0.0 还做了一件以前版本从未做过的事——补齐 SCI 论文写作支持。
新增 packages/bensz-paper/ 公共包与 projects/paper-sci-01/ 示例项目,实现:
- LaTeX 是唯一的正文来源(
main.tex),所有排版逻辑在 LaTeX 层完成 - 编译产出 PDF(
xelatex链路,投期刊用) - 同时生成 DOCX(以 Markdown 作为中间格式桥接,给合作者用)
- 中间文件全部隔离到
.latex-cache/
两种格式从同一份 LaTeX 源文件派生,不再需要维护两套内容。Markdown 在这里只是 DOCX 渲染管线里的一个转换节点,不承担"写作入口"的职责。
Overleaf 用户:终于有了官方专用包
以前用 Overleaf 的同学需要手动上传各种依赖文件,稍有遗漏就编译失败。
v4.0.0 起,每个模板项目同时提供两种 Release zip:
- 普通版:本地安装用,轻量,依赖公共包单独安装
- Overleaf 专用版:内嵌所有运行时文件、字体、bst,直接上传即用,零配置编译
项目级参数面板:配置更直观
@config.tex 从"空占位文件"升级为结构化参数面板:
% ===========================
% 项目级参数面板
% 修改这里即可,无需深入 .sty 文件
% ===========================
\NSFCProjectConfigBeforePackage{
% \NSFCLineSpread{1.25} % 修改行间距
% \NSFCFontSizeSix{10pt} % 修改六号字大小
}
覆盖顺序固化为:profile 默认值 → 兼容旧钩子 → 项目级钩子,不再有"改了没生效"的玄学问题。
文档体系全面补齐
对于新用户和从旧版迁移的用户,v4.0.0 新增了两份关键文档:
docs/migration-guide.md:从 v3.x 迁移到公共包架构的最短路径说明docs/nsfc-usage-guide.md:面向普通用户的 NSFC 模板完整使用说明
不再是"下载了不知道怎么用"的困境。
自动化:让维护成本趋近于零
v4.0.0 最容易被忽视、却最值得拿出来说的一点,是贯穿全流程的自动化体系。
GitHub Actions:README 永远是最新的
仓库配置了一个每小时触发一次的 CI 工作流 update-template-list.yml,它会自动调用 scripts/update_readme_template_list.py,从最新 GitHub Release 拉取模板资产清单,更新 README 中的模板列表区块,然后自动提交推送。
效果是:每次发布新 Release,README 模板列表无需人工干预,自动同步。
on:
schedule:
- cron: "13 * * * *" # 每小时自动触发
workflow_dispatch: # 也支持手动触发
一键打包发布:pack_release.py
发布流程从"手动压缩、手动上传"变成了一条命令:
python scripts/pack_release.py --tag v4.0.0 --upload
这条命令会:
- 遍历
projects/下每个子项目,按白名单收录文件 - 为 NSFC 项目生成普通包(不含公共包,本地安装用)
- 为 NSFC 项目生成Overleaf 专用包(自动内嵌
bensz-nsfc运行时文件、字体、bst,生成正确的bensz-nsfc-runtime.def指向相对路径) - 为 SCI 项目生成对应的普通包和 Overleaf 包(内嵌
bensz-paper运行时,含 DOCX 产物) - 自动过滤所有缓存噪音(
.DS_Store、__pycache__/、.latex-cache/、.pyc等) - 加
--upload后直接调用 GitHub CLI 上传到对应 Release
v4.0.0 共上传 8 个 zip,全部由这一个脚本生成,零手动压缩操作。
编译链标准化:nsfc_project_tool.py
这是本地构建的核心自动化。它解决的问题很实际:手敲四遍编译命令容易出错,中间文件散落项目根目录令人抓狂。
python scripts/nsfc_build.py build --project-dir .
内部固定执行:
xelatex → bibtex → xelatex → xelatex
中间产物(.aux、.log、.bbl、.blg、.synctex.gz 等十余种)全部隔离到 .latex-cache/,项目根目录只留 main.pdf。VS Code 的 SyncTeX 跳转功能正常保留,编辑体验不受影响。
包安装与校验:install.py + validate_package.py
公共包安装完成后会生成一个锁文件,记录已安装版本与路径。validate_package.py 可随时校验安装完整性,也可打包为标准 TDS zip 供发行。这套机制让"安装了但不知道装没装好"成为历史。
路线图:v4 之后
v4.0.0 确立了基础设施,接下来的方向已经清晰:
- 更完整的 AI Skills 体系:覆盖标书写作全章节,减少人工干预
- 毕业论文模板:
bensz-thesis包已预留位点,将在后续版本落地 - 版本管理系统:支持多版本缓存、锁文件与一键回滚,让团队协作不再因环境不一致而头痛
- 更强的 Overleaf 集成:降低无本地 TeX 环境用户的上手门槛
这是一个正在认真建设中的项目,也是一次对"中国研究者应该有更好的写作工具"这件事的长期押注。
立即上手
- GitHub 地址:https://github.com/huangwb8/ChineseResearchLaTeX
- v4.0.0 Release 页面:https://github.com/huangwb8/ChineseResearchLaTeX/releases/tag/v4.0.0
- 迁移指南:
docs/migration-guide.md(仓库内)
v4.0.0 发布于 2026-03-15,距 v3.5.1 仅一周,改动超过 25 个 commit。这不是迭代,这是重建。
评论区
0 条评论