在 XeLaTex 中使用 cmbright 进行数学和文本

在 XeLaTex 中使用 cmbright 进行数学和文本

我想使用 XeTex 并使用 Sans Serif 字体来处理数学和文本。使用时cmbright我总是收到警告消息。

\documentclass[12pt, a4paper]{article}

\usepackage{cmbright}       %CMU Bright for math
\usepackage{fontspec}
\setsansfont{cmunb}[        %CMU Bright for text
    Extension=.otf,
    UprightFont=*mr,
    ItalicFont=*mo,
    BoldFont=*sr, % semibold
    BoldItalicFont=*so, % semibold oblique
    ]

\begin{document}
 % I get 2 warnings:
 % Warning: cmbright.sty
 % LaTeX Font Warning: Font shape `TU/cmbr/m/n' undefined (Font) using `TU/lmr/m/n' instead on input line 144.
 % Warning: root.tex
 % LaTeX Font Warning: Some font shapes were not available, defaults substituted.
\end{document}

答案1

您可以通过更改软件包的加载顺序并为 sans 字体提供 cmbright 使用的系列名称来消除警告。

\documentclass[12pt, a4paper]{article}

\usepackage[no-math]{fontspec}
\setsansfont{cmunb}[        %CMU Bright for text
    Extension=.otf,
    UprightFont=*mr,
    ItalicFont=*mo,
    BoldFont=*sr, % semibold
    BoldItalicFont=*so, % semibold oblique
    NFSSFamily=cmbr
    ]   

\usepackage{cmbright}       %CMU Bright for math

% as cmbright sets \ttdefault to cmtl either:
%\setmonofont{whatever}[NFSSFamily=cmtl]
% or
%\renewcommand{\ttdefault}{lmtt} 

\begin{document}
abc $a=b$
\end{document}

但如果 cmbright 不发出\normalfont命令,那自然会更简单。它看起来没什么用。

相关内容