Skip to main content
本文介绍如何使用 minted 宏包在 LaTeX 文档中格式化并高亮显示编程语言源代码。我们先来看一个示例:
该示例生成的输出如下:

展示 minted 宏包输出效果的示例

这里有两个重要的命令。在导言区中,通过以下语句导入该宏包
然后,标签 \begin{minted}{python} 和 \end{minted} 界定了一个环境,该环境以等宽字体逐字输出文本,并为注释、关键字和函数着色。参数 python 指定源代码所使用的编程语言。minted 支持 150 多种编程语言和标记语言以及配置文件,支持的语言列表请参见参考指南。 注意:要让 minted 在你的_本地_ LaTeX 发行版中正常工作,必须额外安装一个名为 Pygments 的程序。Overleaf 可以省去你安装它以及运行特殊命令来编译文档的麻烦——在 Overleaf 上,使用 minted 的文档可以”开箱即用”。

基本用法

如下例所示,可以对 minted 环境进行配置,以修改排版代码的视觉呈现。这里,minted 环境使用了若干以逗号分隔、形如 key=value 的参数:
该示例生成的输出如下:

对 minted 宏包排版的代码应用格式设置的示例

本例中使用的参数如下:
  • frame=lines:在代码的上方和下方各绘制一条线作为边框。其他可选值有 leftline、topline、bottomline 和 single。
  • framesep=2mm:将边框间距设置为 2mm。也可以使用其他长度单位。
  • baselinestretch=1.2:将代码的行距设置为 1.2。
  • bgcolor=LightGray:将背景颜色设置为 LightGray。需要导入 xcolor 宏包才能生效。要了解更多颜色操作,请参阅在 LaTeX 中使用颜色。
  • fontsize=\footnotesize:将字号设置为 footnotesize。也可以设置任何其他字号。
  • linenos:启用行号。
其他可能有用的选项包括:
  • mathescape:在代码注释中启用数学模式。
  • rulecolor:更改边框的颜色。
  • showspaces:使用特殊字符使空格可见。

从文件中引入代码

代码通常存储在源文件中,因此能够自动从文件导入代码的命令非常方便,如下例所示:
该示例生成的输出如下: 使用 minted 导入代码文件 命令 \inputminted{octave}{BitXorMatrix.m} 从文件 BitXorMatrix.m 导入代码,参数 octave 告诉 LaTeX 代码所使用的编程语言。该命令还可以接受两个额外参数,以便只导入文件的一部分;例如,要导入第 2 行到第 12 行的代码,命令如下:

单行代码

如果只需要输入一行代码,可以使用 \mint 命令,其语法如下例所示。
该示例生成的输出如下: 使用 minted 的单行代码示例 花括号中的参数设置编程语言(本例中为 html 标记语言),而实际要格式化的文本则由 ’|’ 字符界定。

自托管 Overleaf 中的问题

如果你使用沙盒编译并通过 Overleaf 服务器部署 Overleaf,minted 可能无法正常工作。详细信息请参见:issues/131。你需要启用 arm 指令配置文件以及部分系统调用,minted 才能正常工作。
最后修改于 2026年10月5日