使用Obsidian Zotero Integration导出文献笔记注释-程序员宅基地

技术标签: 硬件工程  零散笔记  生活  编辑器  Obsidian  开源软件  

使用Obsidian Zotero Integration导出文献笔记注释

简介

想在Obsidian中记录一下看过的文献和里面的关键信息,便于以后参考,最近刚开始用Zotero管理文献,就搜了下怎么样导出在Zotero中对文献PDF做的笔记,包括各种颜色的高亮、注释等。
软件和插件版本:
Obsidian: V1.0.3
Zotero Integration: 2.2.31
Zotero: 6.0.18
Better BibTeX for Zotero: 6.7.42

Zotero中

似乎是只需要安装插件:Better BibTeX for Zotero
例如对下面这篇文献做了一些笔记,包括高亮、注释、选中区域:

Obsidian设置

Zotero Integration设置

如下,定义一个自己的Import Format,名为my_import,主要设置笔记存放位置、文件名、模板

模板

基于参考资料中现成的模板修改而来:
主要是:

  1. 提取了一些文献的信息,以后可能用dataview筛选。

You can view the data available to templates using the Data Explorer command in Obsidian’s command pallette.

  1. 导出各种笔记,包括高亮、注释、选中区域
  2. 笔记区域,通过设置persist,再次导入时这部分内容会被保留。
%Zotero_import_note%
# Information
Title:: {
   {title}}
Year:: {
   {date | format("YYYY")}}
Authors:: {
   {authors}}
Publication:: {
   {publicationTitle}}
Zotero PDF Link:: {
   {pdfLink}}
Citation:: {
   {bibliography}}

# Notes
{% persist "notes" %}

{% endpersist %}

# Annotations
{%- macro calloutHeader(type, color) -%}  
{%- if type == "highlight" -%}  
<mark style="background-color: {
   {color}}">Highlight</mark>  
{%- endif -%}{%- if type == "text" -%}  
Note  
{%- endif -%}  
{%- endmacro -%}

{%- set annots = annotations -%}  
{%- if annots.length > 0 %}  
Exported: {
   {exportDate | format("YYYY-MM-DD h:mm a")}}
{% for annot in annots -%}  
#### page {
   {annot.page}} date: {
   {annot.date | format("YYYY-MM-DD")}}
Link: [page {
   {annot.page}}](zotero://open-pdf/library/items/{
   {annot.attachment.itemKey}}?page={
   {annot.page}}&annotation={
   {annot.id}}) 
{
   {calloutHeader(annot.type, annot.color)}}  
{%- if annot.annotatedText %}  
> {
   {annot.annotatedText | nl2br}}  

{%- endif -%}  
{%- if annot.imageRelativePath %}  
> ![[{
   {annot.imageRelativePath}}]]  

{%- endif %}  
{%- if annot.comment %}  
- {
   {annot.comment | nl2br}}  
{% endif %}

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

笔记导入

在Obsidian中,

  1. ctrl+P
  2. 输入zotero,选择刚才配置的my_import
  3. 弹出Zotero搜索框,输入需要导入的文献标题
  4. 完成导入

也可以把这个指令绑定成快捷键

效果:

  1. 文献的基本信息
  2. 标注的笔记,包括高亮的颜色
  3. 链接,点击可以跳转到zotero,并打开对应pdf,跳转到笔记所在的位置

图片、不同颜色的高亮、笔记:

最后

说了这么多,关键文献还是得自己看。。而不是搞一些花里胡哨的工具。可能以后会继续这样做笔记,可能还是只用Zotero就可以了。

参考资料

官方文档:obsidian-zotero-integration/Templating.md at main · mgmeyers/obsidian-zotero-integration · GitHub
部分template来自:An Academic Workflow: Zotero & Obsidian | by Alexandra Phelan | Medium
插件安装使用步骤视频:Zotero Obsidian Integration -

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34181877/article/details/128167303

智能推荐

java8 汇聚操作之reduce、collect用法_collectors.groupingby reduce-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏2次。java8 汇聚操作之reduce、collect用法。_collectors.groupingby reduce

Flask Web开发学习笔记(4)[email protected]('/') def index(): return render_templat-程序员宅基地

文章浏览阅读195次。模板[email protected]('/') def index(): return render_template('index.html')

QT计算器项目详解_qtsplus4calc是什么-程序员宅基地

文章浏览阅读933次。创建QDialog基类,在UI界面绘制如图18个按钮和text开源项目:https://github.com/zhuimengshaonian66/Calculator-by-QT每个按钮都很简单,那就是点击后,连接文本。只有=号的那个按钮比较特殊,那就是将Qstring类型变为char*类型,从而进行逻辑处理。void Dialog::on_pushButton_clicked(){ QS..._qtsplus4calc是什么

用C代码 打印输出链表-程序员宅基地

文章浏览阅读329次。在C语言中,需要遍历链表并打印每个节点的值来打印输出链表。下面是一个示例代码:#include <stdio.h>#include <stdlib.h>struct Node { int data; struct Node* next;};void printList(struct Node* head) { while (head ..._printf函数输出链表

梯形图能代替c语言,PLC今后会被单片机代替吗?梯形图变成高级语言?-程序员宅基地

文章浏览阅读643次。plc今后会被单片机代替吗?梯形图变成高级语言?如今用的PLC叫做可编程控制器,简称应该是PC,由于跟个人电脑叫法重叠,因此现在依然保持原来的叫法PLC。以前它不叫可编程控制器,起初叫做可编程逻辑控制器,主要是进行了逻辑控制。后面的可编程控制器,是由于采用了单片机或微机作为中央处理器,因此在具备逻辑控制的基础上,又具备了模拟量控制、运动控制、数据处理、通信联网等功能。过程生产自动化控制方面,在已经..._plc编程只会梯形图会不会被淘汰

python字典循环遍历_详解python中字典的循环遍历的两种方式-程序员宅基地

文章浏览阅读214次。开发中经常会用到对于字典、列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式。注意: python2和python3中,下面两种方法都是通用的。1. 只对键的遍历一个简单的for语句就能循环字典的所有键,就像处理序列一样:d = {'name1' : 'pythontab', 'name2' : '.', 'nam..._如果要遍历字典d中的每一个元素的键和值,则可以使用的for

随便推点

黑马程序员————c语言基本知识——数据,标识符,常量,变量,printf ,scanf等基本知识_想把输入的值赋值给变量 scanf-程序员宅基地

文章浏览阅读785次。------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------分类:ios学习笔记 一.数据类型: 1.基本类型(整型、字符型、浮点型、枚举类型), 2.构造类型(数组类型,结构体类型,共用体类型), 3.指针类型, 4.空类型二.标示符: 只能由字母、数字或下划线组成。且第一个不能为数字_想把输入的值赋值给变量 scanf

【第一趴】初探uni-app(uni-app发行者、uni-app推出背景、为什么选择uni-app)_uniapp是谁开发的-程序员宅基地

文章浏览阅读4.2w次,点赞44次,收藏34次。聚沙成塔——每天进步一点点,大家好我是几何心凉,不难发现越来越多的前端招聘JD中都加入了uni-app 这一项,它也已经成为前端开发者不可或缺的一项技能了,所以凉哥为大家推出聚沙成塔【45天玩转uni-app】专栏,帮助大家对 uni-app 进行学习和理解,uni-app可以通过一套代码多端发行,相信你掌握本语言后无论是毕设还是求职项目都可以说是锦上添花,妥妥加分项;快来订阅专栏跟着凉哥一起来感受 uni-app 为开发者带来的劲感吧!_uniapp是谁开发的

“通用”设计的五个问题-程序员宅基地

文章浏览阅读204次。过去,我采访过潜在客户 ,这些客户要求我提供具有“通用吸引力”的设计。 从表面上看,我完全理解了他们的担忧: 他们不想让任何潜在的客户在设计方面过于“陌生”。 这是一个合法的欲望(我让他们知道),但它也是愚蠢的(我不要让他们知道 )。 这些客户正遭受着我本人以及可能是大多数刚起步的设计师曾经遭受的疾病的困扰: 渴望吸引所有人 。 让这些潜在客户滥用不良的营销策略并不是我的工作。 我的工作是..._通用类问题

c语言出现错误怎么修正,c语言问题,哪里错,如何修正-程序员宅基地

文章浏览阅读511次。c语言问题,哪里错,如何修正答案:2信息版本:手机版解决时间 2019-10-03 10:59已解决2019-10-03 02:15# include int main(){void action1(int ,int ),action2(int,int);char ch;int a ,b;ch = getchar();a = 12,b = 13;switch(ch){case'a':case'..._c语言修正

CMU_CSAPP_LAB3_ATTACKLAB_csapp实验三attacklab实验目的-程序员宅基地

文章浏览阅读1k次。本实验要仔细阅读对应的 write up ,上面给了大量的提示信息,主要是介绍两种攻击方式,分两部分,第一部分的方式对于现代计算机已经基本无效了,第二部分的方式过程比较繁杂,不过原理还是很容易理解的。实验的主要目的还是熟悉计算机的程序控制方式、函数栈帧的结构,以及熟练使用 dbg 和 objdump 工具进行调试。本文讲解较少,可参照其他博客,有一些写的很好,附图讲解,思路清晰。本文对实验..._csapp实验三attacklab实验目的

如何在Ubuntu Server 11.10上安装GitLab_bundle exec rake db:setup rails_env=production (in-程序员宅基地

文章浏览阅读1.2k次。debian上的可以参考:http://blog.phusion.nl/2012/04/21/tutorial-setting-up-gitlab-on-debian-6/http://www.tuicool.com/articles/ZJ7rqy原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http:/_bundle exec rake db:setup rails_env=production (in /data/apps/gitlab) rake a