科普文章格式
概述
本技能将一个药学科普选题,按统一的排版格式与写作风格规范,产出一篇结构完整、排版统一、含矢量风格配图与参考文献的 Word 文档。排版参数由三甲临床药师已发表科普文章逆向提炼,可复用于任意药学/医学健康科普选题。
何时触发
满足以下任一条件即加载本技能:
- 用户要求"写科普文章""药学科普""用药科普",且需要 Word 成稿。
- 用户提供科普主题(如"痛风止痛不降酸""高血压联合用药"),要求按规范格式产出。
- 用户要求生成"科普配图"或"科普文章 + 配图"。
- 用户上传参考科普文章,要求"按这个格式写"。
工作流程
按以下四步顺序执行。每步完成后再进入下一步。
第 1 步:撰写文章正文
- 读取
references/layout_spec.md(排版格式规范)与references/writing_style.md(写作风格要求)。 - 按用户给定的科普主题,按"总—分—总"结构撰写正文:
- 标题(主标题 + 副标题,可分两行)
- 导语段(点明背景痛点与文章价值)
- 3–5 个小标题 + 对应正文段落
- 结尾段(总结 + 行动建议 + 呼应开头) - 正文控制在 1200–1500 字;关键词、药物名、核心结论、风险提示加粗。
- 用药建议须基于指南/共识/说明书,标注 3–5 条参考文献;区分"已证实"与"疑似/待排除"。
- 必须显式提示"请在医师/药师指导下使用""切勿擅自用药"。
第 2 步:生成配图
- 根据文章内容设计 1–2 张配图(信息图/示意图,非纯装饰)。
- 使用
scripts/gen_figs.py作为模板:复制到工作目录,按主题修改配图内容(节点文字、图标、配色),运行生成 PNG。 - 配图技术要点(已验证可用的方案):
- 用 Pillow 直接绘制高分辨率 PNG(4× 超采样 + LANCZOS 缩放),不要用 cairosvg/svglib(Windows 缺 cairo 系统库,会失败)。
- 中文字体:标题用C:\Windows\Fonts\msyhbd.ttc(微软雅黑粗),正文用C:\Windows\Fonts\msyh.ttc,fallbacksimhei.ttf。
- 配色遵循浅色主题:背景白/浅色,主文字#1F2937,强调红#E5484D,治疗蓝#2563EB,胃肠橙#F59E0B。
- 每张配图底部必须保留水印AI生成 workbuddy(灰色斜体,预留底部空间避免裁切)。 - 同时保存简化版 SVG 矢量原图(作为"矢量图片原图"交付),SVG 内
font-family用'Microsoft YaHei','SimHei',sans-serif。
第 3 步:组装 Word 文档
- 使用
scripts/gen_popsci_docx.py作为模板:复制到工作目录,将第 1 步撰写的文章内容填入脚本顶部的数据区,将第 2 步生成的配图路径填入figures列表,指定output路径,运行生成 Word。 - 脚本已内置排版规范的全部 helper 函数(
add_title_line/add_body_rich/add_subheading/add_figure/add_reference等),无需重写排版逻辑。 - 关键排版参数(脚本已实现,勿改):
- 标题:14pt 居中加粗 1.5 倍行距
- 导语:12pt 加粗、首行缩进 2 字符、1.25 倍行距
- 小标题:序号引导式("第一、……")、加粗 12pt
- 正文:两端对齐、首行缩进 2 字符、12pt、1.25 倍行距、关键词加粗
- 参考文献:[1][2] 编号、10.5pt Times New Roman、悬挂缩进、1.25 倍行距 - 运行前确认 python-docx 已安装(venv:
C:\Users\zyc\.workbuddy\binaries\python\envs\default\Scripts\python.exe,已装 1.2.0)。 - 运行命令:
<venv-python> gen_popsci_docx.py。
第 4 步:交付与记录
- 用
present_files呈现 Word 文档(主交付)+ SVG 矢量原图(如有)。 - 向用户说明:结构合规校验结果(字数、小标题数、参考文献数)、配图设计要点、参考文献来源(若用户未提供文献,说明基于权威指南撰写,可替换)。
- 在工作日志
C:\Users\zyc\WorkBuddy\<workspace>\.workbuddy\memory\YYYY-MM-DD.md追加本次产出记录。
排版格式速查
完整规范见 references/layout_spec.md,速查表:
| 部分 | 字号 | 字体 | 行距 | 对齐 | 缩进 |
|---|---|---|---|---|---|
| 标题 | 14pt | 宋体 | 1.5 倍 | 居中 | 无 |
| 导语 | 12pt | 宋体 | 1.25 倍 | 左对齐 | 首行 2 字 |
| 小标题 | 12pt | 宋体 | 1.25 倍 | 左对齐 | 无 |
| 正文 | 12pt | 宋体/TNR | 1.25 倍 | 两端对齐 | 首行 2 字 |
| 参考文献 | 10.5pt | TNR | 1.25 倍 | 两端对齐 | 悬挂缩进 |
说明:中文用宋体,西文/数字用 Times New Roman;标题与导语加粗。
写作风格速查
完整要求见 references/writing_style.md,要点:
- 受众:普通大众,无医学背景;语言口语化、亲切,用"您"拉近距离。
- 结构:总—分—总,小标题引导;每段 3–5 句。
- 重点:关键药物、用法、风险加粗;每个结论落到"怎么办"。
- 严谨:基于指南/共识/说明书,标注参考文献;区分"已证实"与"疑似"。
- 边界:必须提示"请在医师/药师指导下使用""切勿擅自用药"。
- 篇幅:正文 1200–1500 字,小标题 3–5 个,参考文献 3–5 条。
资源说明
scripts/
gen_figs.py— Pillow 配图生成模板。含中文字体处理、4× 超采样、水印函数、两个示例配图(恶性循环图、双轨策略图)。使用时复制到工作目录,按主题修改节点文字与图标内容后运行。gen_popsci_docx.py— Word 文档组装脚本。含全部排版 helper 函数与主入口。使用时复制到工作目录,将文章内容填入脚本顶部数据区,指定配图路径与输出路径后运行。
references/
layout_spec.md— 完整排版格式规范(六大模块的对齐、字号、字体、行距、缩进、字形参数,及实现备注)。writing_style.md— 完整写作风格要求(受众、语言、结构、严谨、边界、篇幅、药学专属边界)。
assets/
本技能不含 assets。配图由脚本动态生成,不使用固定模板图片。
药学专属边界(必须遵守)
- 涉患者数据(病历、处方、ADR 报告原始信息)必须先脱敏,再用于任何处理或外发。
- 所有 AI 产出(用药建议、文书草稿、点评意见、科普内容)均为草稿,须经临床药师专业复核后方可用于临床决策或正式上报。
- 用药推荐与方案调整建议须标注证据等级/来源,不越权替代医师处方权;超说明书用药、特殊人群等高风险情形须显式提示复核。
- ADR/用药风险结论不夸大、不隐瞒,区分"已证实"与"疑似/待排除"。
常见踩坑
- 导语未加粗:参考文章导语整段加粗,组装时易遗漏。
gen_popsci_docx.py的导语 segments 必须全部bold=True。 - 配图底部水印被裁:画布底部预留 ≥40px 给水印;水印 y 坐标勿超出画布高度。
- cairosvg/svglib 转 PNG 失败:Windows 缺 cairo 系统库,直接用 Pillow 绘制,不要尝试 SVG→PNG 转换链。
- 中文字体方块:优先
msyh.ttc/msyhbd.ttc,确认C:\Windows\Fonts\下存在;PillowImageFont.truetype对.ttc用默认 index=0。