XITS 和 \not\models

XITS 和 \not\models

当使用 XITS(与 xelatex 一起使用)时,\not某些命令的显示过高。例如:

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

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

被展示:

在此处输入图片描述

也就是说,只有 (\not\equiv可能本身就是一个字形)才能正确打印。将上面的结果与下面的结果(没有unicode-mathXITS Math)进行比较:

在此处输入图片描述

有什么办法可以解决这个问题?

谢谢!

答案1

unicode-math应在可用时加载预定义的否定符号,因此\not\equiv与相同\nequiv,但似乎并非所有别名都得到了处理(\not\vDash有效但无效\not\models)。

unicode-math简单定义\not以便检查下一个 csname,如果存在该名称nnot前缀的 csname,它将使用它,否则它只会放置斜线。

一个简单的修复方法是定义\n…那些不适合你的 csnames,例如:

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

答案2

通常\not这只是一个穷人的解决方案,将斜线状字形与后面的关系符号叠加在一起。但是,可以通过连字符来选择正确的字形,从而改善结果。这里的情况可能就是这样\not\equiv

两个否定字符均可直接使用。在unicode-math-table.tex 宏名称中可以找到:

  • ≢: U+2262 与以下内容不同:\nequiv
  • ⊭:U+22AD 不正确:\nvDash

因此可以直接使用它们:

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

\begin{document}

$\nvDash\nequiv$ % standard names (unicode-math-table.tex)

$⊭≢$ % direct

\end{document}

结果

相关内容