个人 PDF 知识仓库构建 p4:EndNote x9.3 高级教程
坑边闲话:在第 1 讲中,我简单地推荐了几个 PDF 电子书下载网站,在第 2 讲中,较为详细地讲了一下如何利用 Abbyy Finereader 15 以及其他几款软件进行 PDF 精修,主要是制作标签、添加 OCR 后的文本层。常言道,师傅领进门,修行看个人,没有哪个知识是看一遍就能彻底掌握的,更何况我传授的仅仅是一些经验,算不得严肃的知识。这些教程,需要读者看完了再去实践,掌握一款软件的最好方法就是不断使用这款软件,然后向高手请教。
接下来,我将介绍如何管理浩大的 PDF 电子书仓库。
本篇文章适合以下同学阅读:
- 平日里做科研,有大量的 PDF 电子论文需要管理
- 自己有很多 PDF 电子书,需要进行管理
- 喜欢对自己的知识库进行分门别类地整理,以备不时之需
1. 当搜索代替了分类·
不得不承认,当我们的文件数量到达了一定的程度,凭借记忆进行树状存取很困难,这时候最简单的方法就是搜索,利用文件系统自带的搜索功能进行检索、利用 macOS 上的 Spotlight 进行搜索、利用 Windows 上的 Everything.exe 软件进行检索。
或许以上的这个认识对于如何管理自己的书库没有用处,但是这确是管理的中心哲学。
当文件量较少时,通过心中的树状图进行管理;当文件很多时,通过搜索进行存取。
2. EndNote x9.3 初探·
科研人员对于 EndNote 这款软件应该不陌生,该软件是科睿唯安(Clarivate Analytics)公司开发的一款文献管理软件,换言之,利用该软件可以方便地管理你看过的论文、专著。
中间强调一点,这款软件是收费的,但是,大部分高校应该是购买了该软件的版权,所以赶紧登上你们学校的图书馆主页,看看有没有 EndNote 的下载链接。
为什么要强调 X9.3 版本?这主要与苹果公司有关。在 macOS Catalina 发布之后,苹果毅然决然地抛弃了所有的 32 位软件,以后 macOS 只会兼容 64 位软件。而 EndNote X9.2 以及之前的版本,都是 32 位的。果不其然,苹果的号召力还是牛,科睿唯安第一时间更新了 macOS 版软件,将版本号提升到了 9.3 ,架构升级为 64 位。但是在后来相当长的一段时间里,Windows 那边一直是 9.2,这也带来了一个棘手的问题,Windows 和 Mac 无法互相打开彼此创建的 EndNote .enl 仓库文件。一直到 2020 年,在无数双电脑用户的写信恳求下,科睿唯安发布了两个平台互相兼容的软件版本,Windows 与 Mac 双双升级到了 9.3.
不过,EndNote for Windows 的 9.3 版本依旧是 32 位的。
话说回来,我们今天要讲的是 EndNote 的高级教程,所以我默认你会一些基础的 EndNote 操作技巧,如导入、导出、与 MS Word 联动等。但是如果要用好这款软件,我们需要掌握很多软件本身的知识,正如学习 git 的最好方法就是了解 git 是如何设计的。
2.1 EndNote 的文件结构·
每个数据库类的软件都要有自己的数据结构,EndNote 也不例外。EndNote 管理的是条目以及相应的 PDF Attachments,而且主要管理对象是条目。所谓的条目,就是有关一篇文献的基本信息,如作者(Author)、年份(Year)、标题(Title)、发表地点(Place Published)、出版商(Publisher)、卷(Volume)、ISBN/ISSN 等。而且,EndNote 更关心条目,而不是 PDF 附件。
你可能会问,我们不是要学习一款 PDF 管理软件吗,怎么说来说去,这款软件竟然不怎么关心 PDF 附件,而更加关心这本书(论文)的基本信息? 没错,确实如此,但是也无需担心,能真正索引一部书的,只能是这本书的元信息(Metadata),比如,同一本书,可能被多家出版社多次出版,而这些书名相同、版本不同的书,肯定不能被认为是同一书籍。所以我们为了防止日后产生麻烦的问题,就要从电子书本身的出版信息来入手!数据库理论告诉我们,主键约束是最重要的!能对某份材料进行唯一标记,是管理的核心。
所以,专注出版元信息,才能在后期不出问题;专注元数据,才能准确定位一本书。 那么这本书的元数据在哪儿了?出版信息在哪儿了?不用慌,打开你的书,中国大陆出版的书,一定会有一页被称为版权页的页面,它大致如图 1 这样子。相信大家看一眼就知道如何对应到 PDF 出版信息中的哪些项。但是,在这儿我要说点很难注意到的部分。首先是 Title 这个最容易被人忽视的地方,Title 就是标题,标题中不应该包含版本号,诸如《计算机网络-中文第 7 版》这种标题是严重不合规范的,版本号应该放在 Edition 字段,用英文序数词缩写表示,如第一版是 1st,第二版是 2nd,第三版是 3rd 等!
其实,从出版号这一点来看,你会发现把版本号写入 Title 的书大多数都是翻译的书,中文原版基本都不会这样写。其实出版社这么写也是有自己的苦衷,首先,一本多次再版的英文书,可能到了第 N 版才被翻译为中文,所以前面的第 1~N-1 版并没有与之对应的中文版,所以在版本号里莫名添加一个第 N 版并不合乎逻辑,可怜的策划编辑就只好在 Title 里加了一个不伦不类的“中文第 N 版”、“原书第 N 版”。大多数的乱象,其实本就是由于这种不合理导致的,但是乱象背后,往往也有自己的道理。在这里,我还是强烈建议把 Title 中的版本号删掉,写入 Edition 字段。
2.1.1 EndNote x9.3 支持 XML 格式数据存取·
本节属于高级内容,需要有一定的计算机基础才能看懂。
既然 EndNote 主要管理文献条目,而文献条目本身是以各种字段表示的,那么这种数据库就很适合用 XML 进行导入导出。如果你想验证这一点,可以把一个 .enl 数据库导出为 XML 格式。当然,这个 XML 格式并不是为了人阅读的,所以没有格式化,用 VSCode 简单处理一下,就能得到一份比较容易阅读的 XML 文件。

可以发现,XML 的结构是这样的,全篇以一句 <?xml version="1.0" encoding="UTF-8" ?> 打头,然后进入 <xml> 体,<xml> 体中仅有一个记录,那就是 <records>,<records> 中有若干个 <record>,而这每一个 <record> 都是一条完整的记录!你的 EndNote 里有几个条目,就有几个 <record> 信息。
这里我要提醒一下,因为本人不是学习新闻出版学的,所以对于中外出版界的术语翻译并不是十分了解,上述知识是根据自己的摸索得到的,有此方面专业知识的同学,欢迎告诉我。
这里重点强调一点,一个
<record>的主键并不是<rec-number>Record Number,记录数。主键其实在 XML 文件中说明了,那就是图 1 第 9 行中的key字段,这个字段中保留了db-id,也就是EndNote数据库的唯一主键,同时进一步指明该record在该EndNote数据库中的唯一编号,当然,这个唯一编号通常与<rec-number>是相同的。

说了这么多 XML 的东西,要解释的其实很简单,那就是备份好你的 EndNote 数据库。
还可以看到,导出的 XML 中,条目对应的 PDF 所在的目录是不变的,这就令我们恢复数据库变得很容易。只需要保存两个东西即可:
- PDF 目录
- XML 文件

2.1.2 EndNote 与 Word 的联动·
EndNote 可以与 Word 完美结合。安装 EndNote 的过程中,会自动安装 Word 插件。我们在 Word 中用该插件插入一个 Citation,就会得到一个域对象(点击后显示灰色背景的那种文本)。
那这个 Word 域对象和 EndNote 数据库有什么关系呢? 通过分析域代码可以知道,这个域对象里存储了很多东西。

![图 5. 从 Word 中拷贝出域代码,格式化 Style 之后可以看到,这个小小的 [1] 后面,可是内有乾坤。里面包含了容量相当丰富的东西。其中最重要的就是 recNum 和 db-id 两个值,这两个值能保证你重装电脑之后,打开原来的 EndNote 数据库仍能继续工作。但是需要指出,当你导出 XML 再导入 XML 到新的空白库之后,recNum 或许会改变,这时 EndNote 就无法锚定 Word 中的索引项了。所以论文写作途中,建议不要随便导入 XML 到新库然后删除旧库,否则后果很严重。](/images/tutorial-knowledge-base-construction-p4/EndNote_field_code.jpg)
Word 调用 EndNote 中的条目,就是利用了域代码里存储的条目的主键,然后根据主键去数据库里取数据。再次强调,从 XML 导入到空白的库里之后,主键会发生变化,这时候新的 EndNote 库与老 Word 文档之间,没有关联了,你再点 Update 也不会有任何内联变化。 除非你论文写完,否则我不建议你对数据库做任何大改动。
2.1.3 定时备份 EndNote 数据库·
上文说到,EndNote 能导出 XML 格式的索引列表,而且 XML 列表体积很小,所以你可以每隔一段时间,就导出一次,做好备份。
而且上文我们还说到,EndNote 的 XML 中,record 的 PDF 索引不变,所以也要保护好 PDF 目录,毕竟这才是我们个人所关心的东西。
2.2 EndNote 仓库进化完全体·

总结·
EndNote 这款软件是真的让人受益终身的,学会了之后,可以大大降低你的痛苦数量。然而好多研究生根本不懂这款软件如何使用,实在是令人痛心,而后不仅怀疑这些人真的会做科研吗?虽然管理好自己的文献不一定就能做好科研,但是这中管理技能确实是一个科研工作者应该具备的。







