0%

LaTeX 学习笔记(一)——使用 minted 包高亮代码

参考:

LaTeX 中可以使用listing宏包来排版代码块,但是需要对代码的颜色进行手动设置。minted包能够自动对代码进行高亮,使用更为简单。

预先准备

由于 minted 包调用了 python 中的 pygments 模块,因此首先需要安装 python 环境并把 python 的目录加入系统的环境变量中。之后使用 pip 安装 pygments 模块:

1
pip install pygments

另外,还需要在 LaTeX 的编译命令中加入 -shell-escape参数。

使用方法

使用以下方法进行导入:

1
\usepackge{minted}

使用行内代码时的语法:

1
\mintinline{language}{code}

使用行间代码块的语法:

1
2
3
\begin{minted}{language}
code
\end{minted}

1
\mint{language}|code|

配置 minted 输出选项

创建代码环境时,可以配置输出格式:

1
2
3
\begin{minted}[configure]{language}
code
\end{minted}

也可以在开头设置整体格式:

1
\setminted{configure}

具体可设置的选项可以查阅 minted 包的文档

注意事项

minted 在设置背景颜色colorbg的时候会出现一个 bug,需要添加以下代码解决:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
%% fix the minted@colorbg environment
\makeatletter
\renewenvironment{minted@colorbg}[1]
{\def\minted@bgcol{#1}%
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
{\end{minipage}%
\end{lrbox}%
\setlength{\topsep}{\bigskipamount}% set the vertical space
\trivlist\item\relax % ensure going to a new line
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}%
\endtrivlist % close the trivlist
}
\makeatother