数学模式下无衬线字体的奇怪现象

数学模式下无衬线字体的奇怪现象

我已经关注了 https://tex.stackexchange.com/a/385068/80468\sffamily建议让我能够在数学模式下 更改字体:

\DeclareMathVersion{sfmath}
\SetSymbolFont{letters}{sfmath}{OT1}{\sfdefault}{m}{n}
\xapptocmd{\sffamily}{\mathversion{sfmath}}{}{}

然而,这会产生一些奇怪的现象,尤其是使用小写希腊字符和句号时。事实上,句号被转换为冒号,因此

{\sffamily $a_1 \ldots a_n$}实际上打印出来就像我正在打字一样{\sffamily $a_1 ::: a_n$}

克服这个问题的最佳方法是什么?

编辑(最小工作示例)

\documentclass[american, hidelinks]{report}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xpatch}

% Math fonts.
\DeclareMathVersion{sfmath}
\SetSymbolFont{letters}{sfmath}{OT1}{\sfdefault}{m}{n}

\xapptocmd{\sffamily}{\mathversion{sfmath}}{}{}

\begin{document}

{\sffamily
\[
  a_1 \ldots a_n = \mathit{foo}
\]
}

\end{document}

给出

在此处输入图片描述

相关内容