糟糕的数学环境分隔符:带有 thmmarks 的 ntheorem,显示数学和拆分

糟糕的数学环境分隔符:带有 thmmarks 的 ntheorem,显示数学和拆分

使用 的组合\usepackage[amsmath,thmmarks]{ntheorem},显示包含在其中的数学运算\[ \]\begin{split}其中的环境,pdflatex完全出问题了:

! LaTeX Error: Bad math environment delimiter.

这是最小(非)工作示例(显然没有定理定义,也不需要有环境split;这些对于显示错误不是本质):

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath,thmmarks]{ntheorem}
\begin{document}

\[
\begin{split}
    a = b
\end{split}
\]

\end{document}

另外,一种解决方法是使用\begin{equation*}

编辑:我想缺少了一个问题:知道那里出了什么问题吗?

答案1

问题是由该thmmarks选项引起的(如果从代码中删除它,错误就会消失);该问题记录在文档的第 25 页中ntheorem

当然,ntheorem.sty与其他改变处理的样式结合使用时无法正常工作

  1. 类似定理的环境,或
  2. 与处理端点标记有关的环境,例如\[...\]eqnarray等等。”

正如您所提到的,解决方案是使用equation*

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath,thmmarks]{ntheorem}
\begin{document}

\begin{equation*}
\begin{split}
    a = b
\end{split}
\end{equation*}

\end{document}

人们可能想知道,如果两者就其而言是等效的,为什么有效equation*\[...\]无效amsmath;原因是ntheorem重新定义了\[并且\]当选项被激活时,这个定义与的环境thmmarks所期望的含义不兼容。amsmath

相关内容