分割環境中的方程數被 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

解決方法:替換splitaligned環境:

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

輸出:

區塊引用

相關內容