← 返回信息流
Agent SkillLINUX DO · AI·6 小时前

开源Skill:LaTeX论文一键转Word,保留Zotero动态引用

原标题:【开源 Skill】一键直出论文成稿?再也不用手动插文献了?LaTeX 一键转精美 Word,还能保留 Zotero 动态引用:公式、图表、样式、参考文献全流程

速览

该项目提供了一套Agent Skill,能将LaTeX论文转换为排版完整的Word文档,并保留Zotero动态引文字段,支持在Word中刷新引文和切换期刊格式。内置通用Word模板和首次配置引导,降低文档损坏概率。适合需要频繁在Word中修改论文的科研用户。

AI 深度解读

背景

在学术写作中,LaTeX 是许多研究者的首选排版工具,尤其在数学、物理和计算机科学领域,其公式排版和引用管理(通过 BibTeX)非常强大。然而,实际投稿、论文提交或跨团队协作时,Word 依然是绝大多数期刊、学校、会议和办公场景的强制标准。从 LaTeX 转换到 Word 看似简单,但实际过程中会带来大量格式问题:正文、标题、图题、表题的样式错乱;图片段落继承正文首行缩进;表格和参考文献样式不统一;Zotero 引用被转换为普通文字,无法后续刷新;甚至生成的 DOCX 文件虽然能被程序读取,但在 Word 中打开时提示修复。这些痛点促使作者将自身经验整合成一套通用 Agent Skill,旨在实现从 LaTeX 到 Word 的高质量、可编辑转换,并保留 Zotero 动态引用的能力。

核心内容

该项目是一个开源的 Agent Skill,名为 latex-to-word-workflow,托管于 GitHub(仓库链接:https://github.com/hajimi-kun/latex-to-word-workflow)。它支持兼容 Agent Skills 的 AI 工具(如 Codex、CC、OpenCode 等)使用,通过读取标准的 SKILL.md 文件来执行脚本和操作文件。核心流程为:从 LaTeX 源码直接生成排版较完整的 DOCX 文件,并通过 Better BibTeX 和官方的 zotero.lua 脚本,将 LaTeX 中的 \cite{citationKey} 转换为 Word 中真正的 Zotero 动态引文字段(即 ADDIN ZOTERO_ITEM CSL_CITATION 这样的原生字段),而不是静态文本。

主要功能列表:

  • 将 LaTeX 论文转换为可编辑的 DOCX;
  • 保留公式、图片和表格;
  • 通过 reference.docx 统一页面、字体、标题和正文格式;
  • 为正文、图片、题注、表格和参考文献分配不同的 Word 样式(如 Body TextFigureCaptionTable BodyBibliographyHeading 1/2/3);
  • 支持静态 CSL 引用(适用于没有 Zotero 的环境);
  • 支持原生 Zotero 动态引文字段(允许在 Word 中使用 Zotero 插件进行 Refresh、切换 CSL 引用格式、使用 Add/Edit Bibliography 自动生成参考文献);
  • 自动检查 LaTeX、BibTeX 和 Zotero citation key 是否一致;
  • 检查 DOCX 内部 relationship,降低 Word 报文件损坏概率;
  • 使用 Microsoft Word 实际验证文件能否无修复打开;
  • 自带通用 Word 模板、最小示例和首次配置引导。

两种引用模式:

  1. Zotero 动态模式(强烈推荐):需要安装 Zotero、Zotero Word 插件、Better BibTeX 以及官方的 zotero.lua。转换后的 Word 仍可使用 Zotero 插件刷新引文、切换期刊格式、添加/删除/重新排序引用,并自动生成参考文献。适合需要继续在 Word 中修改的论文。
  2. 静态 CSL 模式:适合预览、固定版本或没有 Zotero 的环境。引文和参考文献被转换为普通文字,结果确定但后续无法使用 Zotero 刷新。

对小白友好的首次运行引导: Skill 内置了首次运行判断。若当前电脑尚未配置完整,Agent 会先完成:

  • 检测 Pandoc、Python、LaTeX 和 Microsoft Word;
  • 检测 Zotero、Word 插件和 Better BibTeX;
  • 下载并检查官方 zotero.lua
  • 复制并让用户确认 Word 模板(reference.docx);
  • 从 Zotero 中选择一篇真实文献,使用真实 Better BibTeX key 生成单引文测试文件;
  • 验证 Word 能无修复打开;
  • 验证 Zotero 可以刷新引文和生成参考文献;
  • 最小测试通过后,再转换完整论文。

已配置好的日常流程为:核对 citation key → 编译 LaTeX → 生成 DOCX → 映射 Word 样式 → 验证文件 → 在 Word 中刷新 Zotero 引文 → 生成参考文献目录。

安装方式(以 Codex 为例): 克隆仓库后,将 latex-to-word-workflow 子目录复制到 skills 目录(例如 %USERPROFILE%\.codex\skills\)。重启或重新加载 Agent 后,可直接说“使用 latex-to-word-workflow,把这篇 LaTeX 论文转换成带 Zotero 动态引用的 Word”。

项目目录结构:

latex-to-word-workflow/
├── SKILL.md
├── SKILL.zh-CN.md
├── agents/
│   └── openai.yaml
├── assets/
│   └── reference.docx
├── examples/
│   └── minimal/
├── references/
│   └── first-run-setup.md
└── scripts/
    ├── check_citation_keys.py
    ├── create_reference_doc.py
    ├── format_generated_docx.py
    ├── test_better_bibtex.py
    ├── validate_docx.py
    └── validate_with_word.ps1

Word 格式控制原理: 内置的 reference.docx 是一个带可见示例的通用 Word 模板。用户可以直接使用,也可以根据学校或期刊要求调整样式。Agent 首次使用时会让用户复制该模板,然后在 Word 中手动调整样式(例如正文使用 Body Text,图片段落使用 Figure,图题表题使用 Caption 等)。图片使用独立的 Figure 样式,不会继承正文首行缩进。之后每次重新生成 Word 时,只要继续使用修改好的 reference.docx,页面、字体、标题、正文、题注和表格就会按照模板生成。Zotero 的 CSL 文件负责引文和参考文献的内容格式,Word 模板负责页面和段落外观,两者各管一部分。

关键要点

  • 转换后的 DOCX 中 Zotero 引用是动态的原生字段(ADDIN ZOTERO_ITEM CSL_CITATION),而非静态文字,可以在 Word 中继续使用 Zotero 插件进行刷新、切换格式和自动生成参考文献。
  • 项目内置首次运行检测,自动完成环境依赖检查和最小测试,降低使用门槛。
  • Word 格式通过自定义 reference.docx 模板控制,为不同内容分配独立 Word 样式(如 Body TextFigureCaptionTable BodyBibliographyHeading 1/2/3),避免格式错乱。
  • 支持两种引用模式:Zotero 动态模式(需 Zotero、Better BibTeX、Word 插件)和静态 CSL 模式(适合无 Zotero 环境)。
  • 自动检查 citation key 一致性、DOCX 内部 relationship,并用 Microsoft Word 验证文件可无修复打开。
  • 项目完全开源,已遵循 LINUX DO 社区开源推广要求,无未开源部分。
  • 适用于多种兼容 Agent Skills 的工具,如 Codex、CC、OpenCode 等,只需将目录放入对应 skill 文件夹并重启 Agent。
  • 使用示例命令:使用 latex-to-word-workflow,把这篇 LaTeX 论文转换成带 Zotero 动态引用的 Word

意义与影响

该 Skill 解决了学术写作中的一个长期痛点:如何在保持 LaTeX 高效排版和引用管理优势的同时,无缝过渡到 Word 环境,并保留后续编辑的灵活性。它不同于传统 Pandoc 转换(将引用变为静态文本),通过集成 Zotero 的动态引用机制,使得转换后的 Word 文档能够像原生 Word 一样使用 Zotero 插件进行格式切换、引用增删和参考文献重排。这对于需要多次投稿不同期刊、与合著者协同编辑 Word 文档的研究者尤为重要。

此外,项目对 AI Agent 生态的贡献也值得注意:它将一个复杂的多步骤工作流封装为标准的 Agent Skill,用户仅需一条自然语言指令即可触发完整流程,降低了技术门槛。首次运行的自动检测和最小测试设计,使得即使是非

查看原文 →linux.do