1、vscode要安裝好dev container,要在docker中拉取texlive
2、在tex項目中新建.devcontainer文件夾,下面新建devcontainer.json加入一下內(nèi)容:
{
// 給你的開發(fā)環(huán)境起個名字
"name": "LaTeX",
// 指定我們使用官方最新的完整版 TeX Live
"image": "texlive/texlive:latest",
// 它把你當(dāng)前的項目文件夾映射到容器 /workdir 目錄
"workspaceMount": "source=${localWorkspaceFolder},target=/workdir,type=bind",
"workspaceFolder": "/workdir",
// 定制化:在容器里自動安裝好用的 LaTeX 擴展
"customizations": {
"vscode": {
"extensions": [
"james-yu.latex-workshop"
]
}
},
// 當(dāng)你關(guān)閉 VS Code 時,自動把這個容器關(guān)掉以節(jié)省資源
"shutdownAction": "stopContainer"
}
3、在tex項目中新建.vscode文件夾,下面新建settings.json加入一下內(nèi)容:
{
// ================ LaTeX Workshop 配置 (Docker 優(yōu)化版) ================
// --- 1. 定義編譯工具 ---
// 我們主要使用 latexmk,它能自動處理參考文獻和多次編譯,非常智能。
"latex-workshop.latex.tools": [
{
"name": "latexmk-xelatex",
"command": "latexmk",
"args": [
"-xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-outdir=%OUTDIR%", // 將輸出文件放入 outDir 指定的目錄
"%DOC%"
]
}
],
// --- 2. 定義編譯方案 (Recipe) ---
// 一個方案就是一組工具的調(diào)用順序。
"latex-workshop.latex.recipes": [
{
"name": "latexmk (xelatex)",
"tools": [
"latexmk-xelatex"
]
}
],
// --- 3. 指定默認的編譯方案 ---
// 點擊綠色播放按鈕時,默認就執(zhí)行這個方案。
"latex-workshop.latex.recipe.default": "latexmk (xelatex)",
// --- 4. 個人工作流與習(xí)慣配置 ---
// a. 保存文件時,自動觸發(fā)編譯
"latex-workshop.latex.autoBuild.onSave.enabled": true,
// b. 設(shè)置編譯輸出目錄,保持根目錄干凈
"latex-workshop.latex.outDir": "./build",
// c. 設(shè)置編譯后清理臨時文件的時機 ("never"表示從不自動清理)
"latex-workshop.latex.autoClean.run": "never",
// d. 在 VS Code 的新標(biāo)簽頁中預(yù)覽 PDF
"latex-workshop.view.pdf.viewer": "tab",
// e. 定義 "Clean" 命令需要清理的文件類型
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof",
"*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.glg",
"*.glo", "*.gls", "*.ist", "*.fls", "*.fdb_latexmk",
"*.synctex.gz", "*.xdv", "*.abs"
]
}
4、command + shift + P 打開打開命令面板,選擇 Dev Containers: Reopen in Container
5、可編譯運行