
Согласно этому ответуhttps://tex.stackexchange.com/a/82121/16895 \not
определено (в unicode-math
) для поиска следующего csname и проверки наличия csname с префиксом n
или 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}