Why zotero?
zotero是一个文献管理软件,据我了解,其前身其实只是一款浏览器插件,用于提供文献元数据的管理,直到后来被开源社区开发成一款跨平台的桌面级软件,并且有非常好的开源社区以及大量的插件。
文献管理软件当然也不止这一款,至于为什么选择zotero,原因其实非常简单,就是因为它是开源软件,我本人是如果功能足够用,一定会优先考虑开源软件的。开源软件一般拥有庞大的专业用户,他们拥有过硬的技术和开源精神,形成的社区非常喜人。
zotero的基础操作我就不多说了,其实使用起来也比较简单,我主要利用它来分类整理文献,同时搭配Zotero Connector浏览器插件,在google scholar中浏览文献的时候直接一键收录并且提取元数据。
这里推荐两个比较好用的插件,也是我觉得必装的,后续的配置会默认已经安装了这两个插件,插件的配置可以参考网络然后根据自己的需要进行。
- Better BibTex 6.7.19 ——主要用来帮助zotero更好的管理bibliographic数据
- ztofile 5.1.1 —— 更好的管理附件文件,例如格式化命名、移动附件等等
- 另外我的Zotero版本是6.0.11
同时还可以配置Zotero利用云盘进行备份/多设备同步等等,例如我就将我的整个附件目录以及Zotero数据库放在了icloud中。
Why obsidian?
说实话,obsidian算是后起之秀了,在知识库软件百花齐放的今天,这个界面不那么友好的软件似乎没有什么竞争力,但对于专业人士来说,恰恰相反。obsidian它所有的特性完美的符合了我的需求。
- 文档以markdown格式编写,同时提供扩展语法
- 数据存储在本地,且直接以
.md
格式存储,让人放心
- 提供双向链接、关系图谱等功能
- 拥有非常庞大的插件支持(例如Vim相关的插件以及等下我们会用到的插件)
构建文献阅读整理工作流
在我们阅读文献的时候,特别是精读的时候,我觉得比较好的一个流程是:
- 一遍阅读一遍标注一边写评论,这样可以有助于理解文章,同时理清文章的脉络
- 利用不同的颜色区分标注的不同内容
- 阅读完成后整理阅读笔记,形成知识存储在知识库中,方便以后翻阅,因为通常需要阅读大量的文献,很容易不记得一些文件的细节
下面我就按照上面的流程来介绍我探索出来的一个工作流
文献标注
我会用不同的颜色来表示标注内容的不同意思,通常的习惯是
- 橘色表示文章的主要思想
- 黄色表示研究的细节部分或者系统实现的细节
- 红色表示还需要继续探究的部分或者感兴趣的参考文献
通过不同颜色的区分不仅有助于我们梳理文章内容,同时也方便接下来导入Obsidian的配置。
导入Obsidian,形成笔记
说了这么多,终于到了重点部分,看起来毫不相关的两个软件,是如何联系起来的呢,这就不得不提到Obsidian的一个插件——zotero-integration了
其实在发现这款插件之前,我是根据
Zotero -> zotfile -> mdnotes -> obsidian -> dataview Workflow这篇帖子在实现我的workflow的,但是后来由于zotero的更新,导致zotero的插件mdnote失效了,所以换成了更稳定的Obsidian端实现
安装好zotero-integration后,可以首先通过这个视频熟悉它的使用
现在我们知道了zotero-integration可以通过编写模板实现格式化导入文献笔记
那么我自己的模板文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
--- title: {{title}} date: {{importDate | format("YYYY-MM-DD HH:mm:ss")}} categories: tags:{% for tag in tags %} - {{tag.tag}}{% endfor %} ---
### Matedata #zotero
##### Item Type:: [[{{itemType}}]]
##### Authors:: {{authors}}
{%if date %}##### Year:: [[{{date | format("YYYY")}}]]-{{date | format("MM")}}{% endif %}
{%if conferenceName %}##### Conference Name [[{{conferenceName}}]]{% else %}{% if publicationTitle %}##### Publication Title [[{{publicationTitle}}]]{% endif %}{% endif %}
{%if DOI %}##### DOI:: [{{DOI}}](https://doi.org/{{DOI}}){% endif %}
{%if pdfLink %}##### PDF Attachment:: {{pdfLink}}{% endif %}
##### Zotero Link - [Local]({{select}}) - [Cloud]({{uri}})
# {{title}}({%if date %}{{date | format("YYYY")}}{% endif %}) >[DOI] [{{DOI}}](https://doi.org/{{DOI}})
## Abstract {{abstractNote}}
## 摘要
## 正文 {% for annotation in annotations %}{% if annotation.type == "highlight" %}{% if annotation.colorCategory %}{% if annotation.colorCategory == "Orange" %} ```ad-main_idea {{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %}) ``` {% elif annotation.colorCategory == "Yellow" %} ```ad-detail {{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %}) ``` {% elif annotation.colorCategory == "Red" %} ```ad-todo - [ ] {{annotation.annotatedText}}({% if pdfLink %}{% if citeKey %}[{{citeKey}}]{% elif citationKey %}[{{citationKey}}]{% else %}[Link]{% endif %}{% if annotation.attachment.desktopURI and annotation.page %}({{annotation.attachment.desktopURI | replace("select", "open-pdf")}}?page={{annotation.page}}){% else %}{{pdfLink | replace(r/^\[.*\]/, "")}}{% endif %}{% endif %}) ``` {% endif %}{% endif %}{% if annotation.comment %}{{annotation.comment}}{% endif %}{% endif %}{% endfor %}
|
这个模板有几个比较有意思的地方
- 元数据单独管理,可以方便迁移,本地链接全部存在元数据中。正文中不存在本地链接,直接复制到别的地方也可以正确的跳转
- 它的front-matter部分我直接按照Hexo博客模板给出,这样不仅可以更加方便的管理元数据,还可以让我直接复制粘贴到Hexo当作博文发布
- 搭配admonition使用可以实现贴纸效果,笔记一目了然,当然如果不喜欢也可以简化
{% for annotation in annotations %}
里面的实现
好啦,以上就是我探索出来的一套丝滑的工作流啦,希望能帮助到大家~