如何使用 TeX Gyre Termes 在 f 和右括号之间全局添加字距调整?

如何使用 TeX Gyre Termes 在 f 和右括号之间全局添加字距调整?

我使用 TeX Gyre Termes 作为文本字体。在第二级枚举中,在与字母 f 对应的标签中,字母的上环接触右括号的上端,如图所示。 在此处输入图片描述

如何在字母 f 和右括号之间全局添加字距以避免这种影响?我赞成可以与标准 latex 或 pdflatex 一起使用的解决方案。

编辑:这是重现该情况的代码。


\documentclass{article}
\usepackage{tgtermes}
\begin{document}
\begin{enumerate}
\item This is level 1.
\begin{enumerate}
\item This is level 2.
\item B
\item C
\item D
\item E
\item F
\end{enumerate}
\end{enumerate}
\end{document}

答案1

这确实是 TeX Gyre Termes 指标中的一个严重错误。请注意,OpenType 版本也存在同样的问题。还有newtxtext(使用 Times New Roman 的另一个克隆版本)

您至少可以通过重新定义来避免该问题\labelitemii

\documentclass{article}
\usepackage{tgtermes}

\renewcommand{\labelenumii}{(\theenumii\/)} % add the italic correction

\begin{document}
\begin{enumerate}
\item \begin{enumerate}% go to the second level
\setcounter{enumii}{5}% print just the f item
\item x
\end{enumerate}
\end{enumerate}

\end{document}

在此处输入图片描述

事实上,TeX 发行版中所有可用的 Times New Roman 克隆都存在同样的问题。在 Computer Modern 的 TFM 文件中,我们发现(精简版)

(LIGTABLE
   (LABEL C f)
   (KRN O 51 R 0.077779)

这意味着 Computer Modern 在“f”和闭括号(ASCII 八进制 '51)之间应用了小的字距调整。

rm-qtmr字体(OT1编码下的TeX Gyre Termes,但对于T1编码来说也是相同的ec-qtmr)具有针对“f”的广泛字距调整表,但缺少右括号。

newtxtext和使用的字体也发生了同样的事情mathptmx

应该让字体包的维护人员知道这个错误。在 Computer Modern 的情况下,字距调整很小,因为“f”的下降在边界框之外并不多。Times New Roman 需要更大的字距调整,其中下降突出更多,但字体没有定义。

答案2

以下是一条评论,但由于我没有声誉点,因此我不允许发布。我以开发人员的代理身份写信,他们对所讨论的问题是 TeX Gyre Termes 中的一个错误(引用)持以下立场:

TeX Gyre Termes 是 Times 字体的扩展和替代。Adobe Times 和 Times New Roman 都没有在“f”和“parenright”之间设置字距。在许多字体(以及所有 Times 类字体)中,这些字符相互接触。只有少数字体(例如 Computer Modern 或 Lucida Bright)在“f”和“parenright”之间设置了字距。因此,这更像是字体功能而不是错误。

相关内容