使用 mathspec 設定字形間距

使用 mathspec 設定字形間距

我正在使用在最近的 Windows 機器上找到的 Calibri 字體包xelatexmathspec用於排版斜體字元的字體規格適用於文本,但不適用於數學;字形經常發生衝突。

使用mathspec,可以在數學模式下在字元前面添加 來"增加其間距。下圖中的字元是使用排版的

$f(x)$, $"f(x)$, $f'(x)$, $"f'(x)$, $e^{jx}$,$"e^{"jx}$.

在此輸入影像描述

雖然當人們只需要不經常使用它時,它就可以很好地工作,但對於很長的文件來說,它會變得乏味。有沒有辦法始終使用這種校正後的間距,而無需手動在字母表的每個字元前面加上"

答案1

「真正的」數學字體,例如可以與 一起使用的字體unicode-math,具有專為數學字體量身定制的字形。

例如與

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

\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}

\begin{document}

\textit{f} $f(x)$

\end{document}

第二個「f」使用的字元是拉丁現代數學中的 U+1D453 數學斜體小 F,其形狀與斜體「f」(第一個)相同,但側軸承和其他公制參數不同。

如果您使用mathspec,請說

\documentclass{article}
\usepackage{mathspec}

\setmainfont{Hoefler Text}
\setmathfont(Latin){Hoefler Text}

\begin{document}

\textit{f} $f(x)$ $"f(x)$

\end{document}

你得到

在此輸入影像描述

該包盡力獲得不錯的輸出,但使用不是專門為數學字體設計的字形與 TeX 數學模式的規則發生衝突,特別是當字母傾斜時。

因此,這個"f伎倆是「必要之惡」。您會發現,在某些情況下您需要它,而在其他情況下則不需要:它取決於取自不同字體的相鄰字元對。和unicode-math 相同的字體是用的,但這不是主要方面;相關事實是數學字母具有特殊參數。

相關內容