Template upgrade reference: 2025-12 baseline to 2026-08 current / 模板升级参考:2025-12 基线至 2026-08 当前版

Published

August 13, 2026

范围与基线 / Scope and baseline

本文记录当前模板相对约 10 天前可用版本的结构性变化,并作为其他 manuscript 项目的升级参考。

  • 当前版本 / Current: e29e7f3(2026-08-12;后续提交以此为准)。
  • 时间基线 / Time baseline: 2026-08-03;该时间之前最近提交为 3815b69(2025-12-14)。
  • 变更量 / Change volume: 109 个文件,约 7,025 行新增、470 行删除;另清理旧的子目录扩展链接和过期 Track Changes 文档副本。
  • 适用范围 / Intended scope: 采用根目录 _extensions/drwater、Quarto manuscript 结构、并以 MS/ 为主稿目录的项目。

2026-08-08 曾短暂建立 wiki/,但在本轮设计中已删除;因此不要把 wiki 迁入目标项目

核心差异 / Key differences

主题 旧版本(基线) 当前版本 迁移时的处理
研究构想 没有统一入口 MS/Brief.qmd 记录问题/假设、主结果/图、标题及引言/讨论逻辑 新增;不覆盖现有主稿
内审记录 没有统一 AI/内审归档 RN/YYYYMMDD_revised-by-<reviewer>/,含 index.qmdprompt.mdreview.md 新增 RN/_TEMPLATE/RN/index.qmd 与说明
修改追踪 无集中可浏览记录 LOG/YYYYMMDD-HHMM_<scope>/index.qmd,由 LOG/index.qmd 自动列出 新增 LOG/ 框架;实质性修改建议记录,例行备份/维护不强制
工作管理 无明确待办入口 TODO.qmd + 个人 .reminders/ 日历/mutt 草稿 新增;提醒只生成文件,不自动发送邮件或写入日历
Wiki 多层 wiki 导航与笔记生成器 已删除,避免 manuscript 项目过度复杂化 删除目标项目的 wiki/,并删除导航/渲染引用
报告、幻灯、修订追踪 目录分散,手工维护入口 RP/SD/TC/ 用 Quarto listing 自动汇总 用当前 index.qmd_metadata.ymllisting.yml 更新
扩展 / Extensions 各子目录常有 _extensions 软链接或私有旧副本 只使用根目录 _extensions/drwater 删除所有子目录 _extensions;修复文档中的相对路径
文稿格式 部分项目仍是 elsevier/旧扩展格式 dwms-htmldwms-docxdwms-pdf 等当前 drwater 格式 仅替换 YAML front matter,保留文稿正文;GA.qmd 需单独检查
编译与列表 Listing 对空目录或特殊路径不稳健 generate-media-listings.sh、安全的 lazy-render 哈希和空 listing 输出 更新脚本与 Makefile;对每项目单独验证

已知兼容性问题与处理 / Known compatibility lessons

现象 原因 处理
Unable to read extension 'elsevier' 已移除旧子目录扩展,但 YAML 仍要求 Elsevier 扩展 用当前 dwms-* front matter;不恢复旧扩展
Command \listofsfgs already defined _quarto.yml_metadata.yml 重复定义 crossref.custom 只保留 _metadata.yml 的通用 crossref 配置
Not in outer par mode(常见于 SM PDF) gt 表在自定义浮动体中生成嵌套 LaTeX table 将该表转为普通 Markdown table;HTML/DOCX/PDF 一并验证
Undefined control sequence: \blandscape 旧式自定义 LaTeX landscape 命令已不适用 改为 :::{.landscape} 与配对的 :::
找不到 cover1.pdfMS/_extensions/... 仍引用删除的旧扩展资产 更新为根目录 drwater 对应资源,或为暂缺资产建立明确占位文件
tlmgr update --self 在编译中长时间运行 通常不是正常文稿渲染路径,可能遮蔽真正依赖/格式错误 停止该进程,先检查 .log 中首个 TeX 错误;不要把环境更新当作解决方案
listing TypeError 或空 YAML 空目录/媒体扫描结果未产生有效 listing 使用当前 generate-media-listings.sh,确认 listing.yml 是有效 YAML
make local 中路径含空格、括号或中文时失败 旧哈希命令使用 shell 分词 采用当前 Makefile 的 git ls-files -z | xargs -0 哈希逻辑

提交与交接 / Commit and handoff

迁移应与项目正文修改分开提交。建议暂存白名单:共享配置、MS/*.qmd 的 front matter、目录入口、脚本、以及被删除的旧扩展;不要包含 data/analysis/figures/www/_freeze/ 或文稿中间文件,除非它们确属本次迁移。

git add _quarto.yml _metadata*.yml _brand.yml Makefile README.md \
  MS/*.qmd SD/ TC/ RP/ RN/ LOG/ TODO.qmd scripts/ .githooks/
git status --short
git commit -m "Adopt current manuscript template"

当前策略是:对实质性文稿修订,建议使用 scripts/commit-change.sh <scope> "message" 生成日志;例行生成文件、备份与维护提交不由 Git hook 强制阻止。每次升级提交中仍应写明:基线、迁移范围、未处理的项目特异问题及实际编译结果。

验证 / Verification