Wikilink to Zotero Word
unlistedby chmzs
Export Obsidian wikilinks to Word with Zotero citations via Pandoc
Wikilink to Zotero Word
English | 中文
将 Obsidian [[wikilink]] 文献引用导出为 Word 中的 Zotero 活引文,或 Markdown 作者年份制脚注。
[!tip] 推荐搭配 本插件与 Zotero One 配合使用效果最佳——Zotero One 自动同步文献笔记到 Obsidian,本插件负责将写作成果导出为 Word。
为什么需要这个插件
Zotero 是优秀的文献管理软件,但其笔记管理与写作输出仍有不足——新时代我们急需将知识输入高效转化为学术发表。配合 Obsidian 原生的双链快捷引用和即时预览,论文写作体验十分流畅。
相比之下,Word 中直接通过 Zotero 插入文献显得迟缓,跳转回 Zotero 查阅原文也颇为繁琐。但 Word 仍是学术交流的硬通货——复杂排版、 CSL 样式切换、期刊投稿都离不开它。
wikilink-zotword 正是为打通这"最后一公里"而生。 借助 Better BibTeX 提供的 zotero.lua,我们将 Obsidian 中的双链引用无缝转换为 Word 中可动态更新的 Zotero 活引文(Live Citation),高效融合 Obsidian 写作的畅快与 Word 排版的专业能力,上手轻便。
三种导出模式
| 模式 | 命令 | 输出 | 依赖 |
|---|---|---|---|
| BBT | Export to Word (Zotero Citations) | .docx(活引文) | Zotero + BBT + Pandoc |
| Lite | 同上 | .docx(活引文) | Zotero + Pandoc |
| 脚注 | Export to Markdown (Obsidian Footnotes + Zotero) | .md(作者年份制脚注 + HTML 图表题注) | Zotero + Pandoc |
- BBT(推荐):活引文最稳定,支持 CSL 样式切换,高级作者名处理
- Lite:无需安装 BBT,适合受限环境。生成的活引文可正常刷新
- 脚注:适合微信公众号、博客等 Markdown 发布平台
安装
手动安装
- 从 Releases 下载最新版
wikilink-zotword.zip - 解压得到
wikilink-zotword/文件夹,整个放入{vault}/.obsidian/plugins/下 - 重启 Obsidian(或在 设置 → 第三方插件 中点刷新),启用 "Wikilink to Zotero Word"
依赖安装
| 依赖 | 必需? | 说明 |
|---|---|---|
| Pandoc ≥ 2.16.2 | ✅ 全部模式 | 需在 PATH 中,或在设置中填入完整路径 |
| Zotero | ✅ 全部模式 | 需运行(端口 23119) |
| Better BibTeX | 仅 BBT 模式 | Zotero 插件 |
| pandoc-crossref | 可选 | 图表公式交叉引用;Quarto 用户自动检测 |
快速上手
- 安装插件和依赖
- 打开一篇包含
[[wikilink]]引用的笔记 Ctrl+P→Export to Word (Zotero Citations)- Word 中打开导出的
.docx,Zotero 会提示设置文档偏好
就这么简单。
[!note] 引用格式 笔记中引用需要包含 Zotero 的 8 位 itemKey(Zotero One 自动生成):
[[2024_Smith_Advances in method_KEY-ABC12345|Smith et al., 2024, J. Sci.]]管道符
|后的别名仅在 Obsidian 中显示,导出时由 Zotero 替换为 CSL 格式。
图表题注与交叉引用
在 Obsidian 中使用 Callout 语法为图片和表格添加题注:
> [!figure] 图 1 实验结果对比
> 说明文字
>
> 
如 @fig:1 所示,……
> [!table] 表 1 参数对比
> 数据来源:综合文献
>
> | 参数 | 说明 |
> |------|------|
> | A | 描述1 |
> | B | 描述2 |
如 @tbl:1 所示,……
行内公式:$y = ax^2 + bx + c$ {#eq:quadratic}
如 @eq:quadratic 所示,……
[!info] 交叉引用说明
@fig:name→图 N(引用图片)@tbl:name→表N(引用表格,无空格)@eq:name→式 N(引用公式)- 标签名规则:仅允许
a-zA-Z0-9-,用-连接单词(如{#fig:temp-curve}),不允许下划线- 子图:同一图多个子图共享标签名,引用加空格+字母:
@fig:name a→图 1a(脚注导出自动去空格,Word 导出手动去空格)- 前缀继承:使用
图、表、式还是Fig.、Tab.、Eq.,由设置中的前缀(Figure/Table/Equation prefix)控制,文档 YAML 用crossref_lang: zh/crossref_lang: en切换中英文预设- Word 导出需安装 pandoc-crossref,在设置中填入可执行文件路径
- Easy Typing 用户:若
{#fig:label}被自动加空格,在 Easy Typing 设置 → 自动格式化 → 用户自定义正则表达式区块首行添加\{#[\w\-:]+\}|--
Word 导出后批量修正子图空格
Word 导出后子图引用会有空格(如 Fig. 1 a、图 1 a),需分前缀分步用 Word 通配符替换(Word 通配符不支持 | 表示“或”)。
示例:
- 中文前缀:查找
图 ([0-9]@) ([a-z])→ 替换图 \1\2 - 英文前缀:查找
Fig\. ([0-9]@) ([a-z])→ 替换Fig. \1\2 - 英文前缀:查找
Figure ([0-9]@) ([a-z])→ 替换Figure \1\2
其他前缀(表/式/Table/Eq./Equation)同理,逐个前缀重复上述步骤。
[!note] Word 通配符语法要点
- 数字:
[0-9]@(@表示前字符出现 1 次或多次,不用\d、+、{1,})- 字母:
[a-z]或[a-zA-Z](不用\w)- 捕获组引用:
\1\2(不用$1$2)- 不支持
|表示“或”,需分前缀分步替换- 点号
.需转义\.(如Fig\.、Eq\.)
Markdown 脚注导出
适合微信公众号、博客、Notion 等 Markdown 发布平台。
- 设置面板 → CSL style file 填入样式文件路径或 URL(默认
apa) Ctrl+P→Export to Markdown (Obsidian Footnotes + Zotero)- 自动生成
{文件名}_footnotes.md并在 Obsidian 中打开
输出效果:
## 图表题注(HTML 格式)
<center><img src = "图片路径" width = "100 px"/></center>
<center><b>图 1 实验结果对比</b></center>
<center><font color="#595959">说明文字</font></center>
如 图 1 所示,……
<center>表1 参数对比</center>
| 参数 | 说明 |
|------|------|
| A | 描述1 |
<center><font color="#595959">数据来源:综合文献</font></center>
如 表1 所示,……
$$y = ax^2 + bx + c \tag{式 1}$$
如 式 1 所示,……
## 参考文献
[^1]: 张三, 李四. (2024). 一项研究. *示例学报*, 12(3), 456-478.
- 图表题注:图片、表格、公式题注转换为 HTML 格式,居中显示,编号自动生成(图 1、表1、式 1)
- 交叉引用:
@fig:name、@tbl:name、@eq:name自动替换为对应的编号 - 标题等级:保持源文档的标题等级(
##不变) - 正文:
作者 (年份)[^n](作者年份制) - 文末:完整参考文献(含 DOI)
- 无需 BBT,仅需 Zotero 运行
设置
导出设置
| 设置项 | 默认值 | 说明 |
|---|---|---|
| Export mode | BBT | BBT / Lite |
| CSL style file | apa | 脚注导出的 CSL 样式(作者年份制推荐 APA) |
| Output directory | (空=笔记同目录) | Word 导出目录 |
| Word template | (空=默认模板) | 自定义 .docx 模板路径 |
| Pandoc path | pandoc | Pandoc 路径 |
[!note] Word 导出的引文样式 Word 模式生成 Zotero 活引文,引文格式由 Word 中的 Zotero 插件控制(文档偏好 → 选择 CSL 样式),无需在插件设置中指定。
图表交叉引用
| 设置项 | 默认值 | 说明 |
|---|---|---|
| Figure prefix | 图 | 图前缀 |
| Table prefix | 表 | 表前缀 |
| Equation prefix | 式 | 公式前缀 |
| pandoc-crossref path | (空=不使用) | pandoc-crossref 可执行文件路径,需自行下载安装 |
下载 Windows 版本
pandoc-crossref.exe后,在设置中填入完整路径(如D:/tools/pandoc-crossref.exe)。
用户配置指南
BBT 模式(推荐)
- Zotero → 工具 → 附加组件 → 获取更多附加组件 → 搜索 "Better BibTeX" → 安装 → 重启 Zotero
- 配置引用键格式:
- BBT 默认公式为
auth.lower + year,建议改为auth.lower + year + '-' + item(即{auth.lower}{year}-{item}) - 末尾的
+ item是 BBT 的关键词,用于在 citekey 中嵌入 8 位 item key,不可写为itemkey - 若不包含 item key,Lite 模式无法匹配引用
- BBT 默认公式为
- 配置特殊字符过滤(解决弯撇号问题):
- 编辑 → 首选项 → 高级 → 配置编辑器
- 搜索
extensions.zotero.translators.better-bibtex.citekeyUnsafeChars - 值末尾添加弯撇号
'(U+2019):"#%'(),={}~'" - 重启 Zotero → BBT → 管理引用键 → 重新生成所有引用键
- 设置引文样式:Word 导出后,在 Word 中点击 Zotero → Document Preferences 选择 CSL 样式
- 中文常用:
china-national-standard-gb-t-7714-2015-numeric(GB/T 7714 国标) - 更多:https://www.zotero.org/styles
- 中文常用:
Lite 模式
无需 BBT,仅需 Zotero 运行。适用于无法安装 BBT 的受限环境。
自定义 Word 模板
- 准备
.docx模板(含页眉页脚、标题样式、正文字体等) - 插件设置 → Word template 填入绝对路径
- 导出时自动应用模板样式
FAQ
导出后引文显示 `open Zotero document preferences: [@xxx]`
这是正常的域代码占位符。在 Word 中点击 Zotero → Refresh,首次弹出 Document Preferences 对话框,选择 CSL 样式后即可正常显示。
`d'cona Guedes` 等弯撇号作者导出失败
BBT 模式需配置 citekeyUnsafeChars(见上文配置指南)并重新生成引用键。Lite 模式无此问题。
找不到 Pandoc
确认 Pandoc 已安装且在 PATH 中。或在设置中填入完整路径(如 D:/Program Files/Quarto/bin/tools/pandoc.exe)。
同名 Word 被占用
关闭正在打开的同名 .docx 文件后重试。
中文作者 citekey 格式
中文作者保持原样(不转小写),如 张三丰2023-4NX85H85。
如何批量导出多个笔记?
当前版本暂不支持,计划在后续版本实现。
未来计划
- 双语引文(中英文混合)
- 多种导出格式支持(https://github.com/mokeyish/obsidian-enhancing-export、https://github.com/l1xnan/obsidian-better-export-pdf)
- 边写边引:命令面板搜索 Zotero 文献 → 插入 wikilink
- 批量导出多个笔记 + 导出进度条
- 代码重构:将 preprocessor.ts 拆分为 markdown.ts / word-export.ts / footnotes-export.ts
开发
npm install
npm run dev # 开发监听
npm run build # 生产构建 → dist/
npm run test # 运行测试
致谢
- Better BibTeX — 提供
zotero.luaPandoc filter - Zotero One — 打通 Zotero 与 Obsidian
- pandoc-crossref — 图表公式交叉引用
- Pandoc — 文档格式转换引擎
- Obsidian for paper — Obsidian学术写作教程
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.