我正在使用XeTeX
和fontspec
和unicode-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
$