WEARABLE · PHYSIOLOGICAL FM

写作与格式规范

本仓库所有 Markdown 内容(README、docs/、blogs/)遵循本规范。提交前运行 python scripts/lint_md.py 检查格式问题。

文档应放在哪里、是否需要新增目录,以及模型收录和维护流程,统一见 贡献规范。本文件只维护写作与格式细则。

一、文风

目标是让读者觉得这是一位研究者写的笔记,而不是营销文案。

1. 用事实和数字说话

  • 用具体数字代替形容词。写“HR MAE 3.9 bpm”,不写“高保真心率估计”;写“编码器 0.31M 参数”,不写“极致轻量”。
  • 论文结论要标明来源:“作者报告……”“论文在 PTB-XL 上得到……”。论文的说法和自己的判断分开写,后者放在“评注”里。
  • 只写能在论文、官方代码仓或数据集页面查到的信息。查不到的字段留空;“未公开”须有作者声明等依据,不用它代替未知。

2. 禁用和慎用的词

类别 词语 处理方式
禁用 神级、巨座、颠覆、革命性、降维打击、解毒、完美、极致、终局、天花板 删除,改为具体描述
禁用 旗舰、黄金(标准/底座)、标杆、里程碑、重磅 删除;“金标准”仅用于医学上的 gold standard
慎用 首个、首创、首次 仅在论文本身如此声称时使用,写作“作者称其为首个……”
慎用 全面超越、显著提升、彻底解决 换成具体指标和对比对象
慎用 核心、深度、全景、前沿 一段内最多出现一次,标题中尽量不用

3. 句子和段落

  • 一个段落讲一件事。列表不超过 6 项,超过就拆分或改成表格。
  • 不堆砌定语。写“MC-MED(Stanford 急诊监护数据,约 11.8 万次就诊)”,不写“千万级真实急诊多模态重症高精数据库”。
  • 机构写正式名称即可,不加头衔和评价(如“某某开创者”“顶级团队”)。
  • 术语首次出现写“中文(English, 缩写)”,之后用缩写。
  • 默认不用 emoji,包括标题、表格、列表和状态标记。唯一例外是 README 的“打开交互式网页版”入口,可在链接文字前加一个 🌐,突出交互阅读入口;其他位置保持克制。
  • 不加“已核实”“经验证”一类标记。正确是默认要求,不需要声明。

4. 面向读者写结论

首页帮助读者理解研究、找到资料;维护流程写在贡献规范中。

  • 删除“不能据此判断……”等泛化免责句。影响理解的限定写成具体事实,例如“摘要报告 1,596 万实例,正文为 1,580 万”;保留评测条件、数据划分、许可与访问限制。
  • 不向读者解释生成或维护机制,例如“日期优先采用 updated,否则采用 added”。这类说明放在 CONTRIBUTING.md、脚本或 HTML 注释里。
  • 公开正文不写对话、检索过程或任务进度,例如“本轮检索”“沿用并修正”“未取得全文”“后续决定是否收录”。工作记录放在本地 internal_strategy/;相关研究保留来源和研究内容,影响复现的证据缺口写成具体的协议或资源限制。
  • 站内专题不添加“欢迎交流与共建”等回流卡片;共建入口由网页统一导航提供。此类卡片只用于面向站外平台的文章。
  • 首页参数量、代码、权重缺失时省略对应项,不反复填“未报告”“未列”,也不用“紧凑级”“轻量级”“工业级”代替数字。专题可说明有研究价值的证据缺口。
  • 表格单元格不写“见专题”“统计口径见专题”。每行已链接专题,差异在专题正文中说明。
  • 同一概念全仓只用一个说法。资源状态的固定写法见“五、收录信息”。

二、Markdown 格式

GitHub 使用 CommonMark/GFM 渲染。中文排版有几类常见的渲染失败,下面逐条说明。

1. 加粗:首尾不放标点

CommonMark 判断 ** 能否闭合时会看两侧字符。加粗内容以标点开头或结尾、而外侧紧挨着汉字或字母时,加粗会失效,页面上直接露出 **。

错误写法 正确写法
模型提出了**“分辨率假说”**并验证 模型提出了“**分辨率假说**”并验证
首创**解耦预测跨度(DHF)**与时间注意力 提出**解耦预测跨度**(DHF)与时间注意力
参数量为**0.72M。**下游 参数量为 **0.72M**。下游

规则:加粗内容的第一个和最后一个字符不能是标点(括号、引号、冒号、句号、百分号等)。把标点移到 ** 外面即可。

加粗用于关键数字或术语,每段最多一处,不加粗整句,标题内不加粗。

2. 波浪号、美元符号和公式

  • 范围用短横线或全角波浪号:3-4 mmHg、10~15 min。不要用半角 ~,GitHub 会把成对的 ~ 渲染成删除线。
  • 近似值写“约”:约 1.5M,不写 ~1.5M 或 \~1.5M。
  • 简单符号用 Unicode:→、≤、≥、×、±。不写 $\to$、$\le$。
  • 只有真正的公式才用 LaTeX。行内公式用 $...$;独立公式的 $$ 各占一行,前后空行。
  • 正文中的美元符号写成 \$。

3. 标题

  • 标题里不放 emoji、加粗和句末标点;README 网页入口的单个图标例外见上文。
  • 模型小节的标题只写模型名,例如 ### PaPaGei。机构、年份、链接放在标题下的信息行里。这样锚点稳定(#papagei),改描述也不会弄断别处的链接。
  • 不用“——”接一长串副标题。

4. 列表、表格和提示框

  • 列表、表格、代码块、标题前后都留一个空行。
  • 嵌套列表统一缩进 2 个空格。
  • 表格单元格里的竖线写成 \|,换行用 <br>。表格不超过 8 列,过宽就拆成两张。
  • GitHub 提示框(> [!NOTE] 等)只能放在顶层,放进列表里不会渲染。整篇最多用 2-3 个。

5. 链接

  • 仓库内的文件一律用相对路径,例如 `[睡眠专题](docs/models/sleep_models.md#sleepfm)`。不要写 file:/// 或本机绝对路径。
  • 汇总、选型和比较表中,用作行标识或比较列标题的模型、论文、基准与数据集名称统一写成 [**名称**](#小节锚点),跨专题使用相对文件路径加锚点。同一格有多个不同条目时分别链接,机构、年份与评测设置留在链接外;正文说明中的名称不必重复加链。
  • 链接指向已有的对应介绍;本页没有详细介绍时,链接主要维护专题的小节。没有对应小节的条目保留文字或已有论文入口,不为补链接新建空小节,也不链接到无关模型。
  • 论文优先链接 arXiv abs 页或 DOI,不直接链接 PDF。
  • 锚点按 GitHub 规则生成:小写,去掉标点,空格变 -。scripts/lint_md.py 会检查仓库内的锚点是否存在。

6. 中英文混排

  • 中文与英文、数字之间加一个空格:使用 PPG 信号、共 57,000 小时。
  • 数字与单位之间加空格:100 Hz、5 min。百分号和度数除外:42%、37°C。
  • 中文句子里用全角标点(,。:;“”())。括号内全是英文时可以用半角括号。

三、图片

1. 数量

  • 每个模型小节尽量放一张图,首选论文里的总览图或架构图。
  • 有必要时可以再放一张关键结果图。整个小节不超过 3 张。
  • 图要跟正文对得上,不放装饰性图片。论文内容不使用 AI 生成的示意图。

2. 来源和署名

  • 来源优先级:论文原图(arXiv 版本)> 官方项目页或 GitHub README > 自绘。
  • 图下一行写来源,格式为:图源:PaPaGei 论文 Fig. 1(arXiv:xxxx.xxxxx)。
  • 自绘的流程图或架构图用 Mermaid 编写并渲染成 PNG,源码和图片一起提交。

首页地图采用白底、中性灰和单一低饱和强调色。研究路线用卡片分区,卡片内用小模块区分模态与模型;辅助主题各占一块,不合并成长条文字。层级首先由留白、对齐、字号和边框表达,颜色用于少量强调。在约 900 px 的首页阅读宽度下检查正文,避免靠缩小字体容纳更多模型。

Mermaid 节点内的 HTML 样式使用 rgb(...) 指定颜色,避免十六进制颜色与分号被解析为实体;classDef 的颜色仍可用十六进制。

3. 文件

  • 论文图片放在 docs/figures/<model-id>/,<model-id> 与 data/models.yaml 中的 id 一致。README 用的图放在 assets/。
  • 文件名用小写字母和短横线,例如 overview.png、architecture.png、results-ptbxl.png。
  • 论文裁图宽度不超过 1600 px,单张不超过 500 KB。首页地图按 1200 px 逻辑宽度导出 2x PNG,保留 SVG。线条图用 PNG,照片用 JPG。
  • 用 python scripts/figures.py crop ... 从论文 PDF 裁图,脚本会自动缩放和压缩。论文 PDF 放在本地 papers/ 目录,不提交。

四、模型小节模板

### PaPaGei

Nokia Bell Labs · ICLR 2025 · [论文](https://arxiv.org/abs/xxxx.xxxxx) · [代码](https://github.com/xxx) · [权重](https://zenodo.org/xxx)

![PaPaGei 预训练框架](../figures/papagei/overview.png)

图源:PaPaGei 论文 Fig. 1(arXiv:xxxx.xxxxx)

一两句话说明模型是什么、解决什么问题。

**方法**

- 要点一
- 要点二

**结果**

- 作者报告的关键指标,注明数据集和对比对象

**评注**

自己的判断:适用场景、局限、和其他模型的关系。没有就不写。

“方法”“结果”“评注”这些小标签可以按内容增减,不强求三段齐全。

五、收录信息

模型和数据集的元数据统一维护在 data/models.yaml 和 data/datasets.yaml,README 中的索引表由 python scripts/build_tables.py 生成,不要手动编辑 README 里标记为自动生成的区块。

资源栏只使用以下写法,由 build_tables.py 根据字段生成:

情况 字段 显示
有公开链接 paper、code、dataset、weights 论文、代码、数据、权重
权重有许可限制 weights + weights_label 学术用途权重、非商用权重
权重需申请 access: gated 权重需申请(有入口则链接)
作者已声明将发布 access: planned 权重待发布;无代码时为代码与权重待发布
无权重入口 weights 留空且非待发布或申请状态 省略权重项

参数量或数据规模查不到时字段留空,表格中不显示该行。

新增一个模型的步骤:

  1. 在 data/models.yaml 末尾添加条目,added 填当天日期。
  2. 在对应专题文档中添加模型小节,按需放图。
  3. 运行 python scripts/build_tables.py 和 python scripts/lint_md.py。
本页目录