我正在使用 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
似乎没有产生任何问题。
答案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 不兼容?。
我在回答最近的问题时提出了一个补丁。