SciVolume 能写进流程里的部分是文献入库和引用回填:把 PDF、DOI 或题录交给它,它生成文献库条目,并在你喂进去的章节正文里找到引用位置做回填。它接不了的,是这本书要论证什么、每章用哪条文献支撑哪句话。分工判断可以按产物来分:产物是“文献库里的条目”“正文里的引用标记”,交给 SciVolume;产物是“这一章要说明什么问题”“这句判断是否成立”,只能自己写。混乱通常出在两处:文献没提前入库就动笔写正文,引用无处可指;整本写完再统一回填,缺依据的句子被顺手塞进一条并不相关的文献。
把 SciVolume 当成引用流水线:文献入库、引用回填、条目命中检查交给它;提纲、每章论点、文献与论点的对应关系必须自己写。动笔前先定章节骨架和所需文献清单,每章正文写完立刻跑一次引用检查,找不到文献依据的句子单独标注,而不是硬塞引用。工具只保证条目和引用位置对得上,不保证论证成立,也不判断文献是否支持该论断。
| 环节 | 谁负责 | 输入 | 输出 | 怎么验证 |
|---|---|---|---|---|
| 章节骨架与文献需求清单 | 作者 | 写作目标、章节结构 | 章节—文献需求清单 | 每章至少一条文献需求,或明确写“本章无需引用” |
| 文献入库 | SciVolume | PDF、DOI、题录文本 | 文献库条目(标识、题名、年份) | 用题名或标识在文献库检索,确认能命中 |
| 文献与章节绑定 | 作者,SciVolume 辅助 | 章节—文献需求清单 | 带条目 ID 的章节引用清单 | 每章引用的条目 ID 都能在文献库查到 |
| 章节正文 | 作者 | 提纲要点、引用清单 | 章节草稿 | 逐段自读:每个论断是否指向清单里的条目 |
| 引用回填 | SciVolume | 章节草稿、文献库 | 带引用标记的正文与回填报告 | 逐章统计可点开引用数,与清单条目数对照 |
| 缺失依据标记 | 作者 | 回填后的正文 | 待补依据句清单 | 每条标注句对应一条缺失文献,或写明“本人补充论述” |
先定章节骨架:每章写什么、需要哪些文献支撑
动笔前把引用需求写清楚,比写完再回头找文献省事。清单不要只写“第 3 章需要文献”,要写到需求粒度:这一章要支撑哪几个论断、每个论断需要什么类型的文献。清单可以先留空条目,等文献入库后再把条目 ID 填回去。
# 章节—文献需求清单(字段名可按自己的整理习惯替换)
book: 示例书名
chapters:
- id: ch01
论点: 该问题的研究起点与主要分歧
需要文献: 综述类 1 条、奠基性研究 1 条
条目ID: []
状态: 待入库
- id: ch02
论点: 方法与数据来源的比较
需要文献: 方法类 2 条
条目ID: []
状态: 待入库这份清单的用途是:写正文时只从清单里取文献,不在写作过程中临时新增来源。临时新增的文献往往来不及核对题录,回填阶段容易对不上条目。
把每章需要的文献提前放进同一个文献库
SciVolume 的回填依赖文献库里已有条目,所以入库要按章标签做,方便后面按章检查。下面是一段通用接入骨架,具体子命令和参数以你本地 SciVolume 版本的帮助输出为准,先跑 sci `--help` 确认再替换。
# 按章入库,tag 用章节 ID
sci ingest `--input` ./refs/ch01/*.pdf `--tag` ch01
sci ingest `--input` dois_ch01.txt `--id-type` doi `--tag` ch01
# 查看该章已有条目
sci list `--tag` ch01 `--format` table入库后立刻做一次对照,把缺条目的章节标出来。缺条目的章节不要开始写正文,先把清单状态改成“待补”,或明确本章不引用该论断。
| 章节 | 清单需要的条目 | 文献库命中条目 ID | 状态 |
|---|---|---|---|
| ch01 | 综述 1、奠基研究 1 | ref-0142;空 | 缺 1 条,暂停该章写作 |
| ch02 | 方法类 2 | ref-0201、ref-0203 | 齐 |
| ch03 | 案例 1、数据来源 1 | 空、空 | 缺 2 条,先入库 |
按章生成正文,每写完一章停下来点一遍引用
把章节正文按提纲一段段喂给 SciVolume,回填也按章触发,不要等整本写完。每章回填后记录两个数:本章能点开的引用数、清单理论上应有的引用数。差额就是下一个动作的入口,不需要凭感觉判断。
# 单章回填并产出报告
sci backfill `--chapter` ch02 `--doc` chapter02.md `--out` chapter02.cited.md
sci check `--doc` chapter02.cited.md `--report` chapter02.report.json| 章节 | 本章清单应有引用数 | 本次可点开引用数 | 累计可点开引用数 | 处理 |
|---|---|---|---|---|
| ch01 | 2 | 1 | 1 | 补第 2 条文献并重跑本章回填 |
| ch02 | 2 | 2 | 3 | 通过 |
| ch03 | 2 | 0 | 3 | 文献库无条目,先入库再回填 |
差额一直存在时不要用改措辞的方式绕过去,那会让正文的论断和引用清单脱节,收尾核对时仍要回来处理。
把正文里找不到文献依据的句子单独标记
回填只能处理文献库里有的条目。对找不到依据的句子,用一个固定标记写在句尾,便于全文检索汇总,例如 [待补依据] 或注释形式 <!`--NEED-CITE--`>。标记之后要区分两种情况:本来是文献支撑但条目缺失,去入库再回填;本来就是自己的补充论述,改成明确的表述并保留标记,不要硬塞引用。
grep -n "\[待补依据\]" chapter03.cited.md| 标注句 | 缺失的文献 | 处理方式 |
|---|---|---|
| 该结论在多个案例中方向一致 [待补依据] | 需要 1 条案例研究 | 入库后重跑 ch03 回填 |
| 本书据此提出三点操作建议 [待补依据] | 非文献依据 | 保留为本人论述,标记改为“本人补充” |
| 这一分野在早期研究中已出现 [待补依据] | 清单里的综述条目未入库 | 补条目,核对题录后再回填 |
收尾时核对章节骨架与引用清单是否还对得上
收尾要拿三个集合做对比:骨架里的章节、清单里的引用条目、正文里实际出现的引用条目。差异通常只有三类——漏章、漏引、多引,逐条确认原因即可,不必重读全书。
sci list `--chapters` > chapters.txt
sci list `--refs` `--by-chapter` > refs.txt
sci check `--doc` book.md `--report` book.report.json| 对比项 | 骨架 | 清单 | 正文 | 差异原因与动作 |
|---|---|---|---|---|
| 章节数 | 12 | 12 | 11 | 缺 ch09 正文,补写或确认删章 |
| 引用条目数 | — | 20 | 18 | 2 条只在清单未回填,检查对应章节 |
| 条目是否可查 | — | 20 | 18 | 逐条用 ID 在文献库检索,确认无空条目 |
三个集合对不上时,优先处理“正文有条目、清单没有”的情况,这类条目多为写作中临时新增,需要补进清单并核对题录;其次是“清单有、正文没有”,多半是漏引或该论断被删。确认完成后,骨架、清单、正文三者的条目数量应当一致,或者每一处不一致都有明确记录。