在 Beamer 中将 setmonofont 与 Bera Sans Mono 结合使用会产生乱码输出

在 Beamer 中将 setmonofont 与 Bera Sans Mono 结合使用会产生乱码输出

我使用 Bera Sans Mono 作为等宽字体来使用该listings包排版代码列表。这是为使用和 XeLaTeX 制作的幻灯片完成的beamer。我的序言包括以下内容(在最近更新 MikTeX 引擎、fontspec 包和上述包之前可以使用):

\usepackage{fontspec}
\setmonofont{Bera Sans Mono}[Scale=0.9] % for code listings beramono is used
\newfontfamily\quotefont{Linux Libertine O}[Ligatures=TeX] % selects Libertine for quotation marks

产生的输出是: 乱码清单

如果我不使用\setmonofont而改用以下前言,则会产生正确的输出:

\usepackage{fontspec}
\usepackage[scaled]{beramono}
\usepackage[T1]{fontenc}
\newfontfamily\quotefont{Linux Libertine O}[Ligatures=TeX] % selects Libertine for quotation marks

正确的代码清单

为什么我无法使用\setmonofont{Bera Sans Mono}[Scale=0.9](以前可以用)?

另外需要注意的几点:

  1. XeLaTeX 能够找到字体
  2. \setmonofont似乎可以与其他字体正常配合,但不能与 Bera Sans Mono 配合使用。

答案1

没有 opentype 字体Bera Sans Mono,xelatex 找到了正常的 type1 版本,并且由于它不是 unicode 编码的,所以你会得到垃圾。

引用 CTAN 信息(http://www.ctan.org/pkg/bera

Bera 系列是 Bitstream Vera 系列的重新包装,可与 TEX 一起使用。

因此,使用 xelatex 时你应该使用

\setmonofont{Bitstream Vera Sans Mono}

相关内容