为什么使用 XeLaTeX 时我的字体不总是 Fira Sans?

为什么使用 XeLaTeX 时我的字体不总是 Fira Sans?

我想使用 Fira Sans 作为主要字体,因为它具有出色的数学支持,但我也想使用其他字体,这就是为什么我想使用带有 fontspec 包的 XeLaTeX。但是,它似乎会在这里和那里更改字体,我不知道为什么。

以下是 MWE:

\documentclass[]{article}

\usepackage[T1]{fontenc}
\usepackage[sfdefault]{FiraSans}
\usepackage{newtxsf}

\begin{document}

Writing numbers 12345 in line and in $12345$ math mode using the font Fira Sans.\\

Some math:
\begin{align*}
\lim_{n \to \infty} \sum_{k=0}^4 a_0 q^k
\end{align*}

\end{document}

使用 LaTeX: 在此处输入图片描述

使用 XeLaTeX: 在此处输入图片描述

答案1

在 XeTeX 上,该Firasans包会加载,这会以与 不符的方式fontspec设置字体。这是该包中的一个错误。\mathrmsfdefaultFiraSans

一种解决方案是使用现代 OpenType 字体fontsetup(其中加载了 Fira Math unicode-math):

\documentclass[]{article}

\usepackage[fira]{fontsetup}

\begin{document}

Writing numbers 12345 in line and in $12345$ math mode using the font Fira Sans.\\

Some math:
\begin{align*}
\lim_{n \to \infty} \sum_{k=0}^4 a_0 q^k
\end{align*}

\end{document}

Fira Math 示例

我建议您在可以的情况下使用 OpenType 字体,在必须的情况下使用传统的 8 位软件包。

如果您想将旧的数学字体与 Fira Sans 一起使用,则可以在加载之前关闭 的重新定义\mathrm,该重新定义用作 的运算符字体:\limfontspecFiraSans

\documentclass[]{article}

\PassOptionsToPackage{no-math}{fontspec}
\usepackage[sfdefault]{FiraSans}
\usepackage{newtxsf}

\begin{document}

Writing numbers 12345 in line and in $12345$ math mode using the font Fira Sans.\\

Some math:
\begin{align*}
\lim_{n \to \infty} \sum_{k=0}^4 a_0 q^k
\end{align*}

\end{document}

Fira Sans + newtxsf 示例

您也可以\mathrm随后使用 进行修复\setmathrm,正如\usepackage[sfdefault]{FiraSans]应该做的那样。

\documentclass[]{article}

\usepackage[sfdefault]{FiraSans}
\setmathrm{Fira Sans}
\usepackage{newtxsf}

\begin{document}

Writing numbers 12345 in line and in $12345$ math mode using the font Fira Sans.\\

Some math:
\begin{align*}
\lim_{n \to \infty} \sum_{k=0}^4 a_0 q^k
\end{align*}

\end{document}

Fira Sans + newtxsf 示例

相关内容