# 《针灸大成》结构优先 · 处理记录

**2026-10-02** · 本机实测 · 书族：针灸专著类（首个完成本）· 源：人卫《中医临床必读丛书（典藏版）》

---

## 一、源与范围

| 项 | 值 |
|---|---|
| 源 EPUB | `C:\Users\xy192\DSH云端备份\4-原始底本\epubtest\00-原始EPUB\中医临床必读丛书典藏版.epub` |
| 书内范围 | spine 第 **691–712** 页（`part0690.xhtml` – `part0711.xhtml`），22 页 |
| 边界依据 | 本书 CIP 页 = 第 693 页；其前 2 页（691、692）为本书封面/内封（纯图片、0 字）。**已修正**旧边界（693–714）的两处问题：① 漏掉本书封面/内封；② 把下一本《脉经》的封面/内封（713、714）算了进来 |
| 落地库 | 临时库 `_tmp-针灸大成-结构C`（**1642 片 / 234 篇文档**），id 见 `_tmp\books\jd_base.json` |
| 未改动 | 原始 EPUB、旧「中医」库、检索开关、插件文件 |

边界修正已对全部 38 本合集内图书生成统一表：`_tmp\five\boundaries_fixed.json`（每本均为「CIP 页 −2」起步，38/38 通过图片页校验）。

---

## 二、源文件体例与两个源缺陷

**体例**：`h1`=卷，`h2`=篇/赋/门，`h4`=子目，`h6`=子目细分，`div.h8`=门内小标题；`div.pCls`=正文段（3961），`div.jr_text_class_center`=歌诀/居中行（1294），`div.Picture`+`div.p_title`=插图与图题（各 119），`div.Table`=表格（实为图片），`div.sgc-toc-*`=书内目录（521 个链接）。

**源缺陷 1：卷标题误标。** 源文件 `h1` 只正确标出「针灸大成卷之一」「针灸大成卷之十」；**卷二～卷九 全部误标为「针灸大成卷之八」**（EPUB 自带目录同样如此，本书 md 版亦然 → 属出版方文件缺陷，非抽取问题）。
处理：**原文按源保留**（h1 文本仍在其所属文档内，未改字）；**文档标题只用「篇名」，不使用错误的卷名**。
按内容推定的真实卷次（**仅供参考，未写入库内文本**）：

| 页 | 推定卷 | 首篇 |
|---|---|---|
| part0701 | 卷一 | 针道源流（针灸直指《素问》、《难经》） |
| part0702 | 卷二 | 周身经穴赋、百症赋、标幽赋、席弘赋、金针赋、玉龙赋、通玄指要赋、灵光赋、兰江赋、流注指微赋 |
| part0703 | 卷三 | 五运主病歌、六气为病歌、百穴法歌、十二经脉歌、玉龙歌、胜玉歌、杂病穴法歌…策（杨氏考卷） |
| part0704 | 卷四 | 仰人/伏人穴图、九针论、制针煮针、各家补泻、禁针禁灸歌、太乙九宫、人神禁忌 |
| part0705 | 卷五 | 十二经井穴图、井荥输原经合、徐氏子午流注逐日按时定穴歌、灵龟八法、八脉图并治症穴 |
| part0706 | 卷五（续） | 八脉图并治症穴（续）、八法手诀歌 |
| part0707 | 卷六 | 五脏六腑图、十四经经穴歌 + 考正穴法 |
| part0708 | 卷七 | 仰人/伏人经穴图、十四经脉长短、经外奇穴、穴同名异类 |
| part0709 | 卷八 | 穴法图（《神应经》）、诸风门…疮毒门、续增治法 |
| part0710 | 卷九 | 治症总要、东垣针法、名医治法、针邪秘要、灸法各论、杨氏医案 |
| part0711 | 卷十 | 保婴神术《按摩经》、小儿推拿诸法、补遗 |

**源缺陷 2：表格是图片** —— `div.Table` 内只有一张 jpeg，无 HTML 表格行；已按图片占位保留（`![](...jpeg)`），文字未丢。

---

## 三、单元规则（针灸专著类模板）

文档 = 篇（`h2`；书前 `h1` 序跋各自成篇）。单元 = 「条」，按小节体例自适应：

| 模式 | 判定 | 单元 | 例 |
|---|---|---|---|
| A 歌赋注解型 | 同篇内既有 ≤25 字短句又有长段 | 一条 = 歌句 + 紧随注解段 | 标幽赋、金针赋、通玄指要赋 |
| B 短行型 | 篇内正文行长中位 ≤60 字 | 连续短行按 ≤400 字打包，行不跨片断开；`［第N］`、`一、`等记录序号处断条 | 神应经诸风门/伤寒门、治症总要、十二经脉歌 |
| C 长段型 | 篇内正文行长中位 >60 字 | 一段 = 一条 | 针道源流、百症赋、目录 |
| D 考正穴法型 | 见 `h4 考正穴法` 之后的段落 | 一穴 = 一条（穴名＋别名＋定位＋针灸法＋主治，其后引文归本条） | 十四经 359 个穴条 |

- **穴条识别用白名单**：按「最近出现的经名标题」取该经标准穴名表（含本书写法变体：膏肓俞/遾邁/附阳/客主人/渊液/阳关/临泣/窍阴/和髎/三里/五里/通谷），命中「穴名 + ≤12 字 + 空格」即起新条。**逐经核对全部吻合**（见第四节）。
- 标题不孤立：`h1/h2/h4/h6/h8` 与紧随内容同片；连续标题合并。
- **相邻短条合并**：同一文档内相邻短记录（<60 字）合并成片（合并片内保留各自 `〔源：…〕` 标记，逐条仍可回解；共 140 片含 ≥2 标记）。
- 图片/图题并入当前条。
- 出处标记：片首一行 `〔源：partNNNN.xhtml 元素N（锚点id）〕`，切分片另在正文首行注入 `针灸大成 · 篇名` 上下文。
- 单元内部单换行、单元之间空行（满足插件 `splitBlocks` 以空行为边界）；再按**每篇文档自身**的字符预算收口一次。

---

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

| 指标 | 结果 |
|---|---|
| 元素 → 文档 → 片 | 6645 → 234 → **1642**（合并前 1926，短条合并后 1642） |
| 片长 中位 / 均值 / p90 / 最长 | 167 / 226 / 429 / 1808 字符 |
| 超 1824 字符的片 | **0** |
| 逐字无损（去标记/注入上下文/Markdown 链接语法/空白后与原 XHTML 元素文本一致） | ✅ |
| 入库：篇数 / 块数一致 / 逐篇无损 | **234 / 234**、**234 / 234**、**234 / 234** |
| 库内块数 | 1642（与送入片数一致） |
| 出处标记可回解（页码存在 + 元素号在范围内） | **1927 / 1927** |
| 图片占位 | 294（其中 `.gif` 字形图 62，jpeg 插图 232） |
| 跨条粘连（一片含 ≥2 个穴条起首） | **0** |
| 结构上的孤立小片（去标记后 ≤30 字符） | 20（图题+图、序末署名、短注，逐条已列于抽查单） |
| 不足 50 字符的块 | **6**（0.4%，见抽查单 A 节，均为完整短记录） |
| 考正穴法穴条 | **359 / 359**（逐经吻合，见下） |
| 按每篇预算收口后超预算文档 | **0** |

**逐经穴条核对**（本书为 359，标准十四经穴 361 —— 本书肝经未列「急脉」、督脉未列「中枢」，是《针灸大成》版本常态）：

| 经 | 本书识别/应为 | 经 | 本书识别/应为 |
|---|---|---|---|
| 手太阴肺经 | 11 / 11 | 足太阳膀胱经 | 67 / 67 |
| 手阳明大肠经 | 20 / 20 | 足少阴肾经 | 27 / 27 |
| 足阳明胃经 | 45 / 45 | 手厥阴心包络经 | 9 / 9 |
| 足太阴脾经 | 21 / 21 | 手少阳三焦经 | 23 / 23 |
| 手少阴心经 | 9 / 9 | 足少阳胆经 | 44 / 44 |
| 手太阳小肠经 | 19 / 19 | 足厥阴肝经 | 13 / 13（无急脉） |
| 任脉 | 24 / 24 | 督脉 | 27 / 27（无中枢） |

**检索 A/B（26 题，TopK=4，均限定本书）**

| | 单块精确命中 | 落空 | 命中块长中位 |
|---|---|---|---|
| **新结构库**（一句/一条/一穴成片） | **26 / 26** | 0 | **292 字符** |
| 旧「中医」库 md 版（约 1200 字一块） | 21 / 26 | 5 | 1207 字符 |

落空 5 题（旧库）：十二经井穴图、禁针穴歌、席弘赋、灵光赋、杂病穴法歌 —— 均为旧 md 分块下被切成半条或丢失关键词。

---

## 五、待人工确认 / 已知局限

1. **抽查单 32 条**待你过目：`工作区\抽查单-针灸大成-20261002.md`（覆盖开头/中间/结尾/最长块/带图/带字形图/异常短块/考正穴法穴条/歌赋条/门类短条/合并片）。
2. **卷次推定**（第二节表）未写入库内文本，是否补标「卷二…卷九」请定。
3. **字形图 62 张**（`.gif`）是缺字位（例：`口眼 ![](image06308.gif) 斜`），属「字形图提字」单独立项，本轮未处理。
4. 源文件本身的**辑校错误**（如「督脉」段混入《铜人》等）不在本轮处理范围：本轮只做「不丢字、可溯源、按结构成条」。
5. 短条合并片（140 片）内是 2～5 条完整短记录，检索时会整体返回；如果你要求「一片必须只有一条」，可关掉该合并重跑（代价：短块比例上升）。

---

## 六、脚本与数据

- 生成：`_tmp\gen_jd.py`（EPUB 元素级抽取 + 四模式成条 + 无损自检 + 每篇预算收口）
- 验收：`_tmp\verify_jd.py`（导入 + 逐篇块数/无损 + 出处回解）、`_tmp\accept_jd.py`（异常块 + 结构检查 + 32 条抽查单）、`_tmp\retrieval_jd.py`（A/B 检索）
- 数据：`_tmp\books\jd_docs\`（234 篇文本）、`jd_pieces.json`（1642 片）、`jd_meta.json`、`jd_pages.json`、`jd_stats.json`、`jd_units_diag.json`、`jd_verify.json`、`jd_retrieval.json`、`jd_base.json`
- 边界表：`_tmp\five\boundaries_fixed.json`、`_tmp\fix_boundaries.py`

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