使用 unicode-math 仅为一个字符指定字体

使用 unicode-math 仅为一个字符指定字体

我正在使用XeTeXfontspecunicode-math包。为了对希腊字母使用不同的数学字体,我做了类似的事情,使用range选项\setmathfont

\setmathfont[Path=/usr/share/texmf/fonts/opentype/public/tex-gyre-math/]{texgyretermes-math.otf} 
\setmathfont[range=\mathit/{greek,Greek},Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/]{texgyretermes-regular.otf} 

现在,我怎样才能仅更改一个希腊字母(比如说)的字体\phi

更新

根据@egreg的回答(现已删除),我尝试了以下代码。$\phi$输出中没有出现。如果我用注释行替换此行,则输出中会出现$\phi$,但不是常规字体。

% !TeX program = XeLaTeX
% !Mode:: "TeX:UTF-8"
\documentclass[fontsize=12pt]{scrartcl}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{unicode-math}
\usepackage{fontspec}
\setmonofont[Path=/usr/share/fonts/truetype/freefont/,Scale = 1.05]{FreeMonoBold.ttf} 
\setmainfont
[        Scale = 1.1,
     Extension = .otf,
   UprightFont = *-regular,
      BoldFont = *-bold,
    ItalicFont = *-italic,
BoldItalicFont = *-bolditalic,
]{xits}

\setmathfont[Path=/usr/share/texmf/fonts/opentype/public/tex-gyre-math/]{texgyretermes-math.otf} 
\setmathfont[range={\mitvarphi,\mitphi},Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/]{texgyretermes-regular.otf}
% \setmathfont[range=\mathit/{varphi,phi},Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/]{texgyretermes-regular.otf}
\setmathfont[range=\int,Path=/usr/share/texmf/fonts/opentype/public/tex-gyre-math/]{texgyretermes-math.otf}

\begin{document}

$\phi = \psi+1$. 

\end{document}

第二次更新

由于我在文档中仅使用三个希腊字母,phi和,mu因此lambda以下代码有效:

\setmathfont[Path=/usr/share/texmf/fonts/opentype/public/tex-gyre-math/]{texgyretermes-math.otf} 
\setmathfont[range=\mathit/{greek,Greek},Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/]{texgyretermes-regular.otf} 
\setmathfont[range={\mitmu,\mitlambda},Path=/usr/share/texmf/fonts/opentype/public/tex-gyre-math/]{texgyretermes-math.otf} 

答案1

在普通文本中,phi只有一个字形,字体将其设置为直立、粗体、斜体、粗斜体。在数学文本中,有十几个phi字形,粗体、斜体是字形本身的一部分:

数学

\setmathfont{Asana Math}[math-style=french]例如,要使用直立小写希腊文,请使用,而要使用\mitphi斜体 phi。

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{unicode-math}
\setmathfont{Asana Math}[math-style=french,Colour=blue]
\setmathfont{Asana Math}[range={\mitphi},Colour=red]
\setmainfont{Noto Serif}

\begin{document}
abc xyz 
$

相关内容