以下 mwe 显示了我所面临的问题:
\documentclass{article}
\usepackage{minted}
\begin{document}
\usemintedstyle{tango}
\begin{minted}{matlab}
function test()
i = 1;
j = 1;
end
\end{minted}
\usemintedstyle{emacs}
\begin{minted}{matlab}
function test()
i = 1;
j = 1;
end
\end{minted}
\end{document}
可以清楚地看到,使用 tango 样式的函数中第一行缩进不正确。我相当确定这个问题与 minted 有关,与 pygmentize 没有直接关系,因为我检查了 HTML 文件的输出,它似乎没问题。该问题仅发生在函数关键字之后,并且仅出现在 tango 主题中(根据我的测试)。添加空格(即括号后的空格或关键字和第一行之间的空行)似乎无法解决问题。此外,使用空格代替制表符进行缩进不会改变输出(假设制表符大小等于空格数)。
我面临的另一个问题是,在具有多个返回值的函数定义之后,出现了这个错误。mwe 可以轻松扩展以产生以下输出:
其中红色框是完全不需要的。然而,这与 pygmentize 直接相关,因为屏幕截图是从 HTML 输出中截取的。不过,还是很感激能得到帮助。
这里有什么问题?
答案1
问题似乎在 2.11.2 Pygments 版本中得到修复。因此解决方案是升级 Pygments python 包。命令:
pip install --user --upgrade Pygments