无法使用 pygment 高亮代码来显示源代码

无法使用 pygment 高亮代码来显示源代码

我选择该包pygmentex来在 LaTeX 中突出显示我的源代码。我test.tex使用以下命令进行编译:

xelatex -shell-escape test.tex

但它不起作用,PDF 上没有代码。

\documentclass{article}
\usepackage{pygmentex}
\begin{document}
    Hello World
    \begin{pygmented}[lang=c++]
#include<cstdio>
int main(){
    printf("Hello World");
return 0;
}
    \end{pygmented}
\end{document}

答案1

正如包装手册,包会生成一个文件,您必须在此文件上.snippets运行外部程序。对于 LaTeX 运行,该标志不是必需的。pygmentex-shell-escape

手册相关部分(第 1 页底部):

编译文档时(pdflatex例如,使用 ),文档中的所有源代码列表将被收集并保存在一个临时文件中,.snippets其名称的扩展名为 。然后,应运行辅助程序pygmentex(与 PygmenTEX 包一起分发的 Python 应用程序),将此文件作为输入。它将生成另一个扩展名为 的临时文件.pygmented,其中包含先前收集的代码列表的 LATEX 代码。下次编译文档时,它们将被包含在内以生成最终的排版文档。

因此,对于示例,您可以使用以下编译序列:

xelatex test.tex
pygmentex test.snippets
xelatex test.tex

结果:

在此处输入图片描述

相关内容