Recebo um erro ao tentar numerar tabelas consecutivamente com teoremas

Recebo um erro ao tentar numerar tabelas consecutivamente com teoremas

egreggentilmente respondeu à minha pergunta (feita anteriormente) sobre dar aos números a mesma numeração dos teoremas aqui:

Numerar tabelas sequencialmente.

Infelizmente, esta solução muito boa parece ser incompatível (no que esperamos que seja uma forma facilmente corrigível) com o código preexistente ao qual me apeguei. Aqui está uma versão paródia do meu documento.

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

Recebo o seguinte aviso: LaTeX Error: Command \theorem already defined. Or name \end... illegal, see p.192 of the manual.Parece ser em parte porque tenho arquivos \newtheorem{theorem}[thm]{Theorem}. Mas se eu remover isso, o documento parece não saber mais o que é um Teorema.

A remoção thmtoolsdá um erro diferente, mas quero usar o restatableambiente.

Meu palpite ingênuo sobre o que fazer com

\newtheorem{theorem}[table]{Theorem}

de modo a evitar o erro - ou seja, substituí-lo por

\newtheorem{table}[thm]{Table}

– também não obtém sucesso.

Eu também gostaria de uma maneira de fazer o texto "Tabela XX"em negrito como os títulos dos teoremas, se isso for possível. Talvez essa deva ser outra questão.

Responder1

O problema é que você está declarando theoremduas vezes, primeiro

\newtheorem{theorem}[thm]{Theorem}

e então

\newtheorem{theorem}[table]{Theorem}

Eu também não misturaria declarações feitas com \declaretheoreme com \newtheorem.

No seu caso, acho que o seguinte deve fazer o que você deseja:

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

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

Sobre sua última solicitação, carregue o pacote captione emita

\captionsetup[table]{labelfont=bf}

MWE completo:

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

Saída:

insira a descrição da imagem aqui


EDITAR

Para ter a mesma numeração para tabelas e figuras, adicione as seguintes linhas no seu preâmbulo:

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

Além disso, se não quiser usar \numberwithinmuitas vezes, você pode proceder desta forma. Em primeiro lugar, declare

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

e então declare seu ambiente semelhante a um teorema da seguinte maneira:

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

MWE completo:

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

Saída

insira a descrição da imagem aqui

Responder2

Como o verdadeiro problema estará nos documentos com \chapter, existem algumas modificações no seu código. O relevante está marcado como PS.

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

(Por algum motivo estranho minha foto ficou completamente preta aqui. Se alguém puder tentar, se for problema meu ou do site, por favor...)

informação relacionada