Mendeley 是 Elsevier 公司出品的一款优秀的文献管理软件。它的桌面版本提供了一个 Word 插件,可以在使用 Word 写作的同时,插入参考文献,并可以在海量的格式库中选择一种投稿所需要的格式。最重要的是,当参考文献的顺序发生变化的时候,编号和文献列表都可以自动更新。对于提高写作速度很有帮助。
在成文之后,需要把自动更新的域代码去掉,保存为纯文本格式。然而, Mendeley 插件提供的导出功能只能导出成为 doc 格式。对于使用 docx 格式写作的用户来说,很多新特性在 doc 格式中并不支持。因此,把使用 Mendeley 编辑过的文档导出为 docx 格式需要额外的工作。
这里,我们换一个思路,不把 Mendeley 编辑过的文档进行导出操作,而是想办法在现有文档中直接把其变为纯文本。
在 Word 中, Mendeley 管理参考文献是通过“域”来实现的。 Word 为域提供了一个方法,就是解除关联: Unlink
。可以借助这一方法,把 Mendeley 创建的域解除关联。这里我们通过 VBA 宏来实现。
在编辑和使用宏之前要注意的是,用宏完成的修改操作无法撤销,解除链接后也无法恢复,如需要再次编辑参考文献需要手动编辑。因此,在以下操作之前,请先备份文档。
打开 Word ,在 Ribbon 中选择 视图
, 然后点击 宏
。在弹出的对话框中,宏名
部分输入 UnlinkMendeley
,点击 +
号,创建一个新宏。这时会弹出宏编辑器。输入以下代码
1 | Sub UnlinkMendeley() |
以上代码中, Word.ActiveDocument.Fields
返回当前文档中的所有域。然后进行遍历, Debug
语句输出的是每一个 Field
的类型和内容。这里输出是为了查看 Mendeley 所创建的域的类型代码。在我的 macOS 的某版本 Word 中,类型编号为 81 。这样,再把所有类型为 81 的域都解除链接,即可。如果您使用的 Word 不同,可能结果会不一样,这时把 81 替换成 Debug
中输出的类型代码即可。
运行宏,可以发现, Mendeley 相关的域代码都变成纯文字了。