通过 XeTeX 中的包加载的字体在 polyglossia 或 babel 上的表现不同

通过 XeTeX 中的包加载的字体在 polyglossia 或 babel 上的表现不同

首先,我知道我不应该使用babel在 XeTeX 中,但是这个奇怪的问题困扰着我。

这是我在 Overleaf 上创建的 MWE:

\documentclass{article}

\usepackage{fontspec}

\iftrue
    \usepackage{polyglossia}
    \setdefaultlanguage{english}
\else
    \usepackage[english]{babel}
\fi

\usepackage[default]{sourcesanspro}

\begin{document}
\section*{This is a section title}
And this is a body text.
\end{document}

因为我给了选择defaultsourcesanspro,我期望它能应用于整个文档。然而,我得到的结果是: 多语.png 因此,字体仅应用于节标题,而不是正文。

现在,让我们停用polyglossia并激活babel通过将第 5 行从 更改\iftrue\iffalse。然后我得到: 巴别塔 (Babel) 可以看出字体已应用于两者。

一开始我以为这是sourcesanspro,但现在我甚至不知道原因是什么。我还没有检查这是否是 Overleaf 特有的问题;因此,仅供参考,以下是应用 Overleaf 时上述 MWE 的链接多语或者巴别塔

请问有什么线索可以解决此问题吗?

答案1

sourcesanspro包重置\familydefault,但没有\rmdefault

\documentclass{article}

\usepackage{fontspec}

\iftrue 
    \usepackage{polyglossia}
    \setdefaultlanguage{english}
\else
    \usepackage[english]{babel}
\fi

\usepackage[default]{sourcesanspro}
\edef\rmdefault{\sfdefault} % this is missing in sourcesanspro

\begin{document}
\section*{This is a section title}
And this is a body text.
\end{document}

在此处输入图片描述

相关内容