由于 mathtools、mathtt 混乱以及使用带范围的数学字体,unicode-math 中的数学字体样式消失

由于 mathtools、mathtt 混乱以及使用带范围的数学字体,unicode-math 中的数学字体样式消失

我正在使用 TeXLive 2015。

好的,以下代码中出现了一些问题。我使用 XeLaTeX 或 LuaLaTeX 对其进行了编译。

\documentclass{article}
\usepackage{
    fontspec,
%   mathtools,
    unicode-math,
}

\setmathfont[
%   range = \mathcal,
]{xits-math.otf}

\begin{document}

%   $\mathtt L$
    $\mathcal L$

\end{document}

取消注释所有行时,所需的输出应该是:

期望输出

但是,当取消注释所有行并使用xelatex脚本进行编译时,缺少“L”。我发现(重新)注释掉任何mathtools, range = \mathcal并将恢复脚本$\mathtt L$“L”。不幸的是,我有一个场景需要所有这三行。

此外,编译lualatex似乎没有产生任何问题。

类似的问题是这个, 在哪里此错误报告软件包unicode-math已出现。这是由同一问题引起的,还是发生了其他事情?

答案1

这是一个错误的功能,但解决方法是再次加载该范围的主要数学字体\mathscr;您还必须重新声明主要数学字体。

\documentclass{article}
\usepackage{mathtools}
\usepackage{
    fontspec,
    unicode-math,
}

\setmathfont{Latin Modern Math}
\setmathfont{XITS Math}[
  range = \mathcal,
]
\setmathfont{Latin Modern Math}[
  range = \mathscr
]

\begin{document}

$A$
$\symtt{L}$
$\mathcal{L}$

\end{document}

请注意,打字机类型变量的正确调用是\symtt,或者\mathtt将加载文本等宽字体。

在此处输入图片描述

以下是pdffonts报告全文:

BRCTEL+LatinModernMath-Regular-Identity-H CID Type 0C       yes yes yes      5  0
HSKWQU+XITSMath-Identity-H           CID Type 0C       yes yes yes      7  0

答案2

这与XeLaTeX:mathtools、unicode-math 和 \text spoil \mathtt最近又xelatex 中的 mathtools 和 unicode-math 不兼容?

我在回答最近的问题时提出了一个补丁。

是的,错误报告你引用的是关于这个问题的。拉取请求已将修复程序合并到unicode-math中。

相关内容