\setminted 和 \setmintedinline 命令互相干扰?

\setminted 和 \setmintedinline 命令互相干扰?

我正在尝试使用该包minted生成包含与语言无关的内联代码和与语言相关的块代码(列表)的文档。这是一个最小的工作示例:

\documentclass[a4paper, 12pt]{article}

\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{minted}

\setmonofont{Courier New}
\definecolor{bg}{rgb}{0.85, 0.85, 0.85}
\setmintedinline{bgcolor=bg}
\setminted{bgcolor=bg, gobble=9, linenos}

\begin{document}


    This is some code \mintinline{text}{x = 3}.

    \begin{listing}[H]
        \begin{minted}{python}
            def print_hello():
                print("hello")
        \end{minted}
        \caption{test}
        \label{test}
    \end{listing}

    \clearpage
\end{document}

生成的文档正确格式化了块代码,但未显示内联代码。如果我注释第 10 行,则会显示内联代码,但我的块代码不再按我想要的方式格式化。

我正在使用 texlive 在 Powershell 中使用以下命令进行编译:

latexmk -lualatex --shell-escape test.tex

需要--shell-escape才能minted正常工作。

有人知道如何为整个文档设置内联格式和代码块格式吗?谢谢。

答案1

我刚刚发现了这个问题。这是因为我正在使用的gobble似乎\setminted也适用于\setmintedinline。奇怪的是,因为在文档中提到了以下内容:

所有用 指定的设置\setmintedinline都会覆盖用 设置的设置\setminted。也就是说,内联设置的优先级始终高于常规设置。

相关内容