Ein Fehler tritt auf, wenn ich versuche, Tabellen fortlaufend mit Theoremen zu nummerieren

Ein Fehler tritt auf, wenn ich versuche, Tabellen fortlaufend mit Theoremen zu nummerieren

egreghat meine (zuvor gestellte) Frage zur Nummerierung von Zahlen und Theoremen freundlicherweise hier beantwortet:

Tabellen fortlaufend nummerieren.

Leider scheint diese sehr gute Lösung mit dem bereits vorhandenen Code, an den ich mich gewöhnt habe, inkompatibel zu sein (was hoffentlich leicht zu beheben ist). Hier ist eine Parodieversion meines Dokuments.

\documentclass{article}
\usepackage{amsmath,amsthm,thmtools,float,cleveref}

\declaretheorem[name=Theorem,numberwithin=section]{thm}
\newtheorem{theorem}[thm]{Theorem}
\newtheorem{corollary}[thm]{Corollary}
\newtheorem{theorem}[table]{Theorem}

\begin{document}
Look at \Cref{TABLE}!

\begin{restatable}{theorem}{TheThm}\label{THM}
I said to look at \Cref{TABLE}!
\end{restatable}

\begin{theorem}[Best theorem]
Hello, world!
\end{theorem}
\begin{table}[H]    
\caption{Good table-caption}\label{TABLE}
\begin{center}
\begin{tabular}{l | l}
ABCD & EFG \end{tabular}
\end{center}
\end{table}

That was so exquisite we must recapitulate:
\TheThm*

\end{document}

Ich erhalte die folgende Warnung: LaTeX Error: Command \theorem already defined. Or name \end... illegal, see p.192 of the manual.Dies scheint teilweise daran zu liegen, dass ich habe \newtheorem{theorem}[thm]{Theorem}. Aber wenn ich das entferne, scheint das Dokument nicht mehr zu wissen, was ein Theorem ist.

Beim Entfernen tritt ein anderer Fehler auf, aber ich möchte die Umgebung thmtoolsverwenden .restatable

Meine naive Vermutung, was zu tun ist mit

\newtheorem{theorem}[table]{Theorem}

um dem Fehler vorzubeugen, nämlich ihn zu ersetzen durch

\newtheorem{table}[thm]{Table}

– ist ebenfalls nicht von Erfolg gekrönt.

Ich hätte auch gerne eine Möglichkeit, den Text "Tabelle XX" fett wie die Theoremüberschriften, wenn das möglich ist. Vielleicht sollte das eine andere Frage sein.

Antwort1

Das Problem ist, dass Sie zweimal deklarieren theorem, zuerst

\newtheorem{theorem}[thm]{Theorem}

und dann

\newtheorem{theorem}[table]{Theorem}

Ich würde auch keine mit \declaretheoremund mit abgegebenen Erklärungen vermischen \newtheorem.

Ich denke, in Ihrem Fall sollte das Folgende den gewünschten Effekt haben:

\newtheorem{theorem}[table]{Theorem}
\newtheorem{corollary}[table]{Corollary}

\numberwithin{table}{section}
\numberwithin{theorem}{section}
\numberwithin{corollary}{section}

Über Ihre letzte Anfrage, laden Sie das Paket captionund geben Sie

\captionsetup[table]{labelfont=bf}

Komplettes MWE:

\documentclass{article}
\usepackage{amsmath,amsthm,thmtools,float,cleveref}
\usepackage{caption}

\captionsetup[table]{labelfont=bf}

\newtheorem{theorem}[table]{Theorem}
\newtheorem{corollary}[table]{Corollary}

\numberwithin{table}{section}
\numberwithin{theorem}{section}
\numberwithin{corollary}{section}

\begin{document}

\section{Test}

Look at \Cref{TABLE}!

\begin{restatable}{theorem}{TheThm}\label{THM}
I said to look at \Cref{TABLE}!
\end{restatable}

\begin{theorem}[Best theorem]
Hello, world!
\end{theorem}
\begin{table}[H]
\caption{Good table-caption}\label{TABLE}
\begin{center}
\begin{tabular}{l | l}
ABCD & EFG \end{tabular}
\end{center}
\end{table}

\begin{corollary}
And this is a corollary
\end{corollary}

That was so exquisite we must recapitulate:
\TheThm*

\end{document} 

Ausgabe:

Bildbeschreibung hier eingeben


BEARBEITEN

Um die gleiche Nummerierung für Tabellen und Abbildungen zu haben, fügen Sie Ihrer Präambel die folgenden Zeilen hinzu:

\makeatletter
\let\c@figure\c@table
\makeatother

Wenn Sie nicht \numberwithinviele Male verwenden möchten, können Sie auf diese Weise vorgehen. Erklären Sie zunächst

\numberwithin{table}{section}
\numberwithin{figure}{section}

und deklarieren Sie dann Ihre theoremähnliche Umgebung wie folgt:

\declaretheorem[numberlike=table]{theorem}
\declaretheorem[numberlike=theorem]{corollary}

Komplettes MWE:

\documentclass{article}
\usepackage{amsmath,amsthm,thmtools,float,cleveref}
\usepackage{graphicx}
\usepackage{caption}

\captionsetup{labelfont=bf}

\numberwithin{table}{section}
\numberwithin{figure}{section}

\makeatletter
\let\c@figure\c@table
\makeatother

\declaretheorem[numberlike=table]{theorem}
\declaretheorem[numberlike=theorem]{corollary}

\begin{document}

\section{Test}

Look at \Cref{TABLE}!

\begin{restatable}{theorem}{TheThm}\label{THM}
I said to look at \Cref{TABLE}!
\end{restatable}

\begin{theorem}[Best theorem]
Hello, world!
\end{theorem}

\begin{table}[H]
\caption{Good table-caption}\label{TABLE}
\centering
\begin{tabular}{l | l}
ABCD & EFG \end{tabular}
\end{table}

\begin{corollary}
And this is a corollary
\end{corollary}

\begin{figure}[H]
\caption{Good figure-caption}\label{FIGURE}
\centering
\includegraphics[scale=.3]{example-image}
\end{figure}

That was so exquisite we must recapitulate:
\TheThm*

\end{document} 

Ausgabe

Bildbeschreibung hier eingeben

Antwort2

Da das eigentliche Problem in Dokumenten mit auftritt \chapter, müssen einige Änderungen an Ihrem Code vorgenommen werden. Die relevante Änderung ist mit PS gekennzeichnet.

\documentclass{report}
%\usepackage{amsmath,amsthm,thmtools,float,cleveref}
\usepackage{amsmath,amsthm,float,cleveref}

%\declaretheorem[name=Theorem,numberwithin=section]{thm}
%\newtheorem{theorem}[thm]{Theorem}
\newtheorem{theorem}{Theorem}
%\newtheorem{corollary}[thm]{Corollary}
%\newtheorem{theorem}[table]{Theorem}


\def\thetable{\arabic{table}} % This is important - PS
\begin{document}
\chapter{First}
\section{First}

Look at \Cref{TABLE}!

%\begin{restatable}{theorem}{TheThm}\label{THM}
\begin{table}
\label{THM}
I said to look at \Cref{TABLE}!
\end{table}
%\end{restatable}

\begin{theorem}[Best theorem]
Hello, world!
\end{theorem}
\begin{table}[H]    
\caption{Good table-caption}\label{TABLE}
\begin{center}
\begin{tabular}{l | l}
ABCD & EFG \end{tabular}
\end{center}
\end{table}

That was so exquisite we must recapitulate:
%\TheThm*

\end{document}

(Aus irgendeinem seltsamen Grund war mein Bild hier komplett schwarz. Wenn jemand es versuchen könnte, egal, ob es mein Problem ist oder das der Site, bitte...)

verwandte Informationen