最新zotero与obsidian笔记联动教程(可代替citations和mdnotes)

2023-05-16

最新zotero与obsidian笔记联动教程(可代替citations和mdnotes)

  • 一、联动原理
  • 二、插件配置
    • 1、zotero-better-bibtex
    • 2、Bibnotes Formatter
    • 3、MarkDBConnect
  • 三、zotero与Obsidian联动

网上有很多关于zotero与obsidian联动的教程,大都使用better bibtex和citations进行联动,但在将笔记导入obsidian后在zotero中更新数据之后需要重新导入,经过一天折腾终于找到一个最新的插件可完全代替citations。(本文适用于习惯使用markdown做笔记的同学)。

一、联动原理

在这里插入图片描述
zotero通过Better-BibTeX软件生成JSON文件导入至Obsidian文件目录,Obsidian插件Bibnotes Formatter读取JSON文件信息在用户命令下生成指定文献的md格式笔记,笔记中包含有{{localLabraryLink}}(zotero中文献条目链接)和{{file}}(zoterp中文献pdf链接)可以从Obsidian中直接打开zotero查看文献,而zotero通过MarkDBConnect插件搜索Obsidian中的@{{citeKey}}格式文件名将zotero中的文献条目与Obsidian中的文献笔记关联实现联动。

二、插件配置

所需插件:

  • zotero-better-bibtex (zotero插件)
  • Bibnotes Formatter(obsidian插件)
  • MarkDBConnect(zotero插件)

安装配置步骤如下:

1、zotero-better-bibtex

(1)下载.xpi插件
方式一:官网下载
在这里插入图片描述
方式二:
github下载慢的话可以从我提供的蓝奏云下载:

下载:https://wwd.lanzouj.com/iKBkb05zflli
密码:25io

(2) 安装该插件
安装步骤与其他zotero插件的安装方式一致,不会安装的可以参考我另一篇博客。

(3) 配置zotero-better-bibtex
①设置 Citation keys
Citation keys用于后面obsidian笔记的命名和zotero和obsidian的联动,可以自己设置格式,这里设置为[auth:lower]([year])-[shorttitle1_0:lower](作者姓氏小写(年份)- 标题的第一个单词小写)
[shorttitleN_M:lower]:取标题前N个单词,前M个大写
在这里插入图片描述
②设置哪些字段不导出
在这里插入图片描述
③其余保持默认设置即可,到此该插件配置完成

2、Bibnotes Formatter

(1)下载插件
方式一:官网下载
在这里插入图片描述
方式二:
github下载慢的话可以从我提供的蓝奏云下载:

下载:https://wwd.lanzouj.com/iZPG005zfl8f
密码:awp5

(2)安装此插件(和obsidian安装插件的方式相同)
①解压缩.zip文件
②将解压缩后的文件复制到obsidian文件根目录下隐藏文件夹”.obsidian“中的”plugins“文件夹下
在这里插入图片描述

③重启obsidian并打开插件(注意关闭”安全模式“)
在这里插入图片描述
(3)配置此插件
①在zotero中导出.json文件
在 Zotero 的主菜单中,点击”文件“ -> ”导出文献库“(导出整个库)。
在这里插入图片描述
②选择导出格式为”BetterBibTeX JSON“,选择”导出笔记“和”Keep updated“(导出文件会使JSON文件很大,因此不勾选,为在添加/删除/修改条目后自动更新导出的库,需要勾选”Keep updated“)
在这里插入图片描述
③将JSON文件保存至obsidian的目录中(我将其保存在存放obsidian保存文献笔记的目录)
导出的文献信息可以在Better BibTeX的设置中查看和更改。
在这里插入图片描述

④将步骤③中的保存路径填写到下图序号1所在的路径中,其余的配置可参照下图,需要注意的是序号3处一定要增加@,因为在MarkDBConnect插件中设置是使用@{{citeKey}}来索引笔记的
在这里插入图片描述
⑤第四步中选择自定义模板后有默认的一套模板,但其中无效字段较多,可以参考我改进的模板

# {{title}}

## Metadata
- **CiteKey**: {{citekey}}
 - **Type**: {{itemType}}
 - **Title**: {{title}}, 
 - **Author**: {{author}}, 
 - **Year**: {{year}} ;
- **Journal**: {{publicationTitle}}, 
- **Pages**: {{pages}}
- **Publisher**: {{publisher}},
- **Location**: {{place}},
- **DOI**: {{DOI}}
------


## Files and Links
- **Url**: [Open online]({{url}})
- **zotero entry**: {{localLibrary}}
- **open pdf**: {{file}}

- **Keywords**: {{keywordsAll}}

## Abstract
{{abstractNote}}

----

## Comments
{{UserNotes}}


----

## Extracted Annotations
{{PDFNotes}}
****



## Summary

  
## Research Objective(s)


## Background / Problem Statement


## Method(s)


## Evaluation


## Conclusion


## Notes

⑥Bibnotes Formatter插件默认使用电脑自带的PDF阅读器打开PDF文件,因此需要对插件做一定的修改。打开插件文件中的main.js文件,找到其中的createLocalFileLink()函数,用下面的代码替换

function createLocalFileLink(reference2) {
  if (reference2.attachments.length == 0)
    return "{{localFile}}";
  const filesList = [];
  for (let attachmentindex = 0; attachmentindex < reference2.attachments.length; attachmentindex++) {
    if (reference2.attachments[attachmentindex].itemType !== "attachment")
      continue;
    // if (reference2.attachments[attachmentindex].path == void 0) {
    //   reference2.attachments[attachmentindex].path = "";
    // }
    // const attachmentPathCorrected = reference2.attachments[attachmentindex].path.replaceAll(" ", "%20");
    // const selectedfile = "[" + reference2.attachments[attachmentindex].title + "](file://" + attachmentPathCorrected + ")";
    if (reference2.attachments[attachmentindex].uri == void 0) {
      reference2.attachments[attachmentindex].uri = "";
    }
    const selectedfileUri = reference2.attachments[attachmentindex].uri
    const attachmentKey = selectedfileUri.split('/')[selectedfileUri.split('/').length - 1]
    selectedfile = "[" + reference2.attachments[attachmentindex].title + "](zotero://select/library/items/" + attachmentKey + ")";
    if (reference2.attachments[attachmentindex].title.endsWith('pdf')) {
      selectedfile = selectedfile.replaceAll("zotero://select/","zotero://open-pdf/");
    }
    filesList.push(selectedfile);
  }
  const filesListString = filesList.join("; ");
  return filesListString;
}

在这里插入图片描述
若觉得修改比较麻烦可以直接下载我修改后的main.js文件替换插件文件夹下的main.js文件。

下载:https://wwd.lanzouj.com/iZ9IH05zp2gj
密码:8ib6

⑦其他的配置默认即可,若想要自己修改可参考官网的使用说明。

3、MarkDBConnect

(1)下载.xpi插件
方式一:官网下载
在这里插入图片描述

方式二:
github下载慢的话可以从我提供的蓝奏云下载:

下载:https://wwd.lanzouj.com/ibygo05zflob
密码:gx9u

(2)安装插件过程就不再赘述
(3)配置插件
①依次点击zotero菜单栏的“工具”->“MarkDBConnect Preferences”进入配置页面
在这里插入图片描述
②设置文献保存路径(要填写Bibnotes Formatter配置中设置的文献笔记保存路径,填写的路径如下黑色背景图中所示)
在这里插入图片描述

在这里插入图片描述

③其他保持默认设置即可,至此该插件安装完成,所有插件也都配置完成。

三、zotero与Obsidian联动

1、打开obsidian软件,按下ctrl+P调出命令面板,输入bib,选择下图红框所示命令,之后选择自己想要阅读的文献。
在这里插入图片描述
在这里插入图片描述

该插件在 Obsidian 中有两个命令:

Update Library:当您选择此命令时,插件将生成/更新自上次选择同一命令以来从 Zotero 修改的所有笔记。如果第一次选择此命令,则插件将为导入的参考书目中的所有条目创建/更新文献信息。

Create/Update Literature Note:当选择此命令时,系统将提示您从已导入的库中选择参考文献之一。如果在指定文件夹中尚未导入该文献笔记,则会根据之前设置的模板生成新的笔记。如果笔记已经存在,其内容将被更新而不会覆盖现有笔记(例如,从 Obsidian 中手动添加的笔记和块引用不会被覆盖)。可以选择第一个选项(“整个库”)来创建/更新导入库中的所有笔记。

2、按照上述方法操作会在设置的文献笔记保存路径下生成一个名为@{{citeKey}}的md文件,如下图所示,在此文件中会自动提取你在zotero自带阅读器中所做的笔记
在这里插入图片描述
3、使用MarkDBConnect插件将zotero文献链接到obsidian中的笔记文件
(1)依次点击zotero菜单栏中的”工具“->“MarkDBConnect Sync Tags”,若设置正确插件会自动找到步骤2中的md笔记文件并与之关联
在这里插入图片描述
(2)关联以后即可从zotero中打开obsidian中生成的文献笔记(右击关联了文献笔记的文献条目)
在这里插入图片描述

(3)在阅读完一篇论文后可能会在论文中做许多标记,此时右击”从注释中添加笔记“会将pdf中做的笔记和高亮部分提取出来
在这里插入图片描述
(3)导出笔记后在obsidian中运行再次运行Create/Update Literature Note命令即可将更改的信息全部更新至obsidian文献笔记中,不会覆盖前一次的笔记,同时也会记录每一次的阅读笔记,当然也可以在阅读完文献以后再生成阅读笔记,此过程可反复操作,至此zotero和Obsidian的联动就完成了,可以很方便地在两个软件中快速实现切换。

zotero的常用插件配置可以参考我这篇博客:文献管理软件Zotero配置及常用插件安装使用

参考:

1、Zotero 插件 Bibtex for Zotero 介绍和安装
2、科研文献阅读——Zotero和Obsidian联动最优解决方案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最新zotero与obsidian笔记联动教程(可代替citations和mdnotes) 的相关文章

  • 表格td实现可编辑

    html xff08 elementUi中的表格 xff0c 传入位置和当前值 xff09 methods xff08 生成input xff0c 将当前输入的value值等于当前单元格的值 xff09 handleChangeCorrec
  • vue开发实例

    1 利用三元表达式实现对元素样式动态赋值 2 vue中 实现点击下载图片
  • Elementui 踩过的坑

    select下拉框 这个是Elementui 官网 Select选择器的基础用法 xff0c 现在想要更改它本身自带的默认样式 lt template gt lt el select v model 61 34 value 34 place
  • WSL2图形化界面踩坑记录

    问题 xff1a 启动xfce4时 xff0c 报错 xff1a xfsm manager load session Something wrong with home shenshiyi cache sessions xfce4 sess
  • CSP M1-A 咕咕东的奇遇

    题意 xff1a 字母a z首尾相接成环 xff0c 开始时指针指向a xff0c 圆环可以顺时针或者逆时针旋转 xff0c 给定一个字符串 xff0c 计算旋转依次得到该字符串的每一个字符最少需要转多少格 Input 一个字符串 长度 l
  • pycharm的python库在哪?pip下载的文件放在哪?一个方法,都能找到

    1 打开cmd命令行 2 标题输入pip install xxx库 xff08 1 xff09 如果没下载过 xff0c 那么将正常下载 xff08 2 xff09 若下载过了 xff0c 就会显示你下载的目录 这个目录 c users x
  • 数据库面试知识点

    1 事务及其四个特性 事务是用户定义的一个操作序列 xff0c 这些操作要么全做要么全不做 xff0c 是一个不可分割的工作单位 事务四个特性 xff1a 原子性 一致性 隔离性和持续性 原子性 xff1a 事物中包括的操作要么都做 xff
  • 第六次模拟测试-6

    题目描述 xff1a 石头剪刀布是常见的猜拳游戏 石头胜剪刀 xff0c 剪刀胜布 xff0c 布胜石头 如果两个人出拳一样 xff0c 则不分胜负 一天 xff0c 小A和小B正好在玩石头剪刀布 已知他们的出拳都是有周期性规律的 xff0
  • kali linux教程:配置 Kali 的 apt 命令在线安装包的源为阿里云

    配置 apt 国内源 因为 Kali 自带的源是国外的 xff0c 经常会因为网络问题 xff0c 而无法安装戒更新软件包 而且国外的源速度很慢 所以我们直接使用国内的源 xff0c 方便快速 点击终端按钮戒者右键桌面选择 open in
  • 相关分析和回归分析

    1 相关分析 相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法 例如 xff0c 人的身高和体重之间 xff1b 空气中的相对湿度与降雨量之间的相关关系都是相关分析研究的问题 2 回归分析 相关分析与回归分析之间
  • Linux(Debian)下快速安装JDK

    Linux下快速安装JDK 一 前言 linux系统的debain发行版本 博主使用电脑mac 二 Linux系统下载jdk 1 下载JDK上传到linux系统 1 下载jdk版本到自己电脑上 JDK下载地址 下载JDK的Oracle账号
  • LINK1104 无法打开文件“libboost_atomic-vc142-mt-gd-x64-1_76.lib”

    问题描述 LNK1104 无法打开文件 libboost atomic vc142 mt gd x64 1 76 lib 可能原因 xff1a 相应的包没有安装 xff0c 可以再电脑上搜一下 xff0c 是否搜索到 xff0c 如果搜索到
  • Could not get JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException异常处理

    org springframework jdbc CannotGetJdbcConnectionException Could not get JDBC Connection nested exception is java sql SQL
  • s5p6818裸机-irq中断

    前言 本次学习的目的是通过按按键触发按键中断 xff0c 调用相关的中断服务函数 xff0c 实现蜂鸣器鸣响 通过裸机学习能使自己对SoC的运行环境 xff0c 开发环境有更好的了解 软件实现流程 1 xff09 在start S启动汇编中
  • linux——问题汇总记录

    1 安装安装包的时候 xff0c 遇见没有签名的错误 xff0c 错误内容如下 xff1a 正在验证 kylin software center 4 5 61kylin amd64 deb debsig Origin Signature c
  • 数据成功插入数据库,前端页面却实现404错误 POST http://127.0.0.1:8080/user/register 404 ()

    今天通过mui ajax向数据库传数据 xff0c 但是每次前端页面都会报错 xff0c 但是数据却成功传入数据库中 xff0c 昨晚上弄了很久最后终于解决 解决办法 xff1a 在后台controller里面的相关代码上加一个 64 Re
  • WebService案例实例

    WebService案例实例 前言 xff1a 由于工作需要 xff0c 写一个接口 xff0c 返回xml信息 供其他服务调用 最初使用python 43 flask框架 xff0c 能够返回出正确的xml信息 xff0c 似乎调用这个接
  • 在SolidWorks中装配使用标准件时,在打开后标准件不见了怎么办?

    项目场景 xff1a SolidWorks中含有许多的标准件 xff0c 有时候我们需要对这些标准件进行一定的修改才可以符合我们的需求 xff0c 但有时候出行一些问题 问题描述 xff1a 许多人在使用SolidWorks自带的工具箱中的
  • 第十三周作业-必做2

    题目描述 xff1a 在你们的帮助下 xff0c TT 轻松地完成了上一个神秘任务 但是令人没有想到的是 xff0c 几天后 xff0c TT 再次遇到了那个神秘人 而这一次 xff0c 神秘人决定加大难度 xff0c 并许诺 TT xff
  • 安装Math Type后,打开Word后没有找到怎么办?

    安装Math Type后 xff0c 打开Word后没有找到怎么办 xff1f 在成功安装Math Type后 xff0c 有时候打开Word后发现并未发现该插件 xff0c 这是因为相关文件并没有自动生成在相应的文件夹中 xff0c 需要

随机推荐