[Tex/LaTex] XITS and \not\models

fontsmath-modestixxetex

When using XITS (with xelatex), the \not is displayed way too high on certain commands. For instance:

\documentclass{standalone}
\usepackage{unicode-math}
\setmathfont{XITS Math}

\def\nerode{\equiv}
\begin{document}
\huge$\not\models \not\nerode \not\equiv$
\end{document}

is displayed:

enter image description here

That is, only the \not\equiv which is probably a glyph by itself, is properly printed. Compare the above result with the following (without unicode-math and XITS Math):

enter image description here

What is the way to go to fix that?

Thanks!

Best Answer

unicode-math should load predefined negation symbols when available, so \not\equiv is the same as \nequiv, but it seems not all aliases were taken care of (\not\vDash works but not \not\models).

unicode-math simply defines \not so that it checks the next csname, and if the there an n or not prefixed csname of that name, it will use it, else it will just put the slash.

A simple fix is to define \n… csnames of the ones that does not work for you, e.g.:

\let\nnerode\nequiv
\let\nmodels\nvDash