分割環境の方程式の番号が ntheorem thref によって台無しにされる

分割環境の方程式の番号が ntheorem thref によって台無しにされる

ntheoremオプションを使用するとthref、コマンドを使用するたびにamsmath split番号が 1 つずつ進みます。

次に例を示します。

\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}

出力:

引用ブロック

関連情報