Overleaf 迁移本地TexLive+vscode+latexWorkshop

Overleaf 迁移本地TexLive+vscode+latexWorkshop

Overleaf很好用,但由于网络问题/服务维护偶尔不可用,且免费用户编译较慢并有时限。

因此记录如下步骤作为备用构建方案。

准备Texlive环境

请自行安装texlive、latexmk,以及你的文章中使用的各种宏包,此处不再赘述。

linux/macos请使用系统包管理器,Windows推荐安装MSYS2,然后使用内置的pacman包管理器安装texlive和latexmk。

(注意对于arch系发行版,texlive的宏包也是用pacman管理的,不要用手动的tlmgr install,例如ieeetran包是在pacman -S texlive-publishers

保存latexmkrc

根据overleaf的官方编译文档,overleaf使用latexmk进行构建自动化,文档同时给出了一个默认latexmk脚本。

另外文档中给出了一个模板项目链接,编译该模板后可以获取最新的overleaf用于编译的latexMk。(也可从github仓库获取,但社区版有些不同)。

用任意方式获取这个文件,放在下载的latex项目中,并重命名为.latexmkrc,不带点号也可以。

根据latexmk manual,如果你希望对所有项目都适用,则可以存放到系统位置:

  • 对于windows, 请保存为C:\latexmk下名为LatexMk的文件
  • 对于UNIX,保存为$HOME/.latexmkrc,如果Windows上设置了$HOME环境变量也适用。
  • 或者,保存到任意你喜欢的位置,并在后面的所有latexmk命令后增加参数 -r /path/to/your/latexmkrc

命令行latexmk构建

下载解压你的overleaf项目,然后在项目目录下执行(假设使用pdflatex,根文件为main.tex):

1
2
3
4
5
latexmk -pdflatex main.tex
#清理文件(保留pdf)
# latexmk -c
#清理文件(且删除pdf)
# latexmk -C

注意使用的引擎和文件名都不可省略。如果一切正常就能够生成与overleaf相同的pdf,并且速度要快许多,本来编译+传输需要好几秒,本地只需要0.07s,几乎瞬间。

vscode-latexworkshop

为了方便使用可以配置vscode使用latexworkshop插件

安装插件后找到设置项latex-workshop.latex.tools,点击在settings.json中编辑,这里提供了若干种可选的构建指令。

其中默认会有一个latexmk_rconly,在其中的args中的%DOC%前面加上你需要使用的引擎,例如-pdflatex,完成后像这样:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
"latex-workshop.latex.tools": [
    ...
    {
        "name": "latexmk_rconly",
        "command": "latexmk",
        "args": [
            "-pdflatex", // add this line
            "%DOC%"
        ],
        "env": {}
    },
    ...
]

此时激活main.tex,在latex workshop侧边栏的中的构建中点击 “配方:latexmk(latexmkrc)”就可以调用先前的latexmk命令编译生成pdf,不需要再输命令了。

建议把latex-workshop.latex.recipe.default改为lastUsed,这样编译一次后就可以点击上方的大构建按钮,或者快捷键,或者自动构建。

0%