次の例では、単純な下付き文字で異なる「g」が示されます。
\documentclass{article}
\usepackage{mathtools,amssymb}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\begin{document}
\[g \ \mu_g \ A_{\mu_g}\]
\end{document}
これを修正する簡単な方法はありますか? (編集: MiKTex 2.9.7250 を使用して、同じコードを overleaf でコンパイルすると、下付き文字に「正しい」 'g' が表示されます。)
編集: この問題はバージョン 1.612 (2019-12-01) で修正されました。
答え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}
「variant 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}