目录
- Zotero可以通过安装mdnotes插件,按照模版导出文献元数据或注释笔记的markdown文件,再把markdown文件导入obsidian的库中,通过dataview插件进行数据汇总和呈现,实现联动。
- 自定义模版需要新建模版文件、在zotero编辑器里进行修改或增加字段。
- 这篇文章会梳理修改模版的步骤,给大家提供了三个模版思路,可以满足从简单到进阶的需求。
Zotero插件安装
mdnotes: 用于导出md文件。
Zotfile: 用于修改文件命名,此处安装是为了配合mdnotes的顺利使用。
BetterBibtex: 用于生成citekey,并以citekey进行md文件的命名。citekey即作者名+文献题目关键词+年份的组合。
1、在每个插件网页中找到.xpi文件并下载。(点击上方插件名可跳转网页)
2、在Zotero中找到Tools → Add-Ons并点击。
3、在右上角齿轮图标中选择从文件中添加,选择刚刚下载好的三个插件文件。
4、添加成功后重启Zotero,在Tools这里看到显示插件说明安装成功。
mdnotes模版设置
- mdnotes官方指南
- 如没有无mdnotes模版文件,则自动使用内置模版。下图是内置模版和我想要的模版效果对比。
- 接下来我们一步一步打造属于自己的模版,主要有三部分:
- 简单上手:建立模版文件,修改模版内容
- 牛刀小试:在Zotero编辑器中修改和新增字段
- 举一反三:配合obsidian联动,用dataview汇总文献内容
- 这三部分模版思路由简单到复杂,请根据自己的需求来,如果基本满足需求,则可以停下直接开始使用。
1、简单上手:建立模版文件,修改模版内容
(1)新增一个markdown文件,命名为Mdnotes Default Template.md
(2)将下方官网给出的模版文件代码复制到该文件中,我们可以称它为V0模版。
{{title}}
## Metadata
{{itemType}}
{{author}}
{{proceedingsTitle}}
{{date}}
{{dateAdded}}
{{url}}
{{DOI}}
{{citekey}}
{{collections}}
{{related}}
{{tags}}, #zotero, #literature-notes, #reference
{{pdfAttachments}}
{{abstractNote}}
## Zotero links
{{localLibrary}}
{{cloudLibrary}}
{{notes}}
(3)在该代码的基础上,增删或修改自己想要的内容,形成适合自己的模版。比如在metadata中,我只保留了我想要的数据变量,并且增加了调用期刊名称的publicationTitle变量,以及增加了自定义内容。本代码为初步修改的模版文件,我们可以称它为V1模版。
{{title}}
## Metadata
{{author}}
{{publicationTitle}}
{{date}}
{{tags}}
{{localLibrary}}
{{pdfAttachments}}
{{abstractNote}}
---
## Theory
## Rationale
## Gap
## Method
## Results
## Conclusions
## Ideas
(4)设置好模版后,在mdnote配置中,添加模版所在文件夹路径。也可以在模版路径上方添加批量导出md文件的文件夹路径(如果你使用obsidian,可以设置为obsidian库里的文件夹路径)。
(5)添加好模版路径后,在Zotero里文献标题单击右键,找到Mdnotes → Create Mdnotes file。弹出的窗口会让你确定md文件存放路径。
(6)模版代码与导出后的效果对比图如下:
(7)到这里你已经创建好自己的模版并且能够顺利使用了。
(8)如果你还想做点什么,比如我想删掉Abstract标题下方的空格,但在模版中删掉空格似乎不起作用。又比如我不喜欢期刊命名为Publication Title,想把它改成Journal,但{{publicationTitle}}属于调用格式无法直接在大括号里修改。针对这些问题,请继续往下看。
2、牛刀小试:在Zotero编辑器中修改和新增字段
(1)首先打开Zotero编辑器。在Zotero的设置中,找到Advanced → General → Advanced Configuration → Config Editor。如果弹出窗口,点accept同意。
(2)在新窗口顶部搜索栏中,输入mdnotes.placeholder
(3)图片中显示的是mdnotes默认模版格式。每一条都是一个字段,Preference Name代表调用的名称,Value则是具体格式。
(4)在刚刚的例子中,我们想要删掉摘要内容前后段的空行,可以找到extensions.mdnotes.placeholder.abstractNote,双击这一条字段,会出现以下代码,代表abstract的具体格式:
{"content":"## Abstract\n\n{{field_contents}}\n", "field_contents": "{{content}}", "link_style": "no-links", "list_separator": ", "}
##指Abstract为二级标题。\n代表换行,第一个代表摘要内容是在Abstract下方的换行,第二个代表Abstract二级标题与摘要内容之间空了一行,第三个代表摘要内容结尾的空行。因此我们就可以根据需求把\n删掉。比如我想把保留摘要内容在Abstract二级标题的下方,但不希望中间和最后空一行,就可以把后面两个\n删掉,修改后的代码如下:
{"content":"## Abstract\n{{field_contents}}", "field_contents": "{{content}}", "link_style": "no-links", "list_separator": ", "}
(4)另一个例子为期刊命名,我想要把publicationTitle修改成Journal。此外我还想把date中的引用去掉。但发现编辑器里面并没有这两个字段,因此我们需要自行新增字段。
(5)在编辑器的空白处单击右键,选择New → String
(6)第一个弹出的窗口要求输入Preference Name。我们使用模版中的默认调用名称,publicationTitle的输入下列信息extensions.mdnotes.placeholder.publicationTitle。对于date的则为extensions.mdnotes.placeholder.date。(注意,这里说的publicationTitle和date为两个不同字段,需要分别新增)
(7)第二个弹出的窗口需要输入Value。在V1模版效果图中可以看到默认publicationTitle的格式和authors的格式差不多,因此可以参考它的Value来修改。
authors的Value:
{"content":"{{bullet}} Authors: {{field_contents}}", "link_style": "wiki", "list_separator": ", "}
publicationTitle的Value:在author的基础上,把Authors改成Journal,以及删掉list_separator(即去掉逗号分隔,因为journal只有一个因此用不上逗号分隔)
{"content":"{{bullet}} Journal: {{field_contents}}", "link_style": "wiki"}
date的Value:在publicationTitle的基础上,把Journal改成Date,在link_style中把wiki改成no-links(wiki为双中括号[[ ]],在obsidian的中是引用和新建文件的意思,我对于发表时间没有额外操作需求,因此改成no-links普通字符)
{"content":"{{bullet}} Date: {{field_contents}}", "link_style": "no-links"}
(8)设置好Preference Name和Value之后,即为完成新增字段。我们称这次更新的文件为模版V2,以下是V1和V2的对比图。
(9)到这里,你已经学会了如何在编辑器里进一步修改metadata的模版格式,以及初步了解格式代码中代表的意思。
(10)既然有了metadata,是否可以进一步在obsidian里汇总文献并呈现出来呢~有这个需求的小伙伴可以继续往下看。
3、举一反三:联动obsidian,用dataview汇总文献内容
(1)首先在obsidian中安装dataview插件,具体步骤为:设置 → 左列:第三方插件 → 社区插件市场,点浏览 → 找到Dataview (Michael Brenan) → 点安装和启用。
(2)dataview的调用数据格式为双冒号,如Date::,因此,我们需要回到刚刚Zotero的编辑器中,将V2模版中metadata的字段都修改一下,在原有名称的冒号后面再加多一个冒号,其他不变。编辑器里默认冒号后已有一个空格,注意不要删掉,冒号后面带空格才能顺利调用数据。以下是V2模版中所有更改过的字段(一共4个Authors, Journal, Date, Tags):
{"content":"{{bullet}} Authors:: {{field_contents}}", "link_style": "wiki", "list_separator": ", "}
{"content":"{{bullet}} Journal:: {{field_contents}}", "link_style": "wiki"}
{"content":"{{bullet}} Date:: {{field_contents}}", "link_style": "no-links"}
{"content":"{{bullet}} Tags:: {{field_contents}}", "field_contents": "#{{content}}", "link_style": "no-links", "list_separator": ", ", "remove_spaces": "true"}
(3)我们可以称这次的修改为V3模版,下列是V2和V3对比效果图:
(4)接下来我们在obsidian中新建一个文档(注意:该文档与文献md文件不要放在同一个文件夹内),用于文献的汇总。输入以下代码:
```dataview
table Authors as Authors, Journal as Journal, Date as Date, Tags as Tags
from "Readings"
sort file.name asc
```(复制粘贴这个括号前面的所有代码)
(5)以下是最终呈现的效果图:
以上就是所有内容啦,大家可以按照自己的需求来使用,祝大家科研顺利多多发文章: D
感谢阅读~