经验丨如何进行文献阅读 2.0得到了很多小可爱的喜欢,所以萜妹准备新开个系列,分享我自己搭建这套系统的细节,以及一些经验。

今天来介绍我的笔记模板。


基本介绍

核心插件: Zotero IFs +Zotero integration

我目前是以 Zotero IFs为主,Zotero integration 为辅进行我的笔记管理。

因为我EndNote转到Zotero比较晚,所以我没有使用过早期的Zotero和Obsidian的联动软件。

我第一个接触的是Zotero integration。但当时苦于Zotero integration无法实现Obsidian和Zotero的实时联动,于是我怒冲了青柠学术的Zotero IFs,选择花钱节约时间。

不过Zotero IFs 非开源,它有些底层逻辑无法修改。因此,我仍会使用Zotero integration辅助。

主题样式

我目前使用的是Blue Topaz主题。

并利用了Style Settings插件进行了个性化的颜色修改,所以可能和obsidian的默认样式会有些不同。

上次有人问我为什么代码一样,呈现结果不一样时,我才想起来应该和大家先介绍一下这点。

基本模板

我的笔记整体模板还是依托于Zotero IFs。Zotero IFs的笔记分为3个区域,分别是信息区、笔记区和注释区。在具体笔记中以【%—ω—%】分隔。

笔记示例

其中信息区和注释区会根据Zotero自动生成、同步更新,而笔记区一旦导出就不会再更新了。

Zotero IFs的设置界面

  • 信息区,对应Metadata模板
  • 笔记区,对应用户笔记区域
  • 注释区会自动同步Zotero中的注释,无需我们另外设置模板。

信息区

具体代码:

[[[🌝>[!example]+ <center>🗂️ Metadata</center>🌝> 🌝> ***Title***::{{title}}🌝> ***Author***::{{creators}}🌝> ***Journal***:: {{publicationTitle}}🌝> ***Data***::{{date}}🌝> ***Collection***::{{collection}}🌝> ***Zotero***:: {{itemLink}}🌝> ***PDF***:: {{pdfLink}}🌝> ***Related***:: {{related}}🌝> ***Description***:: {{callNumber}}🌝🌝> [!info]- <center>🐾 文章摘要</center>🌝> 🌝> ✏️ {{abstractFormat}}🌝🌝> [!hint]- <center>🗳️ 本文标签</center>🌝> 🌝>  {{tags}}]]]

自动生成的结果:

信息区代码(左)  信息区成品(右)

这里记录着文献的基础信息,都能在Zotero中得到对应属性,具体详见:https://www.yuque.com/qnscholar/zotero-if-pro-max/sol94e

大家可以根据自己的习惯,调整属性。

🌝 在自动生成时会替换为回车。

Tips:

【标题样式】 每个小标题的样式也可以自行修改。只需要修改[!XXX]中的XXX,即可匹配上预先的样式。更多样式可参阅:https://help.obsidian.md/Editing+and+formatting/Callouts

【内容展开】 可以看到,摘要和标签部分我都是默认折叠的。语句的区别在于[!XXX]后紧接的符号:

  • +,默认展开;
  • -,默认折叠。

【呈现形式】 为了便于查看,我的笔记模板有一些非功能性语句,比如代表斜体加粗的“***”。这对后期的数据查找没有影响。

笔记区

具体代码:

> [!done]- <center>⏰ 导入时间</center>🌝>🌝> ImportDate:: {{dateCurrent}}🌝🌝> [!question]+ <center>📫 核心信息</center>🌝>🌝> ***Summary***::🌝> ***Topic***:: 🌝> ***Theory***:: 🌝> ***Method***:: 🌝> ***Note***:: 🌝🌝> [!warning]+ <center>✏️ 所用变量</center> 🌝>🌝> ***Level***:: 🌝> ***IVs***:: 🌝> ***MEs***:: 🌝> ***DVs***:: 🌝> ***MOs***:: 🌝> ***Controls***:: 🌝🌝> [!danger]+ <center>🐣 文章概述</center>🌝>🌝>***ResearchQuestion***::🌝>***ResearchDesign***::🌝> ***ResearchLogic***:: 🌝> ***Contribution***:: 🌝> ***Hypothesis***:: 🌝> ***Conclusion***:: 🌝> ***Limitation***:: 🌝> ***FutureDirection***:: 🌝🌝---🌝# Note🌝## Definition🌝🌝🌝## Measure 🌝🌝🌝## Written 🌝🌝🌝# Main idea🌝🌝🌝# TIE🌝🌝🌝

自动生成的结果:

笔记区代码(左)  笔记区成品(右)

这里其实又可以分为两个部分,分别是核心笔记区与其他笔记区。

核心笔记区

核心笔记区类似于信息区,都是以属性的方式存在。大部分属性都顾名思义,需要额外说明的分别是:

  • Summary:模型图或封面图
  • Note:一句话概括文献
  • OtherLinks:一些归不入其他属性的标签链接,如[[Serial indirect effect]]

这会比较有利于后续快速查找与预览。如,我想快速查看涉及到链式中介的文章,我就可以使用:

table Description, Summary
from  #_Serial_indirect_effect

快速找到目标文献,并通过概述与模型图迅速回忆。

不过,这个部分的内容无法从Zotero中自动生成,需要我们在阅读时手动补充。

其他笔记区

其他笔记区主要是文本记录,其下又包括:

  • Note:负责素材记录,存放定义、测量工具、写作例句
  • Main idea:存放文中主要观点,是个人详细的学习笔记
  • TIE:存放一些个人思考。

这个部分也是需要我们在阅读时手动输入。

进阶技巧

Zotero integration

Zotero integration的大致逻辑是,从Zotero中提取信息(比Zotero IFs提取的更广泛),然后支持用户的个性化需求。

它提取出的信息是这样:

提取信息(部分)

由于我们笔记区还有大量需要手动输入的工作,而很多内容其实在Zotero中有记录,只是利用Zotero IFs 无法自定义调取,所以我用Zotero integration补充了些自动化技巧。

将标签以[[]],而非# 的形式表示

个人比较喜欢使用[[]],所以我利用下列模板实现此功能:

tag信息

{% for t in tags %}[[{{t.tag|replace("#","")|capitalize}}]]{% if not loop.last %}, {% endif %}{% endfor %}
  • {% for t in tags %}……{% endfor %},意为针对tags进行循环任务;
  • capitalize,意为首字母大写;
  • replace("#",""),意为将“#”替换为“”;
  • t.tag|……,意为针对t.tag属性进行任务;
  • [[]],意为链接化;
  • {% if not loop.last %}, {% endif %},意为如果是最后一个则停止循环。

此处的语句可解读为,针对tags进行循环任务,将每一个t.tag属性的“#”替换为“”,并将其链接化,直到最后一个tag结束循环。

自动生成结果

素材的半自动整理

首先,我在Obsidian中的定义模板如下。

---
Chinese: (变量名)
Description: (译文)
---
## Definition
> (原文)
 
(译文)

## Origin

Reference:: 

## Application
```dataview 
table Description
from  [[]]and "1000 Reading Paper"
```、

译文与原文已储存在Zotero的注释里。

注释信息

所以我可以按照tag的语句来写来进行循环调用下的具体内容。

---
Chinese: 
Description: {{annotation.comment|replace("🔤","")}}
---
## Definition
> {{annotation.annotatedText}}[](zotero://open-pdf/library/items/{{annotation.attachment.itemKey}}?page={{annotation.page}}&annotation={{annotation.id}})
 
{{annotation.comment|replace("🔤","")}}

而由于我将定义都设置为了洋红色(#e56eee),所以我们可以根据注释颜色写循环语句:

{% for annotation in annotations %}{% if annotation.color == "#e56eee" %}

……

{% endif %} {% endfor %}

自动生成结果

然后再进行手动调整。

最终笔记

测量与写作模板的自动化思路也差不多,所以就不展开啦。

完整模板

最后附上我的Zotero integration模板供大家修改。

# Tags
{% for t in tags %}[[{{t.tag|replace("#","")|capitalize}}]]{% if not loop.last %}, {% endif %}{% endfor %}

# Note
## Definition
{% for annotation in annotations %}{% if annotation.color == "#e56eee" %}
---
Chinese: 
Description: {{annotation.comment|replace("🔤","")}}
---
## Definition
> {{annotation.annotatedText}}[](zotero://open-pdf/library/items/{{annotation.attachment.itemKey}}?page={{annotation.page}}&annotation={{annotation.id}})
 
{{annotation.comment|replace("🔤","")}}

## Origin

Reference:: 


## Application
```dataview 
table Description
from  [[]]and "1000 Reading Paper"
```、

{% endif %} {% endfor %}


---
## Measure
{% for annotation in annotations %}{% if annotation.color == "#aaaaaa" %}
{{annotation.annotatedText}}[](zotero://open-pdf/library/items/{{annotation.attachment.itemKey}}?page={{annotation.page}}&annotation={{annotation.id}})
{{annotation.comment}}
{% endif %} {% endfor %}

---

## Written
{% for annotation in annotations %}{% if annotation.color == '#ffd400' %} 
{{annotation.annotatedText|replace(":","")|replace(";","")}}---
Application: 
Part: 
Purpose: 
Other:
---

***Example***:: *{{annotation.annotatedText}}*[](zotero://open-pdf/library/items/{{annotation.attachment.itemKey}}?page={{annotation.page}}&annotation={{annotation.id}})
***Description***:: {{annotation.comment|replace("🔤","")}}

***Before***::
***Next***::
```dataview 
list
from [[]] and "6000 Written/6900 Bank/Phrase bank"
```、

{% endif %} {% endfor %}
---

这篇推送就到这里啦。这其实称不上一篇教程,只是我个人的经验分享。我并没有涉及插件的基本设置和markdown的基本知识,因为这个部分网上教程真的非常非常多了,我很难通过只言片语的文字给大家传递到位,所以就当是给已经在使用OBsidian的小可爱们一些新思路吧。

如果大家有好用的技巧也欢迎与我分享呀!

往期推送

原文链接