libertine이 포함된 newtxmath: 아래 첨자에 다른 'g'가 있음

libertine이 포함된 newtxmath: 아래 첨자에 다른 'g'가 있음

다음 예에서는 간단한 아래 첨자에 다른 '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을 사용하여 동일한 코드를 뒷면으로 컴파일하면 아래 첨자에 "올바른" '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}

여기에 이미지 설명을 입력하세요

"변형 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}

여기에 이미지 설명을 입력하세요

관련 정보