vscode使用docker版的texlive

1、vscode要安装好dev container,要在docker中拉取texlive
2、在tex项目中新建.devcontainer文件夹,下面新建devcontainer.json加入一下内容:

{
    // 给你的开发环境起个名字
    "name": "LaTeX",

    // 指定我们使用官方最新的完整版 TeX Live
    "image": "texlive/texlive:latest",

    // 它把你当前的项目文件夹映射到容器 /workdir 目录
    "workspaceMount": "source=${localWorkspaceFolder},target=/workdir,type=bind",
    "workspaceFolder": "/workdir",

    // 定制化:在容器里自动安装好用的 LaTeX 扩展
    "customizations": {
        "vscode": {
            "extensions": [
                "james-yu.latex-workshop"
            ]
        }
    },

    // 当你关闭 VS Code 时,自动把这个容器关掉以节省资源
    "shutdownAction": "stopContainer"
}

3、在tex项目中新建.vscode文件夹,下面新建settings.json加入一下内容:

{
    // ================ LaTeX Workshop 配置 (Docker 优化版) ================

    // --- 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) ---
    // 一个方案就是一组工具的调用顺序。
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk (xelatex)",
            "tools": [
                "latexmk-xelatex"
            ]
        }
    ],

    // --- 3. 指定默认的编译方案 ---
    // 点击绿色播放按钮时,默认就执行这个方案。
    "latex-workshop.latex.recipe.default": "latexmk (xelatex)",

    // --- 4. 个人工作流与习惯配置 ---

    // a. 保存文件时,自动触发编译
    "latex-workshop.latex.autoBuild.onSave.enabled": true,

    // b. 设置编译输出目录,保持根目录干净
    "latex-workshop.latex.outDir": "./build",

    // c. 设置编译后清理临时文件的时机 ("never"表示从不自动清理)
    "latex-workshop.latex.autoClean.run": "never",

    // d. 在 VS Code 的新标签页中预览 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、可编译运行

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容