TeX Gyre Bonum 中字母和下标之间没有空格

TeX Gyre Bonum 中字母和下标之间没有空格

我正在使用 TeX Gyre Bonum 字体和 xetex,我发现字母和下标之间的间距非常小。在我看来,这让阅读变得更加困难。我该如何解决这个问题?

例如,请看下面示例中 XITS 和 TeX Gyre Bonum 之间的区别。在 Tex Gyre Bonum 中,j 位于 q 下方,难以阅读。

特克斯环流波纳姆

特克斯环流波纳姆

西安国际旅行社

XITS 图像

答案1

您可以从以下网址借用一些代码mtpro2.sty

\documentclass{article}
\usepackage{unicode-math}

\setmainfont{TeX Gyre Bonum}
\setmathfont{TeX Gyre Bonum Math}

\makeatletter
\AtBeginDocument{%
  \begingroup\lccode`~=`_ \lowercase{\endgroup\def~}{\futurelet\next\s@@b}%
  \mathcode`\_=\string"8000
  \catcode`_=12
}
\def\s@@b{\ifcat\relax\noexpand\next\expandafter\sb\else
 \expandafter\s@@b@\fi}
\def\s@@b@#1{\sb{\futurelet\next\sb@#1}}
\def\sb@{%
 \ifx\next\@sptoken\def\next@. {\futurelet\next\sb@}\else
  \def\next@.{%
   \ifx\next j\mkern\tw@ mu\else
   \ifx\next f\mkern\tw@ mu\else
   \fi\fi}%
 \fi
 \next@.}
\makeatother

\begin{document}

$q_j+q_f$

\end{document}

如果需要,可以按照相同的模式添加其他字距调整。

在此处输入图片描述

相关内容