![\mathit{\vec{…}} 使用 xelatex/lualatex、unicode-math 和 TeX Gyre Termes (Math) 时会默默吞噬向量](https://linux22.com/image/449954/%5Cmathit%7B%5Cvec%7B%E2%80%A6%7D%7D%20%E4%BD%BF%E7%94%A8%20xelatex%2Flualatex%E3%80%81unicode-math%20%E5%92%8C%20TeX%20Gyre%20Termes%20(Math)%20%E6%97%B6%E4%BC%9A%E9%BB%98%E9%BB%98%E5%90%9E%E5%99%AC%E5%90%91%E9%87%8F.png)
喂食xelatex
或lualatex
与
\documentclass{article}
\pagestyle{empty}
\usepackage{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}[Scale=0.88]%%% Somewhat ok.
\setmonofont{TeX Gyre Cursor}%%% No explicit turning on ligatures for the monospaced font.
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
\tracinglostchars=2
\begin{document}
\(\mathit{\vec{i}}\)
\end{document}
结果是
我
没有任何箭头。当然,可以通过删除\usepackage{unicode-math}
……\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
或交换调用顺序\vec
或\mathit
简单地删除\mathit
单字母参数(因为不需要在参数的相邻字母之间进行字距调整)来规避此问题。但是,由于对这两个宏的调用可能隐藏在其他宏中(对于我的较大、非最小 LaTeX 源,它们确实隐藏在其他宏中),最好在序言级别或 unicode-math 包中解决问题,或者通过修补它,或者理想情况下,扩展 TeX Gyre Termes Math 字体,这样用户的主文档就不需要更改了。有什么想法吗?
PS. 对于latex
/pdflatex
和 NewTX,请参见。\mathit{\vec{…}} 使用 latex/pdflatex 和 newtxmath 时会默默吞噬向量。