vscode使用docker版的texlive

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、可編譯運行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容