amsmath、ntheorem 和 mathtools 与选项 showonlyrefs 不兼容

amsmath、ntheorem 和 mathtools 与选项 showonlyrefs 不兼容

在最小的例子中

\documentclass{article}

\usepackage{amsmath}
\usepackage[amsmath,thmmarks]{ntheorem} 
\theoremsymbol{$\diamondsuit$}
\newtheorem{defi}{Definition}
\usepackage{mathtools}
\mathtoolsset{showonlyrefs=true} % endmark appears if this is commented out

\begin{document} 
\begin{defi}
\begin{equation}
A
\end{equation}
\end{defi}
\end{document}

定义末尾的结束标记未按预期显示。

当环境以受选项影响的方程式/对齐结束时,就会发生这种情况showonlyrefs

有人能解决吗?

答案1

这个问题在mathtools文档。给出了两点建议:

  1. 加载empheq首先使用overloadntheorem选项。注意mathtools应始终在之前加载ntheorem
\documentclass{article}

\usepackage[overload,ntheorem]{empheq}
\usepackage{mathtools}
\usepackage[amsmath,thmmarks]{ntheorem} 
\theoremsymbol{$\diamondsuit$}
\newtheorem{defi}{Definition}

\mathtoolsset{showonlyrefs=true}

\begin{document} 
\begin{defi}
\begin{equation}
A 
\end{equation}
\end{defi}

\end{document}

然而,这会禁用诸如此类的各种功能\intertext

  1. empheq仅使用ntheorem选项和定理中的最后一个类似方程的环境进行加载,使用\begin{empheq}{<env>}而不是\begin{<env>}
\documentclass{article}

\usepackage[ntheorem]{empheq}
\usepackage{mathtools}
\usepackage[amsmath,thmmarks]{ntheorem} 
\theoremsymbol{$\diamondsuit$}
\newtheorem{defi}{Definition}

\mathtoolsset{showonlyrefs=true}

\begin{document} 

\begin{defi}
\begin{empheq}{equation}
A 
\end{empheq}
\end{defi}

\end{document}

相关内容