前言

LaTeX插入代码并设置高亮中,使用mintedlistings 为代码块添加了高亮。但许多等宽字体都包含连字(Ligature)特性,可以增强代码的可读性,视觉效果更好。那如何在代码块里也开启连字特性呢?

这里安利Maple Mono字体,对中文显示极其友好,完美的中英文2:1比例,还支持Nerd Font。我已经将所有等宽字体都换成Maple Mono Normal NF CN了。

修改样式

首先要确保使用了fontspec宏包:\RequirePackage{fontspec}

接着指定等宽字体,并添加:

1
2
3
4
5
6
7
8
9
10
\setmonofont[
AutoFakeBold=true,
ItalicFont=MapleItalic, % 指定斜体字体
Contextuals = Alternate, % 开启连字
Ligatures = Common, % liga
CharacterVariant={1,62,63}, % cv特性
StylisticSet={3,11}, % ss特性
Extension = .ttf,
Path=fonts/
]{Maple}

随后重新编译就可以了!

经过测试,verbatim环境下一切正常,listings环境下仅有部分连字生效,原因不明。

verbatim环境