Gleichungszahlen in Split-Umgebung durch ntheorem thref durcheinander gebracht

Gleichungszahlen in Split-Umgebung durch ntheorem thref durcheinander gebracht

Wenn ich ntheoremdie threfOption verwende, wird die Nummerierung bei jeder Verwendung des amsmath splitBefehls um eins fortgeführt.

Hier ist ein Beispiel:

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

Die endgültige Gleichung sollte die Nummer (3) haben, wird aber stattdessen (4) genannt. Das Entfernen threfbehebt das Problem.

Kann mir jemand sagen, wie ich das beheben kann? Ich bin für jede Hilfe sehr dankbar.

Antwort1

Normalerweise rate ich davon ab ntheorem, aber Sie ziehen es vielleicht vor amsthm. Sie können das Problem von lösen, threfindem SienichtNutzen Sie die Option und wechseln Sie zum deutlich leistungsstärkeren cleverefPaket.

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

Bildbeschreibung hier eingeben

Antwort2

Problemumgehung: Ersetzen Sie splitdurch die alignedUmgebung:

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

Bildbeschreibung hier eingeben

Antwort3

Sie können Folgendes versuchen:

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

Ausgabe:

Blockquote

verwandte Informationen