启用并创建“babelshorthands”后,polyglossia 出现问题:不再生成 .out.pyg 文件

启用并创建“babelshorthands”后,polyglossia 出现问题:不再生成 .out.pyg 文件

多年来,我一直在使用polyglossiaminted软件包与 XeLaTeX 和英文文本进行工作,没有任何问题。现在我必须用一些代码用德语编写一份文档,所以我想使用polyglossia和 软件包作为主要语言,并babelshorthands同时启用 和 软件包minted。当我尝试编译此文档时,.out.pyg文件未生成,XeLaTeX 会抛出错误。

如果我禁用,这个问题就会消失babelshorthands

请考虑以下 MWE:

\documentclass{article}

\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{german}

\usepackage{minted}

\begin{document}
    \begin{minted}{python}
        x = 1
    \end{minted}
\end{document}

上面的代码会抛出上述错误。现在babelshorthands=true从命令中删除选项\setmainlanguage

\documentclass{article}

\usepackage{polyglossia}
\setmainlanguage{german}

\usepackage{minted}

\begin{document}
    \begin{minted}{python}
        x = 1
    \end{minted}
\end{document}

现在该文档应该可以顺利编译。

这是一个错误还是我做错了什么polyglossiaminted

提前感谢您的支持。

答案1

babel和之间存在差异polyglossia(可能被认为是一个错误):前者使速记字符在 时处于活动状态\begin{document},而polyglossia则使它们立即处于活动状态。

由于内部宏的定义\minted@pygmentize包含",因此出现了问题。

解决方法:minted先加载polyglossia

相关内容