如何使用 unicode-math 和 Libertinus Math 获取替代的 open g?

如何使用 unicode-math 和 Libertinus Math 获取替代的 open g?

我正在使用newtxmath之前使用带引擎的选项libertine (所以是 Linux Libertine)pdflatex ,但切换到unicode-mathxelatex

newtxmath为我提供了一个很好的斜体 G,这似乎是数学的首选形式。我不知道如何用unicode-mathLibertinus 数学字体(Linux Libertine 的最佳选择)。我深入研究了newtxmath.sty但找不到任何有用的信息,说明该包是如何获得开放的 G。我搜索了 Linux Libertine 字形表但也没有找到它。


pdflatexMWE 具有所需的开放 G

\documentclass{standalone}

\usepackage[libertine]{newtxmath}

\begin{document}
\(g\)
\end{document}

打开 g


xelatex/ unicode-mathMWE 有规律 G

\documentclass{standalone}

\usepackage{unicode-math}
\setmathfont{Libertinus Math}

\begin{document}
\(g\)
\end{document}

丑陋的


我能想到的可能的解决方案:

  • 分析如何newxmath创建开放的 g 并使用它
  • 将打开的 g 导入为矢量图形,并使其成为数学字母(如果可能)
  • 只需将 Linux Libertine 的 open g(如果有)与 Libertinus 一起使用。

答案1

我认为 newtxmath 使用此字体和选项 libertine 作为 g

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Libertinus Math}
\DeclareFontFamily{OML}{nxlmi}{\skewchar \font =127}
          \DeclareFontShape{OML}{nxlmi}{m}{it}{
           <-6.3>  nxlmi035
           <6.3-8.6> nxlmi037
           <8.6->  nxlmi03
          }{}
 \DeclareSymbolFont{gletters}{OML}{nxlmi}{m}{it}
 \DeclareMathSymbol{g}{\mathalpha}{gletters}{`g}
\begin{document}
\(abc fg \) 
\end{document}

在此处输入图片描述

答案2

newtxmath您可以通过声明符号来使用 open g 。但是,该fd文件包含几个\if必须事先声明的语句;但可​​以直接定义字体形状。(可能不适用于粗体数学)

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Libertinus Math}

\DeclareFontFamily{U}{ntxmia}{\skewchar\font=127 }
\DeclareFontShape{U}{ntxmia}{m}{it}{<->nxlmia}{}
\DeclareFontShape{U}{ntxmia}{b}{it}{<->nxlbmia}{}
\DeclareSymbolFont{lettersA}{U}{ntxmia}{m}{it}
\SetSymbolFont{lettersA}{bold}{U}{ntxmia}{b}{it}
\DeclareMathSymbol{g}{\mathord}{lettersA}{49}

\begin{document}

$\mitg$ $g$

$\mathbfit{g}$ \boldmath$g$\unboldmath

\end{document}

在此处输入图片描述

相关内容