TeX 无法识别 Pygments 在 minted 中的使用

TeX 无法识别 Pygments 在 minted 中的使用

先介绍一下背景:我对 LaTeX 还不太熟悉,我用它写作业已经 3 年了,仅此而已。我用它写本科论文是因为这是系里的要求,作为论文的一部分,我编写了一个 Python 程序。我的导师希望我把程序的完整代码作为论文的附录。由于我个人在阅读未突出显示的代码时遇到很多麻烦,因此我尝试使用 minted 包直接从 .py 文件导入代码并添加突出显示。

我遇到的第一个障碍是,我最初是在 ShareLaTeX 中完成我的论文,因此为了使用 Pygments(根据我的研究,我了解到它是允许 minted 突出显示代码的 Python 包),我不得不切换到离线应用程序,因为 ShareLaTeX 不支持离线应用程序。我花了几个小时安装和配置 TeXStudio,以便我的论文能够真正构建,最后我完成了大部分工作——除了导入 .py 文件!

我发现,当我\small{\inputminted[linenos]{python}{../../../example-file.py}}在文档中注释掉导入 .py 文件的行时,一切都运行顺利,但是当我保留该行时,它将开始构建文档,有时将文档其余部分的警告放入日志中,然后停止运行,永远无法完成。我说的“永远无法完成”是指它一直尝试构建它,并且永远不会抛出任何错误。

我尝试将完全相同的文件导入空白文档,结果得到了与原始错误消息完全相同的错误消息,这让我最终得出结论,我首先需要切换到离线编辑器,说我缺少 Pygments。顺便说一下,这是在安装 Pygments for Python 之后。

这是引发错误的测试文件:

\documentclass{report}
\usepackage{minted}

\begin{document}

\small{\inputminted[linenos]{python}{example-file.py}}

\end{document}

以下是错误消息的屏幕截图:

关于 Pygments 的错误信息

我怎样才能导入我的 Python 文件?

答案1

该错误是因为它在后台minted运行,而要做到这一点,就需要编译器能够访问 shell。pygments

错误信息很清楚:

软件包 minted 错误:您必须使用 -shell-escape 标志调用 LaTeX。

因此你必须运行,例如:

pdflatex -shell-escape my_document.tex

相关内容