我的MWE
\documentclass[varwidth, border=0.2in]{standalone}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmathfont[]{TeX Gyre Pagella Math}
\setmathfont[range={cal}]{Latin Modern Math}
\begin{document}
The distribution of $\mathbf{X}$ is $\mathcal{P}\{\mathbf{X} = k\}$.
\end{document}
生产
请注意,没有字符\mathcal{P}
。令人困惑的是,如果我注释掉\usepackage{mathtools}
,它似乎可以工作:
编辑:
我采纳了重复错误的建议 — — 它有效,但只是部分有效。现在我丢失了\mathscr
角色,尽管我\mathcal
恢复了角色:
\documentclass[varwidth, border=0.2in]{standalone}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Pagella Math}
\setmathfont[range={cal}]{Latin Modern Math}
\setmathfont[range={scr}]{TeX Gyre Pagella Math} %% Added this line
\begin{document}
The distribution of $\mathbf{X}$ is $\mathcal{P}\{\mathbf{X} = k\}$,
in the collection $\mathscr{P}$.
\end{document}
我尝试过用多种不同的方式设置数学字体,但两个字母中的一个总是会消失。
编辑:
我最接近的解决方法是加载amsmath
,然后加载unicode-math
,然后加载mathtools
。(是的,我知道这与的文档相悖unicode-math
。)这种方法有效,因为我可以看到所有字符。不幸的是,\small
例如,使用 更改字体会将所有粗体数学字符更改为非粗体。不太理想。
答案1
这个链接也许能帮到你: https://tex.stackexchange.com/a/315137/115042
为了解决这个问题,你必须再次加载数学字体。我认为这是软件包之间的某种过载。
\documentclass[varwidth, border=0.2in]{standalone}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont{XITS Math}[
range = \mathcal,
]
\setmathfont{Latin Modern Math}[
range = \mathscr
]
\begin{document}
The distribution of $\mathbf{X}$ is $\mathcal{P} \{\mathbf{X} = k\}$.
\end{document}
使用上面的代码我得到以下结果:
答案2
我不知道这对您来说是否是一个好的选择,但如果您仅以\mathbf
有限的方式使用(例如矢量等),那么设置mathbf=sym
可能是一个合理的解决方法。
\RequirePackage{luatex85}
\documentclass[border=10pt]{standalone}
\usepackage{mathtools}
\usepackage[mathbf=sym]{unicode-math}
\setmathfont{TeX Gyre Pagella Math}
\setmathfont{Latin Modern Math}[range={cal}]
\begin{document}
The distribution of $\mathbf{X}$ is $\mathcal{P}\{\mathbf{X} = k\}$, in the collection $\mathscr{P}$.
\end{document}