休息了好久之后,我尝试使用 LaTeX,结果发现新文本和定理互相冲突,并显示“Theoremstyle plain already defined”消息。另一方面,新数学似乎没有干扰这里。
\documentclass[openany,english]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage{amsmath, amssymb, graphicx}
\usepackage[amsmath, thmmarks, thref]{ntheorem}
\begin{document}
hello
\end{document}
我查阅了 pdf 文档,但找不到原因;定理文档提到了可能干扰数学,我正确处理了(希望如此),但没有提到新文本. 文档也一样新文本;没有提到定理。
我的问题:我应该怎么做才能解决这个冲突?如果我不得不放弃 newtxtext(可能还有 newtxmath),您推荐用什么字体来代替它,而不会与 ntheorem 发生冲突?(我认为它太有用了,不能放弃……)
提前致谢。
答案1
软件包newtxtext
加载amsthm
.amsthm
和ntheorem
不能一起使用。ntheorem
手册建议改用选项amsthm
。因此您必须阻止newtxtext
加载amsthm
。以下方法似乎有效:
\documentclass[openany,english]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,graphicx}
\usepackage[amsmath,amsthm,thmmarks,thref]{ntheorem}
\PreventPackageFromLoading{amsthm}
\usepackage{newtxtext}
\begin{document}
hello
\end{document}
它甚至似乎无需选择就可以工作amsthm
。
如果您不使用 KOMA-Script 类,则必须加载包scrlfile
才能获取\PreventPackageFromLoading
。