Wikilink to Zotero Word

unlisted

by chmzs

Export Obsidian wikilinks to Word with Zotero citations via Pandoc

Updated 7d agoMIT
View on GitHub

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 排版的专业能力,上手轻便。

三种导出模式

模式命令输出依赖
BBTExport 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 发布平台

安装

手动安装

  1. Releases 下载最新版 wikilink-zotword.zip
  2. 解压得到 wikilink-zotword/ 文件夹,整个放入 {vault}/.obsidian/plugins/
  3. 重启 Obsidian(或在 设置 → 第三方插件 中点刷新),启用 "Wikilink to Zotero Word"

依赖安装

依赖必需?说明
Pandoc ≥ 2.16.2✅ 全部模式需在 PATH 中,或在设置中填入完整路径
Zotero✅ 全部模式需运行(端口 23119)
Better BibTeX仅 BBT 模式Zotero 插件
pandoc-crossref可选图表公式交叉引用;Quarto 用户自动检测

快速上手

  1. 安装插件和依赖
  2. 打开一篇包含 [[wikilink]] 引用的笔记
  3. Ctrl+PExport to Word (Zotero Citations)
  4. 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 发布平台。

  1. 设置面板 → CSL style file 填入样式文件路径或 URL(默认 apa
  2. Ctrl+PExport to Markdown (Obsidian Footnotes + Zotero)
  3. 自动生成 {文件名}_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 modeBBTBBT / Lite
CSL style fileapa脚注导出的 CSL 样式(作者年份制推荐 APA)
Output directory(空=笔记同目录)Word 导出目录
Word template(空=默认模板)自定义 .docx 模板路径
Pandoc pathpandocPandoc 路径

[!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 模式(推荐)

  1. Zotero → 工具 → 附加组件 → 获取更多附加组件 → 搜索 "Better BibTeX" → 安装 → 重启 Zotero
  2. 配置引用键格式
    • BBT 默认公式为 auth.lower + year,建议改为 auth.lower + year + '-' + item(即 {auth.lower}{year}-{item}
    • 末尾的 + item 是 BBT 的关键词,用于在 citekey 中嵌入 8 位 item key,不可写为 itemkey
    • 若不包含 item key,Lite 模式无法匹配引用
  3. 配置特殊字符过滤(解决弯撇号问题):
    • 编辑 → 首选项 → 高级 → 配置编辑器
    • 搜索 extensions.zotero.translators.better-bibtex.citekeyUnsafeChars
    • 值末尾添加弯撇号 '(U+2019):"#%'(),={}~'"
    • 重启 Zotero → BBT → 管理引用键 → 重新生成所有引用键
  4. 设置引文样式:Word 导出后,在 Word 中点击 ZoteroDocument Preferences 选择 CSL 样式

Lite 模式

无需 BBT,仅需 Zotero 运行。适用于无法安装 BBT 的受限环境。

自定义 Word 模板

  1. 准备 .docx 模板(含页眉页脚、标题样式、正文字体等)
  2. 插件设置 → Word template 填入绝对路径
  3. 导出时自动应用模板样式

FAQ

导出后引文显示 `open Zotero document preferences: [@xxx]`

这是正常的域代码占位符。在 Word 中点击 ZoteroRefresh,首次弹出 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

如何批量导出多个笔记?

当前版本暂不支持,计划在后续版本实现。

未来计划

开发

npm install
npm run dev      # 开发监听
npm run build    # 生产构建 → dist/
npm run test     # 运行测试

致谢

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.