关于 nature-paper2word
nature-paper2word 是用于将 Markdown 稿件整理并导出为格式化 Word 文档的技能,面向论文作者。它涵盖稿件校验、格式选择、转换及与指定规范的核对。
主要功能
- 01Markdown 稿件契约与预检
- 02内置 zh-academic 和 en-nature 预设
- 03从 Word 模板生成格式要求
- 04引用、公式、图表格式处理
- 05带审计的 DOCX 导出及可选 PDF 校验
适用场景
- 01按期刊或学校规范排版稿件
- 02将结构化 Markdown 稿件转为 Word
- 03导出前检查稿件结构
- 04应用引用和交叉引用设置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yuan1z0825/ nature-skills --skill nature-paper2word安装后在 Claude Code 中输入/nature-paper2word确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.yamlREADME_EN.mdREADME.mdUPSTREAM-LICENSE.txtagents/openai.yaml详细介绍
Markdown → 合规 Word
此文件是路由器。引擎具有确定性:相同的稿件和相同的格式要求始终会生成字节完全一致的 .docx。不要用手写的
python-docx 脚本替代;请运行已安装的流水线。
首次导出前,请先确认引擎可用:md-to-word --version
必须能输出版本号。此技能仅提供文档;如果找不到该命令,请使用
pip install md-to-word-docx 安装,然后再次运行检查。
完整词汇表位于软件包内的手册中,不在此处。md-to-word --contract
会输出其绝对路径(根据稿件语言提供中文或英文版本)。以下内容均为工作顺序;所有写法都应查阅手册。
1. 先确定场景
| 场景 | 用户的说法 | 操作 |
|---|---|---|
| 期刊或学校规范 | “按 Nature/我的大学的要求排版” | 获取目标 .docx 模板或书面规范,然后编写要求文件。 |
| 已有要求 | “使用我们实验室的规范文件” | 使用 -r 指定该文件。 |
| 基础导出(未明确指定规范) | “把这个转换成 Word 文件” | 按照规范整理稿件,然后使用内置预设导出。该预设是完整有效的格式,而非临时默认值。 |
用一行说明所选预设或要求文件的路径,然后继续。未使用 -r 时,只会读取稿件旁边名称恰好为 format.txt 的文件;不会猜测其他 .txt 文件(如果存在此文件,运行时会在提醒中注明)。如果没有 format.txt,预设将根据稿件的语言选择:中文稿件使用 zh-academic,其他稿件使用 en-nature。运行时会报告所用预设。
没有任何路径可以接收任意 Markdown 并直接返回完成的文档:预设只提供格式,不会补充缺失的结构。如果稿件不符合规范,预检会指出行号并停止,而不会生成一份看似合格、实际却从未映射其格式的文档。
2. 让稿件符合输入规范
来源可以是粘贴的文本、.txt、.md、旧版 .docx 或 PDF。先将其规范化为 Markdown;
切勿直接修改用户的原始文件。
- 标题:使用
#、##、###,连续且不跳级;带有自身编号(1.、2.1)的标题,需要根据编号的层级数使用相应数量的#。 - 段落样式:以
%%开头的行会设置该段落的样式 —%% Abstract …、%% Table Caption **Table 1** …、%% Image Caption Figure 1 …。 一行就是一个段落,以空行结束,不需要闭合标记。样式名称须来自封闭列表(手册 §3.4),中英文均可;标题级别只能通过#设置。 - 标题、作者、摘要、关键词应作为正文中的样式行,而不是 YAML — 它们在页面上的位置由作者决定,而 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 >}}(中文参数页码=起始=也可使用)。section 标记会关闭其上方的章节;切勿在其旁添加分页符。 - 不支持的 Markdown 会被拦截并提供替代写法,不会按原样打印:HTML 标签、
---分隔线、====标题、定义列表、- [ ]复选框、外侧没有竖线的表格、嵌套引用块、 全角%%、四空格缩进的代码块、列表项中的第二个段落、==highlight==、[text]{.class}(.underline除外)、\(...\)行内公式,以及百分比图片宽度({width=60%}— 请改用绝对长度)。
3. 选择或构建格式要求
- 从零开始 —
md-to-word init会写入完整的预设副本,以及一份可直接导出的单页 手稿。 - 内置预设 —
zh-academic或en-nature。用户未提供详细规范时,直接使用。 - 复制并编辑预设 — 仅更改用户提到的行。字段顺序固定为:字体、字号、粗体、斜体、 对齐方式、行距、段前间距、段后间距、缩进。每条样式行都必须完整;缺少字段会报错。
- 逆向分析目标
.docx—md-to-word-template target.docx -o format.txt,然后 查看草稿末尾的“待确认”列表。
每个属性都只有一种可接受的写法(共两种:规范中文和英文形式);其他写法都会报硬错误并指出行号。完整表格:手册 §3.1。样式名称:§3.4。预设是参考示例 — md-to-word --contract 会打印其路径。
在全文中,format.txt 指格式要求文件 — 可使用任何路径,-r 接收该文件。
引文样式由 csl: 指定,可填写捆绑文件名(手册 §7),也可填写用户自己的 CSL 文件路径。未指定 csl: 时,中文手稿使用 GB/T 7714 数字制,其他手稿使用 APA 第 7 版。导出时会规范化用户提供的 CSL,因此同一份要求文件始终会生成相同版式。
4. 导出
在手稿所在目录运行已安装的命令:
md-to-word manuscript.md -o manuscript.docx
md-to-word manuscript.md -r format.txt -o manuscript.docx
md-to-word --contract # contract + paths to the manual and presets
整个流程依次执行:预检验证 → 样式模板生成 → 手稿模型构建 → OOXML 写入 → 编号完整性检查 → 根据要求文件逐行审核。
5. 如何理解各道检查关卡
分为两个级别,依据是“错误之后是否会显现”:
- 阻断错误 — 后续会静默出错:内容丢失、语法被原样打印、格式未映射、标题写在 YAML 中、图注写在图片方括号内。请修复报告指出的行;不要使用
--no-check,它也会关闭阻断检查关卡。 - 警告 — 错误可见但不符合规范:图片宽于文本区域(会被限制宽度)、图注离对应插图过远、跳过标题级别、章节标记后出现分页符、疑似自动换行。同类警告会合并为一行(最多列出八个行号,之后显示数量)。
如果需要以程序方式读取结果,请添加 --json:stdout 随后会输出一个 JSON 对象 — ok、returncode、input、output、pdf、lang、messages、errors — 进度信息和提醒则输出到 stderr。键名固定;键中的句子会使用手稿的语言,提醒会列在 messages 中。
退出代码:0 表示通过所有检查关卡;1 表示手稿、检查关卡或依赖项存在问题;2 表示用法错误(标志错误或缺少参数);3 表示已写入 .docx,但已跳过可选的 --pdf 校对(非 macOS)。消息会使用手稿的语言。如果格式似乎未生效,请添加 --verbose。
6. 交付前验证
- 确认
.docx文件存在,且命令以0退出。 - 报告所应用的预设或要求文件、引文样式,以及运行时发出的任何警告。
- 明确说明版式仍需在 Word 中手动检查。引擎会验证文本和结构;行高、列宽以及公式和图注的最终位置,只有在实际渲染器中才能看到。
- 如果文档包含目录、
{style-title}标题或按章节编号的页码,请使用--pdf运行一次(需在装有 Word 的 macOS 上)— 这是展开域的唯一方式 — 并抽查首页、最宽的表格、公式密集的页面以及参考文献。
7. 边界
- 不支持自定义封面、合并单元格、多栏文本、行内文字颜色或文字环绕的图形。先导出正文,再在 Word 中完成这些内容。
- 仅支持公式交叉引用(
{#eq-x}+@eq-x);图和表的编号需手动输入到题注中。 - 编号公式中的求和与积分上下限会显示在符号右侧(Word 仅在独立公式中将上下限置于符号上方和下方)。内容和符号均正确,只是排版不同。
- 目录页码和章节标题是 Word 域;Word 会询问是否更新一次。 完整说明:手册 §6(上下限)和 §8(症状 → 修复)。
8. 相关技能
此技能用于编译手稿;以下技能涵盖其前后相关步骤。请交由这些技能处理,而不要重新实现:
| 技能 | 涵盖内容 |
|---|---|
nature-writing | 撰写手稿及其章节层面的论证(此技能的输入) |
nature-polishing | 语言润色和学术表达(此技能的输入) |
nature-citation | 搜索和导出参考文献条目(RIS / ENW / Zotero RDF);从参考文献管理器导出 BibTeX,供此技能读取 .bib 文件 |
nature-ref-verifier | 投稿前交叉核对参考文献元数据 |
nature-paper2ppt | 将同一份手稿转换为演示文稿 |
上游引擎、通用 pip 软件包和更新日志: md-to-word。