# 《脈經校注》结构优先 · 处理记录

**2026-10-02** · 本机实测 · 书族：医经校注类（首本）· 源：人卫《中医古籍整理丛书重刊》第 18 本
· 源 md 对照：`中医古籍整理丛书重刊-18-脈經校注.md`（旧库 220 块）

---

## 一、源与范围

| 项 | 值 |
|---|---|
| 源 EPUB | `C:\Users\xy192\DSH云端备份\4-原始底本\epubtest\00-原始EPUB\中医古籍整理丛书重刊.epub` |
| 书内范围 | spine 第 **1181–1215** 页（`part1181.xhtml` – `part1215.xhtml`），共 **35 页** |
| 边界依据 | 本书 CIP 页 = 第 1183 页；起点 1181 为本书封面/内封（纯图片）。**注：源 EPUB 中不存在 `part1216.xhtml`**，本书末页即 1215（含《王氏脈經後序》《校注後記》） |
| 「脈經校注」同名歧义 | 本批两个 EPUB 都有《脉经》：**本书是繁体校注本《脈經校注》**（古籍整理丛书，第 18 本）；简体白文本《脉经》属典藏版第 11 本，是另一本、未在本轮 |
| 落地库 | 主库「中医·结构优先 / 医经校注类 / 脈經校注」（105 篇 / 743 块）+ 本处理记录 |
| 未改动 | 原始 EPUB、旧「中医」库、检索开关、插件文件 |

---

## 二、源文件体例

| 元素 | 数量 | 含义 |
|---|---|---|
| `h1` | 7 | 前置页标题（版权页／内容提要／重刊説明／出版者的話／校注説明／校定脈經序／脈經序） |
| `h2` | 12 | **卷**（脈經卷第一 … 卷第十、王氏脈經後序、校注後記） |
| `h4` | 97 | **篇**（如「脈形狀指下秘訣第一二十四種」「平三關病候并治宜第三」） |
| `h6` | 41 | 篇内小标题 |
| `div.h8` / `div.h9` | 190 / 7 | **「提要：」「按語：」「按：」标记** |
| `div.pCls` | 3469 | 正文段与注释段（含 1305 段以〔N〕开头的注释） |
| `div.catalinaMap` + `catalinaNode1/2` | 1 + 12 + 102 | 本书内目录（层级导航） |
| `div.Table` / `div.IMG` | 4 / 4 | 表格（实为图片）与插图 |

**实测比例**：3469 个 `pCls` 中，**注释段 1305**、**含〔N〕动注号的正文段 735**；注释段的上一段有 **402** 处是正文段、**902** 处是注释段（即注释成串排在被注正文之后）。

---

## 三、单元规则（医经校注类模板）

**文档 = 篇（`h4`）**；篇前 `h1` 各自成篇（前置页类）；**书目信息类页单独成篇**。

**单元（条）规则（已获你确认）**：

| 项 | 规则 |
|---|---|
| 一条 = | **原文段 + 紧随其后的注释段** |
| 注释段判定 | 段首为 `〔N〕`（全角方括号 + 数字） |
| 注释收束 | 遇到**新原文段**或**标题**即结束当前条；注释与原文绝不被拆到不同条 |
| 篇标题 | 与紧随的「提要：」「按语：」及提要/按语正文**同片**，不单独成片 |
| 相邻短条 | 同篇内相邻短记录按 ≤400 字打包成片；**片内各自保留 `〔源：…〕` 标记**，逐条仍可回解 |
| 出处标记 | 片首一行 `〔源：partNNNN.xhtml 元素N（锚点id）〕`；打包片内每条各带自己的标记 |
| 书目信息页 | 封面/版权页/内容提要/重刊説明/出版者的話/校注説明/目录 → 标记「书目信息／目录」，单独成篇，**不作为正文检索结果**（正文篇前固定一行标记，文字一字未删） |
| 换行约定 | 单元内部单换行、单元之间空行（满足插件 `splitBlocks` 以空行为边界）；再按**每篇文档自身**字符预算收口一次 |

---

## 四、核验数据（全部本机实测）

| 指标 | 结果 |
|---|---|
| 元素 → 单元 → 文档 → 片 | 3973 → 2351 → **105** → 743（短条打包前 2369 片） |
| 片长 中位 / 均值 / p90 / 最长 | 359 / 366 / 449 / **1525** 字符 |
| 超 1824 字符的片 | **0** |
| 逐字无损（元素文本多重集） | ✅ |
| **12 字滑窗全覆盖**（原 XHTML 全部 3973 个元素的每一段 12 字都在库内文本中） | ✅ **0 处缺口** |
| 入库：篇数 / 块数一致 / 逐篇无损 | **105 / 105**、**105 / 105**、**105 / 105** |
| 库内块数 | 743（与送入片数一致） |
| 出处标记可回解（页码存在 + 元素号在范围内） | **2557 / 2557** |
| 图片占位 | 155（源 155） |
| 跨条粘连（以注释开头的片） | **0**（原文永远在注释之前） |
| 结构上的孤立小片（去标记后 ≤30 字符） | **9** |
| 不足 50 字符的块 | **7**（0.9%） |
| 含 ≥2 出处标记的打包片 | **561**（每片约 2–10 条互不相干的短条，逐条可回解） |
| 按每篇预算收口后超预算文档 | **0** |

---

## 五、经验规则与已知局限

1. **连续起首不拆分（承《针灸大成》规则，务必遵守）**：判定「条目起首」的正则（穴名／脉名／病证名 + 至多 12 字别名 + 空格）会命中**针法口诀／手法连续论述**的句首，形状像穴名起首，实为**同一段落内的连续论述**，不是多个条目粘连。
   **处置：只按白名单（本书脉象名／经名／病证名表）判定起首；白名单之外的命中一律不拆分。** 本条是为防止在古籍刻本点校质量差的书籍上误判而设的硬约束。
2. **《脈經》条文天然极短**（单条常 20–40 字），若一条一片会产生 2369 片、其中 886 片不足 30 字。故采用「同篇内相邻短条按 ≤400 字打包」，打包后中位 359 字、不足 50 字的块降到 7 个。**如果你要求「一片必须只有一条」，可关掉该打包重跑（代价：短块比例大幅上升）。**
3. **书目信息篇块数**：该书目篇正文首行是插件按标题注入的上下文，会自成一块，故库内块数可能比送入片数多 1（与《针灸大成》同因）。
4. 繁体原文（本书为繁体整理本）**一字未改**，未做简繁转换。
5. **字形图/图片提字**：本书 155 张图仅保留占位，属「字形图提字」单独立项，本轮未处理。
6. 源文件本身的**辑校错误**不在本轮处理范围：本轮只做「不丢字、可溯源、按结构成条」。

---

## 六、脚本与数据

- 生成：`_tmp\gen_mj.py`（EPUB 元素级抽取 + 原文＋注释成条 + 短条打包 + 书目信息页分离 + 12 字滑窗自检 + 每篇预算收口）
- 验收：`_tmp\verify_mj.py`（临时库 `_tmp-脈經校注-结构C` 导入 + 逐篇块数/无损 + 12 字滑窗 + 出处回解）
- 入库：`_tmp\import_book_main.py mj`
- 数据：`_tmp\books\mj_docs\`（105 篇文本）、`mj_pieces.json`（743 片）、`mj_meta.json`、`mj_pages.json`、`mj_elems_all.json`、`mj_verify.json`
- 边界表：`_tmp\five\boundaries_fixed.json`

*本文件不含任何 API key 或凭据。*
