无法在 LuaTeX 中将 polyglossia/babel 与 biblatex 一起使用:etoolbox 切换未定义

无法在 LuaTeX 中将 polyglossia/babel 与 biblatex 一起使用:etoolbox 切换未定义

这是一个示例test.tex文档。babel 和 polyglossia 都失败了,并产生相同的错误:

\documentclass{book}

%\usepackage[vietnamese]{babel}
\usepackage{polyglossia}
\setdefaultlanguage{vietnamese}

\usepackage{biblatex}


\title{Sth}

\begin{document}

\maketitle

\end{document}

这是完整日志。我的 VS Code 配置如下:

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

我安装了使用找到的所有与越南语相关的软件包tlmgr search,尤其是 babel-vietnamese 和 vntex,但无济于事。

当我使用英语时,它可以正常工作。当我将确切的文档粘贴到 Overleaf 时,它也能正常工作。所以这是我的问题。我该如何解决这个问题?

答案1

这是 v3.15 和 v3.15a 中的一个错误,biblatexhttps://github.com/plk/biblatex/issues/945

biblatex该问题已于 2020-12-31 起在 v3.16 中修复。

如果仍然遇到此问题,请更新您的系统。


如果你被困在biblatex无法更新的旧版本中,那么旧答案

现在,您可以手动定义可能使用的未定义的切换(在您的情况下为后备emglish和为vietnamese)。

\documentclass{book}

%\usepackage[vietnamese]{babel}
\usepackage{polyglossia}
\setdefaultlanguage{vietnamese}

\usepackage{biblatex}

\providetoggle{blx@lang@captions@english}
\providetoggle{blx@lang@captions@vietnamese}

\title{Sth}

\begin{document}

\maketitle

\end{document}

相关内容