分享我正在用并且会一直用下去的最完美的科研文献管理及写作工具:emacs内置的org-mode。org-mode是emacs的一个纯文本编辑模块,详细的特性可以参考
http://orgmode.org。然而它并不是一个文献管理软件,但是经过配置后,却比任何一个专门的文献管理软件更适合文献管理。我对比过其他的管理工具,比如noteexpress,mendeley和endnote等等,但没有一个能真正令我满意,因为对于我而言,在文献管理过程中,管着管着就不知道重点去哪了。那么就失去文献管理的价值了。
直到遇到org-mode后,我才真正找到完美的文献管理哲学:在论文中管理文献,即在最终的论文中管理文献。那么如何实现呢。
阅读文献的最终目的就将阅读到的重点内容最终反映在自己的论文中。如果可以在论文写作中管理文献,那么在反复阅读与校对论文时,就能随时根据引用的内容来了解该篇参考文献的主题内容等。然而论文中引用文献时,一般的方法也就是在文中给出类似[1]的引用号,文章末尾列入参考文献等内容,真正的交叉引用效果都不太令人满意,那么也就很难将引用内容与参考文献灵活联系起来。但此时如果有一种方法,在不需翻页的情况下,在论文引用处可以链接到引用文档的信息,比如作者,题目,页码,出版社,甚至链接到pdf文档供一键打开,那就是无穷的方便。而org-mode恰巧提供了这样的优势。
用org-mode管理参考文献的优势在于,所有数据都是纯文本,可以任意的修改,可以版本管理,,也就是说你的任意一次修改都可以被记录并恢复(需要借助git)。并且因为你的数据是纯文本的,所以通过dropbox,google drive同步后,所有的系统平台都可以访问。并且由于emacs elisp的灵活性,org-mode缺失的功能你都可以自己添加,这种软件扩展性也不是其他参考文献管理工具可以比拟的。更更重要的是,org-mode是免费的!答案较长,为了便于大家阅读,先给出目录:
1. 独一无二的功能展示
2. 管理参考文献所需基本条件
3. 文献搜寻与添加3.1 文献条目搜索
3.2 与该条文献相关文献的搜索与添加4. 参考文献的分类
4.1 利用标题进行分类
4.2 利用标签进行分类
5. 文献重要优先级6. 如何阅读文献
6.1 分辨已阅读和未阅读
6.2 相似内容文献的链接
6.3
笔记与pdf页码的链接6.4 文献内容阅读
6.5 导出思维导图以下为正式回答:
--------------------------------------------------------------------------------------------------------------
1. 独一无二的功能展示先看下图,这是一篇在org-mode中完成的测试文章,类似在word中完成的完整简单文章。文中蓝色*代表一级标题,黄色*代表二级标题,类似于word的1.和1.1标题。最后的两条link将参考文献文件和其引用样式链接到该文档中,这在后面会介绍。

可以看到文中有可以点击的链接,这其实就是在文章中引用了该篇文献,类似于word中引用的[1],这里只不过是以文献key形式引用,原理是一样的。
在点击该链接后,emacs的minibuffer中会显示以下信息,至于什么是emacs和minibuffer我就不介绍了,需要者请自行查询。

可以清清楚楚看到,包括作者,标题,杂志信息,页码等该参考文献的详细信息都被显示出来。再看提供了5种选项用于打开pdf,网络数据库的url和记录的笔记等等功能,一键可以打开以上选项。这样来说,引用的内容与该文献条完美结合起来。然后想想以上的文献管理过程:在论文中不断添加不同引用内容,然后在不同引用内容后链接文献条目,那么每条引用文献的核心都在这片文章中体现出来了。随后在一遍遍修改引用内容时,可以随时打开文献pdf或者之前记录的笔记,来温习该篇参考文献,强化记忆管理,我觉得这是十分科学的。
org-mode是纯文本写作,但是可以通过latex,导出为pdf文档(还可以导出到txt,html,reveal.js presentation)。下图为这篇文章的pdf截图,论文的基本架构,引用内容一应俱全,还可以利用org-mode与latex的优势,只关注内容无需在意排版,只需要做的只是写写写!!

以上只是org-mode的冰山一角,下面我详细介绍如何利用org-mode来管理参考文献。
---------------------------------------------------------------------------------------------------------------2. 管理参考文献所需基本条件:利用org-mode管理文献时,需要建立两个基本文件。
a. 新建一个参考文献bibtex文件,bibtex的简介和优势参考
BibTeX。bibtex文件是由各种类似以下格式的文献条目组成的。这个文献条目包含了一篇参考文献的所有信息。建立好这些文献条目后就可以在文章中引用了,如上所述,minibuffer中显示的内容均来自这个文件。bibtex是文献管理通用格式,并且是纯文本,可以被不同其他文献管理软件导入,也可以从不同软件生成。但我建议每条条目都自己添加,这样格式什么的自己都能控制把握,后面会讲简洁的条目添加方法。
@article{rowe-1979-grain,
author = {R. Grant Rowe},
title = {Grain Boundary Segregation and Grain Growth
Inhibition in Silicon Iron: The Effect of Boron and
Nitrogen},
journal = MTA,
volume = 10,
number = 8,
pages = {997-1011},
year = 1979,
doi = {10.1007/bf02811646},
url = {http://dx.doi.org/10.1007/BF02811646},
}
b. 一个org-mode文件用于记录该文献的笔记文件。 下图为该文件中的一个参考文献条目,除了提供文献基本信息外,点击pdf链接可以打开pdf,还有url。

c. 一个目录用于放置参考文献的pdf文档,然后在以上文件中链接。完成者三个条件之后,就可以在论文中引用,然后点击引用链接,来打开笔记,pdf,url等等内容了。
---------------------------------------------------------------------------------------------------------------
3. 文献搜索与添加3.1 文献条目搜索
对于搜寻文献,没有比google scholar更方便了,但是对于从google scholar搜寻到的文献条目,我往往不会只简单复制它的cite内容,因为我发现总是数据不齐全。所以我的操作方法就是直接点击进去该条链接,然后打开文献数据库的该条条目页面,从该页面中提取文献信息,这样是最准确的。好吧,当然我是不会一条一条复制的,org-mode提供了更简捷的方法。
开始介绍:网络中搜索文献时,每一个文献链接对应一个数字对象唯一标识符,即doi,参考
doi _百度百科。也就是说只要我们找到了这条文献的doi,我们就可以找到它的详细信息。如以搜索
Annealing behavior of cold-rolled low-carbon phosphorus-containing steels with variations in silicon content该条文献为例说明。
打开
http://dx.doi.org/10.1007/BF02811644会重定向到上面的文献。然后拉到页面底部,找到doi栏,复制10.1007/BF02811644。

然后在org-mode中一条命令即可从doi中获取该文献的参考信息,并自动插入到.bib文件中,然后会自动在笔记文档中建立该文献的条目。如果这篇文献的pdf在网站上是免费提供的,那么这条命令还会自动下载该pdf,并且将其置于pdf目录中。
重点:
要知道在网上复制文献的引用信息往往缺少某些内容,而从doi中获得的信息可以说是健壮的。
3.2 与该条文献相关文献的搜索与添加
同时在阅读文献时会有这样的需求,比如我想知道该条文献被引用,引用的文章的list,那么org-mode照样有解决的妙法。
利用org-mode独特的link方法,如下图所示

图中有doi:10.1007/BF02811644的链接,在点击链接后会看到minibuffer处又出现了好多选项,分别是wos, citting articles, related articles, google scholar, CrossRef doi等等。点击不同的选项,实现不同的功能,我依次介绍:
a. wos, 在浏览器中打开该文献在web of science中的位置,
Web of Science [v.5.15]b. citting articles,在浏览器中打开引用的文献列表。
Web of Science [v.5.15]c. related articles,打开相关文献列表,
Web of Science [v.5.15]d. google scholar,打开在google scholar中的位置。
e. crossrefdoi, 打开在CrossRef中的位置。
好吧,这样搜索参考文献等等是足足的了。
--------------------------------------------------------------------------------------------------------------
4. 参考文献的分类在.bib文件中对文献条目分类必要性不大,而在org-mode的笔记文件中对文献分类那是再合适不过了。
4.1 利用标题进行分类
下图为部分文献的笔记条目。不同蓝色标题的内容为不同的参考文献条目,这样就以大标题的形式对文献进行了分类。

其实标题是可以折叠的,点击ctrl+tab,以上内容会变成:

而其实将所有内容显示后,是这样的:

这样显示或者隐藏不同分类的文献,阅读性是不是很强。当然你还可以用 `org-narrow-to-subtree`来隐藏其他所有条目,只剩下该条方便记笔记。
4.2 利用标签进行分类
上图右下部分有:@domain_theory:类似字样,这在org-mode中被称为tags。你可以对相同主题的文献进行相同tags,这样在你想至阅读全部文献的某个tags的条目时,只需要点击该tags,如下图所示:

----------------------------------------------------------------------------------------------------------------
5. 文献重要优先级以及排序问题在阅读文献的过程中,对文献重要性的判断排列很重要,那么怎么利用org-mode对温度进行重要性分级呢。
如图所示为一个文档的条目,注意那个标题中的[#A],意思就是将该文献定位最重要的A级,其余还有B级和C级。对于按照等级对文献进行排序等等,更不是问题。

看到图中文献标题中的年份了吗?然后进行年份排序,那么某标题分类下的文献就按照年份排列下来,年份由于在标题的醒目位置,所以年份什么的,一目了然。再也不用担心忽略这篇文章的出版日期了!
-------------------------------------------------------------------------------------------------------------------------
6. 如何阅读与温习文献这是管理文献的核心内容,好不容易搜来的文献你不阅读,就让它们一直在那躺尸么。。
6.1 分辨已阅读和未阅读
org-mode用todo和done来标记未阅读和已阅读。在你想下一步阅读某条文献时你还可以添加next,其实添加什么都是自由的,你甚至可以添加killed。
这样文献阅读与否,一目了然。

6.2 相似内容文献的链接
在阅读文献时,往往会遇到互相引用的文献,那么有必要在记录各自文献条目笔记时互相引用下,这样所有相关文献就紧密联系起来了。方法呢,你可以通过以上的cite:rowe-1979-grain,来随时链接相关笔记的内容和pdf,还可以6.3节所说的直接连接pdf至页码,点击一下,就可以找到引用的pdf位置与内容。
同时还可以文献文件内部引用,这样操作就更方便了。
点击一次,既可记录当前文献所在位置。
然后移动到需要引用的位置,
就完成引用插入了。
6.3 笔记与pdf页码的链接
相信大家在阅读文献做笔记的时候,往往想标记自己所做的笔记来源于文献的哪个部分,或者哪一页。普通的软件的操作流程是,你只能打开pdf,然后根据自己笔记内容翻到那一页,这还是会浪费一些时间的,更何况如果是阅读一本厚厚的pdf专著呢,总不至于每次都狂翻吧?用org-mode呢,可以直接链接到pdf的那一页,如下图所示,点击page1和page5的链接,你就可以直接到达pdf的第一页和第五页。其实这条连接还是可以修改,比如第一页的哪一部分你都是可以添加的,用于提示该页的重要内容。

6.4 文献内容阅读
在org-mode中做笔记时,除了以上各种交叉引用,各种链接之外,还有就是可以做图片笔记。想想在阅读文献时,某一个试料的加工流程,某个结果的数据图往往是文献的核心内容,而用其他工具做笔记时,你不得不打开文档,定位到图片,然后问题内容,而用org-mode后,一个快捷键截图,并显示在你的笔记文件中。以后温习时会省去不少麻烦。示意图如下:
你可以标明这个图在文献的哪个位置,用以上介绍的方法。你可以在caption中说明这个图的重点。
这样你在后面温习的时候甚至有时不用打开pdf了。

当然到这一步哪能完,如果需要在图中进行标注呢,好吧,org-mode配合mspaint.exe再次实现一次快捷键截图加标注功能,效果如下图所示:

此处应该有掌声。。
6.5 导出思维导图
org-mode可以导出其他不同格式的内容,今天更新一张参考文献导出到思维导图的图片:

完美导出,母节点子节点导出功能俱全。
待续,请期待更加精彩的内容。