# 审查意见文档生成规则（朱家角模板）

## 2026-07-02 Doro多次纠正后确立

### 模板结构
路径：`~/.hermes/shared/模版库/朱家角 审查意见【模板】.docx`
（新模板参考：`Doro合同审查任务/参考文件/朱家角 审查意见【新模板】.docx`）

1. 空行（P0, 居中）
2. 标题：`关于《XX》的审查意见`（居中、仿宋 **16pt**(sz=32) **加粗**）
3. `无法律修改意见。`（有审查意见时**删除此行**）
4. `审查意见：`（仿宋 12pt）
5. 表格（条文｜原文｜修订后）
6. 空行
7. 签名：`邱庭 律师`（右对齐、仿宋 12pt）

### 字体规格（从模板XML实际读取，非推测）
- 标题：eastAsia=仿宋, sz=32(16pt), bold=True, **ascii=None**（模板未设）
- 表头行：eastAsia=仿宋, sz=24(12pt), bold=True
- 数据行：eastAsia=仿宋, ascii=Times New Roman, hAnsi=Times New Roman, sz=24(12pt), bold=False, hint=eastAsia
- 正文段：eastAsia=仿宋, sz=24(12pt)

⚠️ 模板本身只设了`eastAsia=仿宋`没有设`ascii`。按review-rules.md要求英文用TNR，生成时应显式设ascii/hAnsi=Times New Roman。

### 文档格式处理（2026-07-12 Doro要求）
- **删除空白行**：文档中所有无内容的空段落必须删除（模板自带的空行也删）
- **页眉日期改为修订当日**：header*.xml中如有日期（如"2019/3"），改为当日日期（如"2026/7"）。注意日期可能被拆分为多个run（如"201"+"9"+"/"+"3"），需逐run处理
- **标题用合同正文中的实际标题**：从合同docx正文提取合同全称（如"医疗设备器械购销合同"），填入《》内。绝不用文件名代替（文件名可能是简称如"医疗合同(2)"）
- **标题格式**：`关于《XX合同全称》的审查意见`，确保无多余占位符残留

### 内容规则（2026-07-02 Doro明确）
- **只写原文和修订后的内容（包括批注内容），不做理由说明**
- ❌ 不写 (注：统一称谓…)
- ❌ 不写 (注：原引用法规…)
- ✅ 条文列：第X条 / 第X.X条 / 新增X.X条（主题）
- ✅ 原文列：合同原文
- ✅ 修订后列：修订后文字 / 批注内容（如"请注意确认金额"）
- 行顺序按条款号排列
- 新增条款：条文栏写"新增X.X条（主题）"，修订后栏直接写条文内容

### 同模板合同的审查意见统一规则
- 格式、字体、行顺序统一
- 共有修订行内容完全相同
- 个案差异行（如金额批注）按各合同实际情况处理
- 没有问题的合同不要强加批注行

### 生成代码要点
```python
# 字体设置（数据行）
def set_run_font(run_elem, east_asia='仿宋', ascii_font='Times New Roman', h_ansi='Times New Roman', sz_val=24):
    rFonts.set(qn('w:eastAsia'), east_asia)
    rFonts.set(qn('w:ascii'), ascii_font)
    rFonts.set(qn('w:hAnsi'), h_ansi)
    rFonts.set(qn('w:hint'), 'eastAsia')
    sz.set(qn('w:val'), str(sz_val))  # 24 = 12pt
    szCs.set(qn('w:val'), str(sz_val))
```

### 常见错误（本session犯过的）
1. 未设sz_val → 回退到默认字号
2. ascii设成仿宋 → 英文也变仿宋
3. 用bytes literal写中文 → unicode转义不解析显示乱码
4. 忘删"无法律修改意见。" → 矛盾
5. 写(注：...)理由 → 规则禁止
