鸽了好久以后终于是回来了,并且换上了 MacBook air。我之前一直是在 Overleaf 上使用 Latex 来写论文的,这种方法确实好用,不需要本地额外下载体积庞大的 Latex 本体,也不用把各种配置写出来,一键运行还能同步协作。但是有时候 Overleaf 的编译速度还是不尽人意的,尤其是经过漫长的等待发现因为网站的问题导致的编译超时,在屏幕前的我只能尴尬地等待。而且现在版本更新了,进入了大模型时代,AI 的协作写作越来越成为高效生产力的一环。但是很显然我是没钱用 Overleaf 的 AI 功能的,毕竟 Overleaf 的 AI 功能是收费的。
于是针对现在使用 Overleaf 的痛点,在配环境的时候突然想在 Vscode 上做一些 Latex 插件的拓展,这样我就可以借助本地的 Latex 编译速度来提高效率,使用 Copilot 进行 AI 写作,同时又可以与 Overleaf 进行同步。
LaTeX 本地安装
# LaTeX 本体安装
首先需要下载 LaTeX 本体,可以直接去 MacTeX 官网下载最新版的 MacTeX,安装包大概 6GB 左右,下载好以后默认安装即可。
安装完成以后,打开终端输入 tex --version
来检查是否安装成功,如果显示版本号则说明安装成功。
# LaTeX 插件安装
之后来到 Vscode,安装 LaTeX Workshop 插件,这个插件可以提供 LaTeX 的编译、预览等功能。我们如果只想在本地运行 LaTeX 的话,这个插件就足够了。
按下快捷键:
macOS:Cmd + Shift + P
Windows/Linux:Ctrl + Shift + P
输入:
Preferences: Open User Settings (JSON)
回车,直接打开 settings.json 文件
在里面添加下面内容:
"editor.wordWrap": "on",
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.showContextMenu": true,
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
],
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.synctex.gz", "*.bcf", "*.run.xml", "*.nav", "*.snm", "*.vrb"
],
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
"editor.unicodeHighlight.allowedLocales": {
"zh-hans": true,
"zh-hant": true
},
"[latex]": {
"editor.defaultFormatter": "James-Yu.latex-workshop"
},
之后安装 Ultra Math Preview 插件,这个插件可以提供 LaTeX 的数学公式预览功能。
到这一步其实我们本地 LaTeX 的配置基本上就大功告成了,只需要打开.tex 文件,右上点击运行按钮,或者按下 Cmd + Option + B
(Mac)或 Ctrl + Alt + B
(Windows/Linux)就可以编译预览了。
不过我设定了保存时自动编译,只要保存就会自动编译预览,基本上可以做到实时预览,非常流畅的体验。
Overleaf 同步
# Overleaf Workshop 插件安装
接下来我们将本地的 LaTeX 文件与 Overleaf 进行同步,需要下载插件 Overleaf Workshop
现在完成后在左侧打开 overleaf 图标,点击左上角 + 号,进行配置,提示输入 overleaf 的网址 https://www.overleaf.com 这里直接回车
出现 overleaf 的网址后点击右上角登入,点击"Login with Cookies",在输入框中输入 Cookies 即可。
# Overleaf Cookies 获取
关于 Cookies 的获取方法,我们直接来到 Overleaf 首页,按 F12 进入开发人员工具,点击 网络 , 一两秒后进行刷新(F5),左上角查询 project ,然后点击 project,找到 Cookie,并且 仅复制 over_session2 开头的一段,这就是我们需要的 Cookie。
# 实现同步功能
成功连接上后,在左侧 Overleaf Workshop 中找到我们创建好的项目,右键选择本地打开(Open Project Locally …)
这时会在本地创建一个文件夹,自己选定好文件夹的位置,里面包含了该 Overleaf 项目的所有文件。这个文件夹中的所有内容都会与 Overleaf 自动同步,我们只需要在本地使用 Vscode 编辑文件,在本地中编译快速预览,保存后就会自动上传到 Overleaf。
总结
使用这种方式我们真正做到了既要又要,既拥有丰富的 Vscode 插件生态与 Copilot 协作,高速的编译,又能享受 Overleaf 的云端协作和同步功能。尽情享受高效的 LaTeX 写作体验吧!