为什么我的 \mathcal 字符消失了?

为什么我的 \mathcal 字符消失了?

我的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}

<code>mathbf = sym</code>

答案3

相关内容