MacTeX 2019 出现“!LaTeX3 错误:控制序列 \not= 已定义。”

MacTeX 2019 出现“!LaTeX3 错误:控制序列 \not= 已定义。”

我有一个文档,可以在安装在我台式机上的 MacTeX 2017 上编译良好。我现在在笔记本电脑上安装了 MacTeX 2019,并收到此神秘错误:

(/usr/local/texlive/2019/texmf-dist/tex/latex/unicode-math/unicode-math-table.t
ex)

! LaTeX3 Error: Control sequence \not= already defined.

For immediate help type H <return>.
 ...                                              

l.3954 \NewNegationCommand { = }    { \neq   }

? 

有人明白这是怎么回事吗?


编辑:

梅威瑟:

\documentclass[usenames,dipsnames,article,oneside]{memoir}
\usepackage{fontspec}
\usepackage[lining]{ebgaramond}
\usepackage[cmintegrals,cmbraces]{newtxmath}
\usepackage{ebgaramond-maths}
\usepackage{amssymb}
\usepackage{unicode-math}

\begin{document}
Test
\end{document}

给出:

$ latexmk -pdf -lualatex test.tex
[...]
(/usr/local/texlive/2019/texmf-dist/tex/latex/unicode-math/unicode-math-table.t
ex)

! LaTeX3 Error: Control sequence \not= already defined.

For immediate help type H <return>.
 ...                                              

l.3954 \NewNegationCommand { = }    { \neq   }

? 

答案1

该示例在我的 TeX Live (MacTeX) 2017 上也失败了,可能是因为您没有应用更新。

问题很简单:你使用了太多数学字体包。建议newtxmath先加载ebgaramond-maths,因为后者只对operatorsletters数学组起作用,对symbols和不起作用largesymbols

如果您加载unicode-math,所有这些数学字体的设置将被完全丢弃,您将得到拉丁现代数学。

如果你添加

\[
abc+\int f(x)\,dx
\]

到你的测试文档并跳过错误进行编译,你会得到

在此处输入图片描述

删除\usepackage{unicode-math}不仅可以消除错误,还会产生

在此处输入图片描述

相关内容