答案1
显然,nxlmi
字体在尺寸 10 和 5 处有错误的字形,而在尺寸 7 处有正确的字形。
在字体级别修复该问题之前,您可以通过告诉 LaTeX 从其他字体中获取“g”来解决这个问题。
\documentclass{article}
\usepackage{mathtools,amssymb}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\DeclareSymbolFont{libertineg}{\encodingdefault}{\familydefault}{m}{it}
\SetSymbolFont{libertineg}{bold}{\encodingdefault}{\familydefault}{b}{it}
\DeclareMathSymbol{g}{\mathalpha}{libertineg}{`g}
\begin{document}
\[g \ \mu_g \ A_{\mu_g}\ \textit{g}\]
\end{document}
如果想要“变体 g”,那就更复杂一些:我们只需要在脚本样式时缩小文本样式“g”。
\documentclass{article}
\usepackage{mathtools,amssymb}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{xfp,graphicx}
\newcommand{\fixg}{{%
\mathchoice
{\normalg}% displaystyle
{\normalg}% textstyle
{\scaledg}% scriptstyle
{\normalg}% scriptscriptstyle
}}
\makeatletter
\newcommand{\scaledg}{%
\scalebox{\fpeval{\sf@size/\f@size}}{$\m@th\normalg$}%
}
\begingroup\lccode`~=`g \lowercase{\endgroup\let~\fixg}
\edef\normalg{\mathchar\the\mathcode`g }
\AtBeginDocument{\mathcode`g="8000 }
\begin{document}
\[g \ \mu_g \ A_{\mu_g}\]
\end{document}