xelatex 的 lualatex 中的否定二进制或关系符号

xelatex 的 lualatex 中的否定二进制或关系符号

根据这个答案https://tex.stackexchange.com/a/82121/16895 \not被定义为(在unicode-math)查找下一个 csname 并查看是否存在以n或为前缀的 csname not

然而,当我使用以下 MWE

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}

\begin{document}
$a\not= b$  $a\neq b$

$\not\vdash$  $\nvdash$

$\not\vDash$ $\nvDash$

$\not\equiv$ $\nequiv$
\end{document}

我明白了

在此处输入图片描述

显然,的组合\not\...不会产生与等效字形相同的结果。

我误解了上面的答案吗?或者否定符号的正确方法是什么(在大多数情况下,\not出于可移植性原因,我更愿意使用,例如,\nequiv在大多数字体中不可用,根据综合符号指南,它在几个包中可用,例如不在amssymb

答案1

在从 0.7e 版本到 0.7f 版本的过程中,unicode-math发生了一些变化,并且定义

\cs_set_eq:NN \not \not_newnot:N

现在被unicode-math-table.tex

\UnicodeMathSymbol{"00338}{\not}{\mathaccent}{combining long solidus overlay}

我猜测加载顺序已经改变。

解决方法:

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}
\ExplSyntaxOn
\AtBeginDocument{\cs_set_eq:NN \not \not_newnot:N}
\ExplSyntaxOff

\begin{document}

$a\not= b$  $a\neq b$

$\not\vdash$  $\nvdash$

$\not\vDash$ $\nvDash$

$\not\equiv$ $\nequiv$
\end{document}

在此处输入图片描述

相关内容