Zotero+VSCode+LaTeX打造个性化论文环境

vscode中各种插件琳琅满目,有当下爆火的ChatGPT;有各种翻译,字典插件,比如deepl翻译,grammarly语法检查等等;可以用live-share来协作编辑,还能给你的论文引入git版本管理。本文将介绍如何在vscode中使用LaTeX,包含各种插件推荐,LaTeX小技巧,以及与Zotero的联动,顺带推荐一波Zotero插件和论文多平台同步的方案。

环境配置

本文推荐在Linux中配置LaTeX环境,Windows直接安装TeX Live即可。之所以推荐Linux,是因为LaTeX在Linux下的编译速度更快。

以某100页论文为例,Windows下编译需要26秒左右,而WSL或Linux实机下只需要10秒左右。注意如果使用WSL 2的话,文件推荐放在WSL2的Linux文件系统中,而不是Windows的文件系统中,因为WSL 2的文件性能比较差,比WSL 1差多了。

在 WSL 1 中,跨 Windows 和 Linux 操作系统的文件性能比 WSL 2 中更快,因此如果要使用 Windows 应用程序来访问 Linux 文件,则目前通过 WSL 1 可实现更快的性能。Ref: 比较 WSL 版本

Tex Live请忽略以下推荐安装。

推荐安装:latexmk, pdflatex, xelatex, bibtex, biber, xdvipdfmx,

可选安装:
SumatraPDF, pandoc

Zotero

插件

  • Better BibTex for Zotero 带来更多bibtex和biblatex导出选项,最有用的还是自动更新bib文件的功能。
  • DOI Manager:doi管理器,可以批量获取doi。
  • Jasminum 提供了对中文文献更佳的支持,可以开启自动拉取知网元数据。
  • Sci-Hub Plugin for Zotero 不多解释
  • ZotFile Zotero在硬盘中存储文件时,文件名均为编码后的字符串,使用ZotFile可以将文件名改为作者+年份+标题的形式,方便查找。
  • Zotero PDF Translate 可以配置各家翻译api,如deepl,google,百度等等。
  • 最后不要忘了zotero的浏览器插件,网页上点一下就可以直接导入元数据到zotero中,同时配合上文的scihub插件,下论文贼方便。

知网文献的下载与导入

如果想自行下载知网pdf的话,推荐使用油猴脚本中国知网CNKI硕博论文PDF下载,直接下载PDF,避开CAJ。

在Zetoro的茉莉花Jasminum插件中,设置好PDFtk路径,就可以在导入知网pdf的时候,自动从知网获取目录信息,并且写入到pdf中。

Better BibTex的中文分词

在导出中文文献的citation key的时候,Better BibTex分词的结果不是很理想,推荐使用jieba分词,可以在Better BibTex的设置-Citation key formula中配置记得打开Enable 'jieba/pinyin' filters in citekeey patterns选项。

如下代表了作者的姓+标题第一个词+年份的形式。更多规则请参考Zotero better bibtex citing

1
auth.fold.capitalize + "_" + Title.jieba.skipwords.capitalize.select(1,1).nopunct + "_" + year

同步方案

尽管Zotero自带同步功能,然而由于Zotero的同步服务器在国外,同步速度很慢,并且免费版只有300MB空间,顶多就同步元数据。

因此我使用Zotfile + 坚果云的方式同步。方案如下:

  1. Zotero的同步分为两种:一是元数据,即文献的作者,摘要,日期,期刊等等信息,即下图中的数据同步;二是论文文档本身,即下图中的文件同步。这里我们要关闭Zotero自带的文件同步,如下:
    Zotero同步设置-1

前面提到Zotero的同步分为两种:一是数据同步;二是文件同步。其中数据包括了文件的路径。假设我们已经关闭的文件同步,而现在有一论文路径是D:\Documents\Zotero\Attachments\tom_and_jerry_sig2023.pdf,那么这个文件不会被同步,但是这个文件的路径信息会被同步,因此在其他电脑上,这个文件的路径信息就会变成D:\Documents\Zotero\Attachments\tom_and_jerry_sig2023.pdf,而这个文件在其他电脑上不存在,因此会出现文件丢失的情况。因此我们需要设置相对路径存储。

  1. 配置/查看Zotero的数据目录,记得改成相对路径存储,根目录推荐设为Zotero数据目录的父目录(注意修改数据目录后需可能需要手动移动文件到新目录),如下图所示:

Zotero数据目录

这个时候,我们的论文路径就变成了相对于数据目录的相对路径./Zotero/Attachments/tom_and_jerry_sig2023.pdf,在其他电脑上,只要存在./Zotero/Attachments/tom_and_jerry_sig2023.pdf,就可以正常打开。

  1. 如上图,我的数据目录是D:\Documents\Zotero。接着打开Zotero菜单栏-Tools-ZotFile Preferences,在ZotFile选项卡中,将Source Folder for Attaching New Files设置为{数据目录}/storage,将Location of Files设置为{数据目录}/Attachments,如下:
    ZotFile Preferences

Source Folder for Attaching New Files表示ZotFile会从这个目录下搜索原始的pdf文件,并且按照Renaming Rules自动重命名,将文件保存于Location of Files中,最后自动设定新的文件路径替换原有旧路径到Zotero。

经过以上三步,现在Zotero的文件存储路径已经变成了相对路径,而且ZotFile会自动将原始的pdf文件重命名并移动到Location of Files中。这个时候,只要另外一台电脑的Zotero开启了同步数据,并且将Attachments文件夹拷贝到新电脑上,就可以正常打开论文了。

这里我使用坚果云来同步Attachments文件夹(自然,百度云什么也可以)。这样,只要坚果云同步成功,就可以在任何一台电脑上正常打开论文了。

VSCode

插件

snippets

公式

latexlive.com

图表制作

tikz

drawio

plantuml

excalidraw

作者

Yida

发布于

2023-03-27

更新于

2023-03-28

许可协议

评论