Zotero 文献管理
XiaO / 2021-12-26
想来甚是神奇,自己居然能这样子走到今天,我指的是我的文献管理。与其说是管理,不如说是放任不管。一则,文献资料与日俱增,多如牛毛,浩如烟海,譬如论文,譬如网页;二来,一直没有一个好的对其归类存储且便于查找的方式。为了解决长时间累积文献而忘记的问题,一直以来都采用短时间内集中阅读写稿的模式。然而,这也常让自己有种劫后余生的感觉。故而,有时候会自嘲,自己患上了懒癌。但我也清楚,无非是没找到一件利器。
Zotero
- 免费开源;
- 丰富的插件提供诸多功能,譬如文献信息与文献附件可分开关联存储、标记、书签、笔记导出、文献附件自动下载、可多设备同步文献附件满足不同场景阅读等。
brew install --cask zotero
Zotero 插件
-
Better BibTeX for Zotero:在 LaTeX / (R)Markdown 写作 时:
- 设置具有可读性的 Citation Key format:
auth.lower +'_'+ shorttitle(1,1).lower + '_'+year
。设置完毕后,记得更新 citation key,以便在下次插入引用时候生效。否则,插入的 citation key 依旧会显示为原来的样子。 - Pin BibTex Key: 生成引文 Key 后,将其固定,数据有更新后,key 也不会发生变化;
- 手动导出
.bib
引文数据,并插入 RMarkdown 的 YAML Header 部分使用;
--- title: 'Zotero 文献管理' author: 'XiaO' date: '2021-12-26' ## A bib file which is generated by Zotero bibliography: ref.bib ---
- 设置具有可读性的 Citation Key format:
-
Zotero DOI Manager: 检索和验证文献的 DOI;
-
Zotero Scihub: 自动从 sci-hub 下载文献附件;
-
Zotero Citation Counts Manager: 自动获取不同来源的引文数据;
-
ZotFile: 附件管理神器:
- 自动将 所监测的文件夹 中新增的文献附件重命名并添加到所设置的 文献附件存储文件夹 中;
- 根据 Zotero 元数据批量重命名和移动文献附件到 文献附件存储文件夹 中;
- 提取 pdf 注释;
- 个人将 文献附件存储文件夹 设置于某个同步网盘中,然后在其它设备上通过 webDAV 与网盘交互,如此即可在其它场景下阅读文献附件,所添加的注释则一并同步到 Zotero 条目中;
-
scite-zotero: 查看文献收到的支持或争议性引文数量;
-
Zutilo Utility for Zotero: 提供额外的编辑功能;
R 包
- bibliometrix,使用 bibliometrix 将从 wos 下载的 bib 数据中的 DOI 提取出来。
if(require(bibliometrix)) {
M <- convert2df(file = "path/to/data/.../.bib", dbsource = "isi", format = "bibtex")
}
if(require(tidyverse)) {
DOI <-
as.data.frame(M$DI) %>%
rename(dois = "M$DI") %>%
drop_na() %>%
mutate(dois = paste("https://sci.bban.top/pdf/", dois, ".pdf", sep=""))
write.csv(DOI, file = "path/to/data/.../dois.csv")
}
# 安装 rbbt 包
remotes::install_github("paleolimbot/rbbt")
# 在 RStudio 顶端 Tools 菜单中,选择 Modify Keyboard Shortcuts,添加引文插入快捷键
# 将如下代码插入 knitr 初始化设置部分,以 bib 格式自动导出当前文档中的引文数据
# 注意须更改文件路径
# Collect cited reference from current RMarkdown file into references.bib file
rbbt::bbt_write_bib("path/to/ref.bib",
rbbt::bbt_detect_citations("ms.Rmd"),
overwrite = TRUE)
OCRmyPDF
OCRmyPDF 可为 pdf 扫描件添加可读取层。
brew install ocrmypdf
ocrmypdf -l eng+chi_sim --force-ocr input.pdf output.pdf