SuperAPI AI 工具集

nature-paper2word

写作与研究

查看项目

更新于 10-28 02:35

技能介绍

nature-paper2word 是一个将学术 Markdown 稿件编译为符合期刊或学校格式要求的 Word(.docx)的技能。该文件本身是路由说明,实际编译由确定性的 md-to-word 引擎执行:同一稿件与同一格式要求总是产生字节一致的 .docx,官方明确要求不要用手写 python-docx 脚本替代已安装的流水线。

【使用前提】 首次导出前需确认引擎可用:md-to-word --version 必须输出版本号。该技能只附带文档;若命令缺失,先用 pip install md-to-word-docx 安装,再重新检查。完整词汇表位于包内手册中,md-to-word --contract 会打印手册绝对路径(中文或英文,跟随稿件语言)。

【场景判断】 先确定场景:若用户要求“按 Nature / 我的大学格式排版”,需获取目标 .docx 模板或书面规范,再构建格式要求文件;若用户提供实验室规范文件,用 -r 传入;若用户只说“转成 Word 文件”,则先将稿件规范化为约定格式,再用内置预设导出。无 -r 时只识别与稿件同目录且名为 format.txt 的文件,其他 .txt 不会被猜测使用。无 format.txt 时预设跟随稿件语言:中文用 zh-academic,其他用 en-nature,运行时会报告所用预设。

【稿件规范化要求】 源文件可为粘贴文本、.txt、.md、旧 .docx 或 PDF,需先规范化为 Markdown,不得原地修改用户原文件。

  • 标题:用 #、##、###,连续且不跳级;自带编号(如 1.、2.1)的标题需用与其层级数相同的 # 数量。
  • 段落样式:以 %% 开头的行设置该段样式,如 %% Abstract …、%% Table Caption Table 1 …、%% Image Caption Figure 1 …。一行即一段,空行结束,无闭合围栏;样式名来自封闭列表(手册 §3.4),中英文均可,标题层级只由 # 决定。
  • 标题、作者、摘要、关键词必须作为正文样式行书写,不能用 YAML;预检会阻止这些键并给出应写的确切行。
  • 段落:一行一段,连续行不会合并;段内换行(地址、诗句、长标题)在行末加反斜杠或两个空格。疑似折行会以带行号的分组警告报告。
  • YAML 仅存放位置无关配置:bibliography:、csl:、crossref:、link-citations:。
  • 公式:$$...$$ {#eq-name} 独占一行,用 @eq-name 引用;中文稿件使用「式/图/表」前缀与(1)编号,英文使用 Equation/Figure/Table 与 (1);按章编号需 crossref: chapters: true;\tag{} 被阻止。
  • 引用:[@key] 为括号引用,@key 为叙述引用,来自 bibliography: 与 csl:;一旦引用必须有 .bib,手写参考文献列表不受支持,缺 bibliography: 时 [@key] 会原样打印。
  • 图与表:{width=13cm},题注放在独立的 %% Image Caption / %% 图片题注 段落;表题在上、表注在下;不要给图片加 {#fig-...} 标签;列宽按分隔行短横线长度。
  • 块标记(各占一行,前后留空行):{{< pagebreak >}}、{{< toc >}}、{{< section page_number=lowerRoman start=1 >}}(中文参数 页码= 起始= 也可用)。分节标记会关闭其上方分节,旁边不要再加分页符。
  • 不支持的 Markdown 会被阻止并给出替换建议,不会原样打印:HTML 标签、--- 分隔线、==== 标题、定义列表、- [ ] 复选框、无外竖线的表格、嵌套块引用、全角 %%、四空格代码块、列表项中的第二段、==高亮==、[text]{.class}(.underline 除外)、(...) 行内数学、百分比图片宽度({width=60%} 需改为绝对长度)。

【格式要求的选择与构建】 可从零开始:md-to-word init 写出完整预设副本和一页可直接导出的示例稿件;可直接使用内置预设 zh-academic 或 en-nature;可复制预设后只改用户提到的行,字段顺序固定为 font、size、bold、italic、alignment、line spacing、space before、space after、indent,每条样式行必须完整,缺字段即报错;也可反向工程目标 .docx:md-to-word-template target.docx -o format.txt,再查看草案末尾的“待确认”列表。每个属性只有一种可接受拼写(中英文各一),其他一律为带行号的硬错误。引用样式来自 csl:,可选用内置文件名或用户 CSL 路径;无 csl: 时中文稿件用 GB/T 7714 数字制,其他用 APA 7th。用户提供的 CSL 会在导出时规范化。

【导出与验证】 在稿件目录运行:md-to-word manuscript.md -o manuscript.docx;带格式文件时:md-to-word manuscript.md -r format.txt -o manuscript.docx;md-to-word --contract 可查看契约与手册、预设路径。流水线依次执行:预检校验 → 样式模板生成 → 稿件模型 → OOXML 写入 → 编号完整性检查 → 按格式要求逐行审计。闸门分两级:阻断性问题(内容丢失、语法原样打印、格式未映射、标题写进 YAML、题注放进图片括号)必须修复对应行,不要用 --no-check 关闭全部阻断闸门;警告类问题(图片超出版心被截断、题注远离图、跳级标题、分节标记后加分页、疑似折行)同类合并为一行(最多八个行号后给计数)。加 --json 时 stdout 输出单个 JSON 对象(ok、returncode、input、output、pdf、lang、messages、errors),进度与提醒走 stderr。退出码:0 全部通过;1 稿件、闸门或依赖问题;2 用法错误;3 .docx 已写出但可选 --pdf 校样被跳过(非 macOS)。格式不生效时可加 --verbose。

交付前确认 .docx 存在且退出码为 0,报告所用预设或格式文件、引用样式及所有警告,并明确说明版式仍需在 Word 中人工检查:引擎校验文本与结构,行高、列宽及公式与题注落点只有真实渲染器可见。若文档含目录、{style-title} 标题或分节页码,用 --pdf 运行一次(macOS 且装有 Word)以展开字段,并抽查首页、最宽表格、公式密集页与参考文献。

【边界与相关技能】 不支持自定义封面、合并单元格、多栏文字、行内文字颜色或文字环绕图片,需在 Word 中完成;仅支持公式交叉引用({#eq-x} + @eq-x),图表编号需手写入题注;带编号公式中的求和与积分上下限保持在符号右侧(Word 仅在独立公式中堆叠上下限);目录页码与章节标题是 Word 域,Word 会询问一次是否更新。相关技能:nature-writing(撰写稿件)、nature-polishing(语言润色)、nature-citation(检索并导出参考文献条目)、nature-ref-verifier(投稿前核对文献元数据)、nature-paper2ppt(把同一稿件转为演示文稿);上游引擎与变更日志见 md-to-word。