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 + 坚果云的方式同步。方案如下:
- Zotero的同步分为两种:一是元数据,即文献的作者,摘要,日期,期刊等等信息,即下图中的数据同步;二是论文文档本身,即下图中的文件同步。这里我们要关闭Zotero自带的文件同步,如下:
前面提到Zotero的同步分为两种:一是数据同步;二是文件同步。其中数据包括了文件的路径。假设我们已经关闭的文件同步,而现在有一论文路径是D:\Documents\Zotero\Attachments\tom_and_jerry_sig2023.pdf
,那么这个文件不会被同步,但是这个文件的路径信息会被同步,因此在其他电脑上,这个文件的路径信息就会变成D:\Documents\Zotero\Attachments\tom_and_jerry_sig2023.pdf
,而这个文件在其他电脑上不存在,因此会出现文件丢失的情况。因此我们需要设置相对路径存储。
- 配置/查看Zotero的数据目录,记得改成相对路径存储,根目录推荐设为Zotero数据目录的父目录(注意修改数据目录后需可能需要手动移动文件到新目录),如下图所示:
这个时候,我们的论文路径就变成了相对于数据目录的相对路径./Zotero/Attachments/tom_and_jerry_sig2023.pdf
,在其他电脑上,只要存在./Zotero/Attachments/tom_and_jerry_sig2023.pdf
,就可以正常打开。
- 如上图,我的数据目录是
D:\Documents\Zotero
。接着打开Zotero菜单栏-Tools-ZotFile Preferences
,在ZotFile
选项卡中,将Source Folder for Attaching New Files
设置为{数据目录}/storage
,将Location of Files
设置为{数据目录}/Attachments
,如下:
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
Zotero+VSCode+LaTeX打造个性化论文环境
http://blog.mchook.cn/2023/03/27/Zotero+VSCode+LaTeX打造个性化论文环境/