Числа уравнений в разделенной среде испорчены ntheorem thref

Числа уравнений в разделенной среде испорчены ntheorem thref

При использовании ntheoremэтой threfопции каждый раз при использовании amsmath splitкоманды нумерация переходит на единицу вперед.

Вот пример:

\documentclass{article}

\usepackage{amsmath}
\usepackage[amsmath,thref]{ntheorem}

\begin{document}

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

\begin{equation}
    b = c
\end{equation}

\begin{equation}
    \begin{split}
        a & = b\\
        &= c
    \end{split}
\end{equation}

\end{document}

Конечное уравнение должно быть пронумеровано (3), но вместо этого оно пронумеровано (4). Удаление threfрешает проблему.

Может кто-нибудь подскажет, как это исправить? Любая помощь будет высоко оценена.

решение1

Я обычно не советую использовать ntheorem, но вы можете предпочесть amsthm. Вы можете решить проблему threfс помощьюнетиспользование опции и переход на гораздо более мощный cleverefпакет.

\documentclass{article}

\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
\usepackage{cleveref}

\newtheorem{theorem}{Theorem}

\begin{document}

\begin{theorem}\label{test}
\begin{equation}
    a = b
\end{equation}
\end{theorem}

\Cref{test} says something interesting.

\begin{equation}
    b = c
\end{equation}

\begin{equation}
    \begin{split}
        a & = b\\
        &= c
    \end{split}
\end{equation}

\end{document}

введите описание изображения здесь

решение2

Обходной путь: замените splitна alignedсреду:

\documentclass{article}

\usepackage{amsmath}
\usepackage[amsmath,thref]{ntheorem}

\begin{document}

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

\begin{equation}
    b = c
\end{equation}

\begin{equation}
    \begin{aligned}
        a & = b\\
        &= c
    \end{aligned}
\end{equation}

\end{document} 

введите описание изображения здесь

решение3

Вы можете попробовать это:

\documentclass{article}

\usepackage{amsmath}
\usepackage[amsmath,thref]{ntheorem}
\makeatletter
\newcommand\forcefirstchoice{\firstchoice@false}
\makeatother

\begin{document}

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

\begin{equation}
    b = c
\end{equation}

\begin{equation}\forcefirstchoice
    \begin{split}
        a & = b\\
        &= c
    \end{split}
\end{equation}


\begin{equation}\forcefirstchoice
    \begin{split}
        a & = b\\
        &= c
    \end{split}
\end{equation}

\end{document}

Выход:

Цитата из блока

Связанный контент