44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# wb-ins-font-verify.py 加粗检查输出解读
|
|
|
|
## 脚本输出格式
|
|
|
|
```
|
|
PASS: all N WB INS runs font-consistent, M title(s) bold-consistent
|
|
```
|
|
|
|
两个指标独立判断:
|
|
- **font-consistent**:`w:rFonts` 四属性 + `w:hint` + `w:sz` 与原文一致
|
|
- **bold-consistent**:`w:b` 状态与原文同级标题一致(仅对标题段落检查)
|
|
|
|
## "0 title(s) bold-consistent" 的含义
|
|
|
|
**不要假设"0 titles = 没有标题需要检查"。**
|
|
|
|
脚本自动检测标题段落(基于编号模式如"第X条""X.XXX"等),但检测策略可能漏检。输出 `M title(s) bold-consistent` 时,M 表示**通过加粗检查的标题数**。
|
|
|
|
- `M > 0`:有 M 个标题通过了加粗检查
|
|
- `M = 0`:**需要人工复核**——可能是:
|
|
- (a) 脚本未检测到任何标题段落(检测策略遗漏)
|
|
- (b) 所有检测到的标题都未通过加粗检查
|
|
- (c) 确实没有标题(纯内容合同)
|
|
|
|
**处理方式**:当 `M = 0` 时,reviewer 必须手动逐条检查所有 WB INS 新增标题段落的加粗状态。
|
|
|
|
## 强制手动加粗检查(当 M=0 时)
|
|
|
|
1. 提取所有 WB INS 新增段落(`w:ins[@author='WB']` 所在的 `<w:p>`)
|
|
2. 判断哪些是标题段落(含编号如"第X条""X."等)
|
|
3. 对每个标题段落,提取其 INS run 的 `w:rPr`,检查是否含 `<w:b/>`
|
|
4. 与相邻原文标题段落的 rPr 对比(取最近一个原文标题段落)
|
|
5. 不一致的标记为 format issue(severity: major)
|
|
|
|
## 实例(2026-06-27 朱家角标识标牌合同)
|
|
|
|
脚本输出:`PASS: all 17 WB INS runs font-consistent, 0 title(s) bold-consistent`
|
|
|
|
- P84 "19.知识产权" 标题为 WB INS 段落
|
|
- P82 "18.合同转让和分包"(原文标题)rPr 含 `<w:b/>`
|
|
- P84 INS run 的 rPr **缺少** `<w:b/>`
|
|
- 脚本未将 P84 识别为标题段落(或 bold check 覆盖不到),`M=0` 未报警
|
|
|
|
**结论**:`M=0` 时必须手动逐条检查。不能因为脚本 PASS 就跳过加粗验证。 |