文献综述撰写 · 药师节AI培训 Skill
定位(AI 必读)
本 skill 是 AI 撰写药学综述的操作手册,记录了从"读取文献摘要文件"到"生成格式化Word文档"的完整工作流。
- 用户:提供 PubMed 摘要文件 + 知网摘要文件 + 课题方向,提出字数/格式要求
- AI:读本 skill → 解析文献 → 规划结构 → 撰写正文 → 生成 Word 文档
- 目标:一次交付达到发表水平的中文综述 Word 文档
Overview
核心流程:文献读取 → 文献编目 → 综述结构规划 → 正文撰写 → Word文档生成
适用于:
- 药学课题的文献综述撰写
- 药物安全性/有效性叙述综述
- 培训班/学习班的综述作业
- 基于已有摘要文件的快速综述生成
Step 1:读取文献摘要文件
1.1 PubMed 摘要文件(.txt)
PubMed 导出的摘要文件为纯文本格式,可直接用 Read 工具读取。
文件特征:
- 每篇文献以 序号: 开头(如 1: Chinzon D, ...)
- 包含作者、标题、期刊、年份、DOI、PMID 等信息
- 各篇之间以空行分隔
读取方式:
Read 工具直接读取 .txt 文件
1.2 知网(CNKI)摘要文件(.doc)⚠️ 关键技巧
知网导出的 .doc 文件并非真正的 Word 二进制格式,而是 UTF-8 编码的纯文本文件!
这是最容易踩坑的地方。直接用 editor_sdk / tencent-docs-routing 读取会持续报错("document is not open"),因为文件根本不是 .doc 二进制格式。
正确读取方式:用 Python 直接读取:
doc_path = r'路径\知网文件.doc'
with open(doc_path, 'r', encoding='utf-8') as f:
content = f.read()
print(content)
知网导出格式字段:
| 字段标记 | 含义 |
|:---|:---|
| SrcDatabase-来源库: | 文献类型(期刊/硕士/博士等) |
| Title-题名: | 文献标题 |
| Author-作者: | 作者列表(分号分隔) |
| Organ-单位: | 作者单位 |
| Source-文献来源: | 期刊/学校名称 |
| Keyword-关键词: | 关键词(分号分隔) |
| Summary-摘要: | 摘要全文 |
各篇文献以空行分隔,每篇以 SrcDatabase- 开头。
1.3 知网参考文献格式文件
知网还可能导出一个参考文献列表文件(同样是 .doc 但实为 UTF-8 文本),格式为:
[1]作者.题名[J].期刊,年,卷(期):页码.
[2]作者.题名[D].学校,年.DOI:xxx.
可用于提取完整的中文参考文献著录信息(卷期页码等)。
1.4 读取优先级
- 先读 PubMed .txt 文件(Read 工具直接读取)
- 再读知网 .doc 文件(Python UTF-8 读取)
- 如有知网参考文献列表文件,也读取(用于补全卷期页码)
- 统计文献总数,计算中英比例
Step 2:文献编目与分类
读取完所有文件后,对每篇文献进行编目:
2.1 编目信息
为每篇文献记录:
- 编号(C1, C2... 表示中文;E1, E2... 表示英文)
- 作者
- 标题
- 期刊/来源
- 年份
- 关键词
- 摘要核心发现(1-2句话)
2.2 主题分类
按研究内容分类,常见的药学综述分类维度:
- 机制研究(体外/动物/分子层面)
- 临床观察(骨密度、骨代谢标志物、骨微结构等)
- 流行病学证据(队列研究、病例对照)
- 系统评价/Meta分析
- 药物警戒数据
- 特殊人群证据
- 生物信息学分析
2.3 引用顺序规划
温哥华格式要求:参考文献按正文中首次引用的顺序编号。
在撰写前,需要规划各篇文献在正文中的首次出现位置,从而确定最终编号。
建议:先列出文献 → 规划正文大纲 → 模拟引用顺序 → 确定编号 → 撰写正文。
Step 3:综述结构规划
3.1 标准结构模板
根据药学综述的常见结构,推荐以下8章节框架(可按课题调整):
标题
摘要 + 关键词
1 引言(研究背景、问题提出、文献来源说明)
2 药理学特征概述(作用机制、代表药物、临床应用)
3 影响机制探讨(分子机制、信号通路、基因表达)
3.1 ...
3.2 ...
3.3 ...
4 临床证据(观察性研究、生化指标变化)
4.1 ...
4.2 ...
5 流行病学证据(Meta分析、队列研究、药物警戒)
5.1 ...
5.2 ...
6 特殊风险因素(老年生理特点、合并用药、交互作用)
7 临床建议(适应症管理、监测方案、个体化策略)
7.1 ...
7.2 ...
8 总结与展望(研究局限、未来方向)
参考文献
3.2 结构调整原则
- 文献少于15篇:适当合并章节,如将3-4合并为"机制与临床证据"
- 文献多于30篇:可增加章节,如独立设置"特殊人群"章节
- 偏机制研究:增加分子通路篇幅
- 偏流行病学:增加统计方法讨论
3.3 字数分配参考
| 章节 | 占比 | 6000字基线 |
|---|---|---|
| 摘要+关键词 | 5% | ~300字 |
| 1 引言 | 12% | ~750字 |
| 2 药理学特征 | 12% | ~750字 |
| 3 机制探讨 | 20% | ~1200字 |
| 4 临床证据 | 18% | ~1100字 |
| 5 流行病学 | 18% | ~1100字 |
| 6 特殊风险 | 8% | ~500字 |
| 7 临床建议 | 8% | ~500字 |
| 8 总结展望 | 5% | ~300字 |
Step 4:正文撰写规范
4.1 引用标注格式
- 正文中引用处使用 [阿拉伯数字] 标注,数字按文献首次出现顺序编号
- 示例:
PPIs的抑酸作用[1]与钙吸收障碍[2][3]密切相关 - 多篇文献引用时连续标注:
[2][3]或[2-5]
4.2 撰写要点
- 层层递进:从机制 → 临床表现 → 流行病学验证 → 临床建议,逻辑链清晰
- 数据具体:引用关键统计学数据(P值、r值、95%CI等),增强说服力
- 客观中立:同时呈现支持性和质疑性证据
- 中外文献穿插:避免大段集中引用单一来源
4.3 中文综述语言规范
- 学术论文用语,避免口语化
- 药物名称首次出现时标注英文:
质子泵抑制剂(proton pump inhibitors, PPIs) - 缩写首次出现时全称+缩写:
骨小梁分数(trabecular bone score, TBS) - 数据格式遵循中文期刊规范
Step 5:Word文档生成
5.1 环境准备
# 确保 python-docx 已安装
C:/Users/xiany/.workbuddy/binaries/python/versions/3.13.12/python.exe -m pip install python-docx
5.2 文档格式规范
| 元素 | 字体 | 字号 | 对齐 | 其他 |
|---|---|---|---|---|
| 标题 | 黑体 | 16pt | 居中 | 加粗 |
| 一级标题 | 黑体 | 14pt | 左对齐 | 加粗 |
| 二级标题 | 黑体 | 12pt | 左对齐 | 加粗 |
| 正文 | 宋体 | 12pt | 两端对齐 | 行距1.5倍,首行缩进2字符 |
| 摘要 | 宋体 | 12pt | 两端对齐 | 首行缩进2字符 |
| 关键词 | 宋体 | 12pt | - | "关键词:"加粗 |
| 参考文献正文 | 宋体 | 10.5pt | 两端对齐 | 悬挂缩进 |
| 引用标注[1] | 宋体 | 9pt | - | 上标 |
| 副标题/说明 | 楷体 | 12pt | 居中 | - |
页面设置:
- 上下边距:2.54cm
- 左右边距:3.17cm
5.3 关键技术点
- 设置中文字体:必须同时设置
font.name和rFonts.eastAsia,否则中文不生效
run.font.name = '宋体'
run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
- 引用上标:正文中 [1] 格式的引用需设为上标
run.font.superscript = True
run.font.size = Pt(9) # 比正文小
- 参考文献悬挂缩进:
p.paragraph_format.left_indent = Pt(24)
p.paragraph_format.first_line_indent = Pt(-24)
- 正文中引用标记的正则处理:
pattern = r'(\[\d+\])'
parts = re.split(pattern, text)
for part in parts:
if re.match(r'^\[\d+\]$', part):
# 设为上标
else:
# 正常正文
5.4 参考文献格式(温哥华格式)
中文文献:
[编号] 作者. 题名[J]. 期刊名, 年, 卷(期): 起页-止页. DOI: xxx.
[编号] 作者. 题名[D]. 学校名, 年. DOI: xxx.
英文文献:
[编号] Author AB, Author CD, Author EF, et al. Title[J]. Journal Name, Year, Volume(Issue): Pages. DOI: xxx.
注意:
- 作者列表:前3位作者全列,超过3位用"等"(中文)或"et al."(英文)
- 文献类型标识:[J]期刊 [D]学位论文 [M]专著 [C]论文集
- DOI 可选,有则附上
5.5 完整生成脚本模板
参考 references/generate_review_template.py 获取完整的 Word 文档生成模板脚本。
使用方法:
1. 复制模板脚本
2. 替换 # ============ 文档内容 ============ 部分的标题、摘要、正文和参考文献列表
3. 运行脚本生成 .docx 文件
4. 用 present_files 展示结果
5.6 质量检查清单
生成文档后,检查以下项目:
- [ ] 中文字数 ≥ 用户要求(通常6000字+)
- [ ] 正文中所有 [数字] 引用都有对应参考文献
- [ ] 参考文献编号与正文引用顺序一致(温哥华格式)
- [ ] 参考文献数量与用户提供的文献总数一致
- [ ] 中英文献比例符合用户要求
- [ ] 文档标题、摘要、关键词、正文、参考文献结构完整
- [ ] 字体格式正确(黑体标题、宋体正文、引用上标)
- [ ] 无乱码、无格式错位
Step 6:交付与记忆
- 用
present_files工具展示生成的 .docx 文件 - 在回复中说明:
- 文档名称和路径
- 文献总数和中英比例
- 字数统计
- 综述结构概要(章节列表) - 更新项目记忆文件(
.workbuddy/memory/YYYY-MM-DD.md)
常见问题与陷阱
Q1: 知网 .doc 文件读取报错"document is not open"
原因:知网导出的 .doc 是 UTF-8 纯文本,不是 Word 二进制格式。editor_sdk 无法识别。
解决:用 Python 直接读取:
with open(path, 'r', encoding='utf-8') as f:
content = f.read()
Q2: python-docx 中文字体不生效
原因:仅设置 font.name 不够,还需设置东亚字体。
解决:
run.font.name = '宋体'
run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
Q3: 引用编号与参考文献顺序不一致
原因:温哥华格式要求按首次引用顺序编号,容易在修改正文后打乱。
解决:撰写前先规划引用顺序,撰写后用脚本验证一致性。
Q4: 文献数量不足40篇但用户要求40篇
原则:用户要求"全部文献必须来源于提供的文件"时,使用文件中全部文献,并在回复中说明实际数量。不编造文献。
Q5: 同一作者有多篇文献
处理方式:在参考文献列表中正常列出,用不同编号区分。正文中引用时标注不同编号。