在 XeLaTeX 下使用 cmbright 处理 unicode 文本

在 XeLaTeX 下使用 cmbright 处理 unicode 文本

XeLaTeX 一直是我首选的 LaTeX 引擎,因为它可以直接处理 Unicode(UTF-8 编码)文本。我知道\usepackage[utf8]{inputenc}其他引擎也可以做到这一点,但在我看来,XeLaTeX 的处理方式更统一,更少黑客行为;我也很喜欢它使用 OpenType 字体的能力。

现在,在新文档中,我选择使用 Computer Modern Bright via,\usepackage{cmbright}但发现无法通过直接输入 Unicode 来访问字符。这意味着“---”可以工作,但“—”不行,“\´a”与“á”等也是如此。起初我认为这是因为我没有加载fontspec,而且确实,只要我加载包,unicode 就可以工作——只是不能用 Computer Modern Bright。如果我fontspec在之前加载cmbright,我会得到 Latin Modern Roman,如果在之后加载:Latin Modern Sans。

有什么方法可以让它工作吗?

答案1

使用字体的开放类型版本:

\documentclass{article}
\usepackage{fontspec}
\setmainfont[ItalicFont=CMU Bright Oblique]{CMU Bright}
\begin{document}
abc  \itshape abc

\end{document}

相关内容