我在处理一个大型 XeLaTeX 文档,在安装 MiKTeX 时遇到了渲染错误(?)(所有软件包均已于 2016 年 4 月 10 日更新)。这是一个简单示例:
\documentclass{article}
\usepackage{mathtools}
\usepackage{unicode-math}
\DeclareSymbolFont{somemeaninglessname}{\encodingdefault}{\familydefault}{m}{it}
\begin{document}
\[ \mathtt{z} \]
\[ \text{$z$} \]
\[ \mathtt{z} \]
\end{document}
我期望第一行和第三行相同。然而,事实并非如此:
我让我的朋友使用 TeXLive-2014 在 Linux 上渲染同一个文件,他得到的结果如下:
但是,如果我在 的行\usepackage{mathtools}
之后立即移动,则我的系统上的一切都按预期运行:\DeclareSymbolFont
将其移动到中间\usepackage{unicode-math}
并且\DeclareSymbolFont
不执行任何操作。
我不确定这是否是错误或对这两个包的错误使用。不幸的是,我真的不明白这\DeclareSymbolFont
是什么——它是别人写的。这是怎么回事?
更新型多巴胺: 好像它不是 MiKTeX 独有的问题,在 TeXLie 15 上也发生了。
答案1
这个问题在这里又出现了:xelatex 中的 mathtools 和 unicode-math 不兼容?,补丁位于我的答案。
答案2
以下情况不会发生:
\documentclass{article}
\usepackage{mathtools}
\DeclareSymbolFont{somemeaninglessname}{\encodingdefault}{\familydefault}{m}{it}
\usepackage{unicode-math}
[...]