我正在使用在最近的 Windows 機器上找到的 Calibri 字體包xelatex
。mathspec
用於排版斜體字元的字體規格適用於文本,但不適用於數學;字形經常發生衝突。
使用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
相同的字體是用的,但這不是主要方面;相關事實是數學字母具有特殊參數。