我有一份文档,其主要字体是 Gotham Book。因此,在我的序言中,我有:
\usepackage{fontspec}
\setmainfont{Gotham Book}
正如 fontspec 手册所述,这会将 math roman 字体也设置为 Gotham Book。但 math斜体字体依然保留了 Computer Modern 系列。
我知道这\setmathrm
会改变数学罗马字体,并且有表兄弟\setmathtt
,\setmathsf
和\setboldmathrm
。但没有\setmathit
。
我错过了什么?
答案1
如果您不想以其他方式更改数学符号,最好的解决方案是使用以下mathspec
包:
\documentclass{article}
\usepackage{mathspec}
\setallmainfonts(Digits,Latin){Georgia}
\begin{document}
Hello $a+\mathrm{b}=c$
\end{document}
这里,Georgia 将用于正文和\mathrm
,而 Georgia Italic 将用于斜体数学字形。
该unicode-math
包(我写的)也可以做到这一点,但对于您的目的来说,这有点过头了,而且还有一个缺点,那就是您还需要加载 Unicode 数学字体。以下是一个例子:
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Georgia}
\setmathfont{xits-math.otf}
\setmathfont[range=\mathit]{Georgia Italic}
\begin{document}
Hello $a+b=c$
\end{document}
请注意,mathspec 暂时还不能在 LuaTeX 上运行,所以如果您需要 LuaLaTeX 解决方案,那么您unicode-math
现在就需要使用它。
答案2
感谢 Will 和 Leo 指出mathspec
包。所以现在我使用:
\usepackage{mathspec} %loads fontspec as well
\setmainfont{Gotham Book}
\setmathrm{Gotham Book}
\setmathfont(Digits,Latin){Gotham Book}
此代码片段可能需要优化,但是可以起作用。
答案3
字面答案
截至 2019 年,fontspec
应该找到粗体和斜体字体,并加载\mathrm
,\mathbf
当\mathit
你\setmathrm
。
如果需要对 进行额外设置\mathit
,则设置的ItalicFont
和ItalicFeatures
选项,就像设置 的和选项一样。\setmathrm
\mathit
Boldfont
BoldFeatures
\mathbf
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{fontspec}
\usepackage[paperwidth=10cm]{geometry}
\setmainfont{TeX Gyre Schola}
\setmathrm{TeX Gyre Schola}[
ItalicFeatures = {Color = green}]
\begin{document}
Text \textit{italic} \(\mathrm{math}\) \(\mathit{italic}\)
\end{document}
你可能还想表达什么
实际上,有人询问如何设置\mathit
字母表可能指的是用于的字母表$x$
。
要进行设置,您需要加载unicode-math
包,设置与您的主字体匹配的数学字体,然后根据需要添加一行,例如
\setmathfont[range=it]{Gotham Book Italic}
您可以对、和其他数学字母执行同样up
的bfup
操作bfit
。
在 中unicode-math
,您通常会使用\symit
、\symup
等表示用作变量的单个字母,并使用\mathit
、\mathrm
、\mathup
等表示完整的单词。但是,您可以给出一个包选项来解释\mathit
为,\symit
并使迁移的代码正确编译。