Unicode 数学による部分的な記号

Unicode 数学による部分的な記号

Linux Libertine と \partial 記号に問題があります。次のコードを使用していますが、\partial 記号がありません (フォントはすべてそのまま残していますが、問題は range=\mathit のフォントにあります)。

\documentclass{standalone}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Linux Libertine O}
\setsansfont[
BoldFont=LinBiolinumOB,
ItalicFont = LinBiolinumOI,
BoldItalicFont = LinLibertineOBI,
]{Linux Biolinum O}
\usepackage{unicode-math}
\setmathfont{TeXGyrePagellaMath} 
\setmathfont[range=\mathup]{Linux Libertine O}
\setmathfont[range=\mathit]{Linux Libertine O Italic}
\setmathfont[range=\mathbfup]{Linux Libertine O Bold}
\setmathfont[range=\mathbfit]{Linux Libertine O Bold Italic}
\begin{document}
    $x\partial x$
\end{document}

ご協力いただきありがとうございます。

答え1

数式にテキスト フォントを使用しています。次のようにロードして数式定義を上書きしないようにしてください。

\setmathfont[range=\mathit/{latin,Latin,num}]{Linux Libertine O Italic}

これにより、通常の文字と数字に対してのみ、libertine italic フォントが読み込まれます。他のフォント読み込みコマンドにも同様の調整を行う必要があります。

サンプル出力

\documentclass{article}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Linux Libertine O}
\setsansfont[
BoldFont=LinBiolinumOB,
ItalicFont = LinBiolinumOI,
BoldItalicFont = LinLibertineOBI,
]{Linux Biolinum O}
\usepackage{unicode-math}
\setmathfont{TeXGyrePagellaMath} 
\setmathfont[range=\mathup]{Linux Libertine O}
\setmathfont[range=\mathit/{latin,Latin,num}]{Linux Libertine O Italic}
\setmathfont[range=\mathbfup]{Linux Libertine O Bold}
\setmathfont[range=\mathbfit]{Linux Libertine O Bold Italic}
\begin{document}
    $x\partial x$
\end{document}

関連情報