我正在尝试使用该包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
。也就是说,内联设置的优先级始终高于常规设置。