TeX Gyre Pagella Math 中的字母 f

TeX Gyre Pagella Math 中的字母 f

我正在使用 LuaLaTeX 编译以下文档。

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}

\begin{document}

\begin{equation}
  \partial_x f(u),
  \quad
  \partial_j f^j(u),
  \quad
  uf
  \quad
  \partial_x u,
  \quad
  \partial_j u
  \quad
  q_j+q_f
\end{equation}

\end{document}

输出

之前的间距f似乎非常奇怪:符号\partial和的索引f重叠。我可以在数学模式下以某种方式增加前面的间距f,而不改变 的每一个外观f吗?

答案1

正如您所发现的,TeX Gyre Pagella Math可能还没有为黄金时段做好准备。我建议您加载newpxtextnewpxmath包——它们在 LuaLaTeX 下工作得很好。

在此处输入图片描述

\documentclass{scrbook}
\usepackage{mathtools} % optional
\usepackage[no-math]{fontspec}
\usepackage{newpxtext,newpxmath}
\begin{document}

\begin{equation}
  \partial_x f(u),
  \quad
  \partial_j f^j(u),
  \quad
  uf
  \quad
  \partial_x u,
  \quad
  \partial_j u
  \quad
  q_j+q_f
\end{equation}

\end{document}

答案2

人们可以修补字体,但它也会影响较小的尺寸(下标),而且找到好的值并不容易:

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{unicode-math}

\usepackage{luacode}

\begin{luacode}

local patch_pagellamath = function (fontdata)
 if fontdata.psname == "TeXGyrePagellaMath-Regular"
 then
 fontdata.characters[119891]["width"]=314380.16 -- 364380.16
 fontdata.characters[119891]["commands"]={
{ 'right', 100000 },{'font',0},{ 'char', 119891 }}
 end
end



luatexbase.add_to_callback
 (
  "luaotfload.patch_font",
  patch_pagellamath,
  "change_pagellamath"
 )
\end{luacode}

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

\begin{document}



\begin{equation}
  \partial_x f(u),
  \quad
  \partial_j f^j(u),
  \quad
  uf
  \quad
  \partial_x u,
  \quad
  \partial_j u
  \quad
  q_j+q_f
\end{equation}

\end{document}

在此处输入图片描述

答案3

这不是最好的解决方案...只是一个修复,而且我不会接受它,因为它似乎是该字体的一个错误。

我的建议是使用Asana Math... 它确实非常接近,我认为它们的创建者无法识别它们(如果不是只有一个创建者)。您也可以在我的(不推荐的)修复中看到它,它在数学命令中重新定义了 j。

\documentclass{scrbook}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}


\def\f{\,f}
\begin{document}


Confirming the same problem for: TeX Gyre Termes Math , 
TeX Gyre Bonum Math. Seems ok: TeX Gyre Schola Math, STIX Math 
and Latin Modern Math. And the good news for the end: Asana Math is
almost the same font without that problem. Test it! 


\setmainfont{Asana-Math}\selectfont $Non$ TeX Gyre Pagella Test f 

\setmainfont{TeX Gyre Pagella}\selectfont $\phantom{Non}$ TeX Gyre Pagella Test f 

\setmathfont{Asana Math}\selectfont
\begin{equation}
  \partial_x f(u),
  \quad
  \partial_j f^j(u),
  \quad
  uf
  \quad
  \partial_x u,
  \quad
  \partial_j u
  \quad
  q_j+q_f
\end{equation}

\setmathfont{TeX Gyre Pagella Math}\selectfont
\begin{equation}
  \partial_x \f(u),
  \quad
  \partial_j \f^j(u),
  \quad
  u\f 
  \quad
  \partial_x u,
  \quad
  \partial_j u
  \quad
  q_j+q_{f}%Here no space needed
\end{equation}

\end{document}

输出:

在此处输入图片描述

相关内容