我不知道为什么我在使用特定newtxmath
包时不断收到此错误;我只想使用这个包,newtxtext
这样我就可以为我的文本和数学字体使用 TNR。
是不是我的导入中存在一些我没有注意到的冲突?我尝试过查看并注释掉一些内容,其中有一些列为“必需”,这意味着它们对于我正在进行的项目至关重要。
\usepackage[utf8]{inputenc}
\usepackage{fontspec}
% \usepackage{times}
\usepackage{pdfpages} % Required
\usepackage{amsmath} % Required
\usepackage{amssymb} % Required
\usepackage{mathabx} % Required
\usepackage{framed}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{tcolorbox}
\usepackage{enumitem}
\usepackage{prooftrees}
% \usepackage{tipa}
\usepackage{fancyhdr}
\usepackage{syntax}
% \usepackage{baskervald}
% \usepackage{charter}
% \usepackage{mathpazo}
\usepackage[super]{nth}
% \usepackage{etoolbox}
\usepackage[mathscr]{euscript}
\usepackage{simplebnf}
\usepackage{tikz-qtree}
\usepackage{newtxtext}
\usepackage{pifont}
\usepackage{newtxmath}
% \usepackage[varvw]{newtxmath}
% \usepackage{mathptmx}
% \usepackage{txfonts}
答案1
包mathabx
从来都不是至关重要的。而且,一般来说,你不能指望混合不同的数学符号字体,例如mathabx
和newtxmath
(还有mathpazo
)。
如果你只是需要一符号来自mathabx
,导入它。顺便说一句,你不需要amssymb
任何一个,因为它提供的符号已经被 覆盖newtxmath
。不幸的是,prooftrees
无论如何都会加载它,因此必须建立一些优先级。
\documentclass{article}
% to be loaded first in order to avoid conflicts
\usepackage{prooftrees}
\usepackage{amsthm}
% fonts
\usepackage[no-math]{fontspec}
\usepackage{newtxtext}
\usepackage[
%varvw,
]{newtxmath}
\usepackage{pifont}
% math or related
\usepackage{amsmath}
\usepackage[mathscr]{euscript}
\usepackage{mathtools}
\usepackage{simplebnf}
% typesetting
\usepackage{fancyhdr}
\usepackage{pdfpages}
%\usepackage{framed}% <- really?
\usepackage{tcolorbox}
\usepackage{enumitem}
%\usepackage{syntax}% <- really
\usepackage[super]{nth}
% import \dotdiv
\DeclareRobustCommand{\dotdiv}{\mathbin{\text{\mathabxdotdiv}}}
\newcommand{\mathabxdotdiv}{\usefont{U}{mathb}{m}{n}\symbol{"01}}
\DeclareFontFamily{U}{mathb}{}
\DeclareFontShape{U}{mathb}{m}{n}{
<-5.5> mathb5 <5.5-6.5> mathb6 <6.5-7.5> mathb7
<7.5-8.5> mathb8 <8.5-9.5> mathb9 <9.5-11> mathb10
<11-> mathb12 }{}
% end import
% fix \widering (remove \smash and add \vss)
\renewcommand{\widering}[1]{%
\overset{%
\vbox to .2ex{%
\hbox{$\mathring{}$}%
\vss
}
}{\overgroup{#1}}}
% end fix
\begin{document}
\[
\widering{abc}\dotdiv x
\]
\end{document}
我重新组织了包加载以避免冲突和重复。接下来我将展示如何导入单个符号\dotdiv
。
\widering
还提供了对错误的定义的修复(每次调用时newtxmath
都会产生四个溢出\vbox
警告。
我注释掉了,framed
因为你已经在加载tcolorbox
提供更多信息的内容。关于syntax
:这是一个非常老旧且长期无人维护的软件包,可能会产生冲突。你已经有了prooftrees
并且simplebnf
:你真的还需要吗syntax
?