LuaLaTeX 未被识别为 VS Code 工具

LuaLaTeX 未被识别为 VS Code 工具

我一直在尝试使用 VS Code 作为我的 LaTeX 编辑器,因为它不仅具备 Atom 的所有功能,而且还有更多功能,一旦扩展LaTeX 工作坊已安装。我唯一的抱怨是,我似乎无法使用 LuaLaTeX 作为编译器来编译任何东西。以下内容适用于真正了解 VSCode 中设置应该如何工作的人(因为我肯定不知道)。

我已将以下设置添加到文件中,该文件在打开settings.json时在 VSCode 内的选项卡中打开:USER SETTINGS

{   
    "latex-workshop.view.pdf.viewer": "browser",
    "latex-workshop.latex.clean.onFailBuild.enabled": true,
    "latex-workshop.latex.recipes": [
        {
            "name": "lualatex->biber->lualatex",
            "tools": [
                "lualatex",
                "biber",
                "lualatex"
            ]
        },
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ]
}

设置本身似乎输入正确,因为我收到错误Skipping undefined tool "lualatex" in recipe "lualatex->biber->lualatex", Source: LaTeX Workshop (Extension)。这表明编辑器能够解析设置,但无法找到lualatex

默认设置使用latexmk似乎有效,但pdflatex默认情况下使用。我在 Ubuntu 上运行“正常”的 TeXLive 安装,因此 LuaLaTeX 应该可用。

有没有人遇到过类似的问题?如果是,如何解决?

编辑:

LuaLaTeX 确实可用,因为lualatex --version在终端网络中运行:

This is LuaTeX, Version 1.07.0 (TeX Live 2018)

Execute  'luatex --credits'  for credits and version details.

There is NO warranty. Redistribution of this software is covered by
the terms of the GNU General Public License, version 2 or (at your option)
any later version. For more information about these matters, see the file
named COPYING and the LuaTeX source.

LuaTeX is Copyright 2018 Taco Hoekwater and the LuaTeX Team.

答案1

问题是我没有在 VS Code 用户设置文件中lualatex定义工具。bibersettings.json

为了使文件正常工作,上述文件中应包含以下条目:

    "latex-workshop.latex.recipes": [
        {
            "name": "lualatex->biber->lualatex",
            "tools": [
                "lualatex",
                "biber",
                "lualatex"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "lualatex",
            "command": "lualatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOC%"
            ]
        },
        {
            "name": "biber",
            "command": "biber",
            "args": [
                "%DOCFILE%"
            ]
        }
    ]

答案2

我认为你应该把它改成

    "name": "lualatex->biber->lualatex x2",
    "tools": [
        "lualatex",
        "biber",
        "lualatex",
        "lualatex"
    ]

如果你不想要 biber,你可以简单地将其删除,如下所示

    {
            "name": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        },
{
            "name": "lualatex",
            "tools": [
                "lualatex",
            ]
        },

我真的不明白为什么,但我看到几篇帖子提到,由于 biber 编译 (?) 文档,可能会混淆关键字之类的内容。我想,只要使其类似于“pdfLatex x2”就行了。嘿,你应该知道这只是一个更正。评论中有人向我指出了这一点。所以,请前往 JouleV 来阐明这一点。你应该遵循 OP 的答案。我遇到困难的一点是访问 settings.json。为了打开 settings.json,首先,你必须转到设置并在栏中输入类似于“workshop ui”的内容。然后你可以更改设置。哦,顺便说一下,在 Workshop > Editor 选项卡下有一个复选框,可让你将代码拆分为两个版本。其中一个是默认版本,它是只读的,另一个是 settings.json 的可编辑版本。复选框的名称类似于“拆分代码”。

相关内容