Ошибка, которая возникает при попытке последовательно пронумеровать таблицы с теоремами

Ошибка, которая возникает при попытке последовательно пронумеровать таблицы с теоремами

egregлюбезно ответил на мой (ранее заданный) вопрос о присвоении числам той же нумерации, что и теоремам здесь:

Нумерация таблиц последовательная.

К сожалению, это очень хорошее решение, похоже, несовместимо (надеюсь, это легко поправимо) с уже существующим кодом, к которому я привязался. Вот пародийная версия моего документа.

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

Я получаю следующее предупреждение: LaTeX Error: Command \theorem already defined. Or name \end... illegal, see p.192 of the manual.Похоже, это отчасти потому, что у меня есть \newtheorem{theorem}[thm]{Theorem}. Но если я уберу это, документ, похоже, больше не будет знать, что такое теорема.

Удаление thmtoolsприводит к другой ошибке, но я хочу использовать restatableсреду.

Моя наивная догадка, что делать с

\newtheorem{theorem}[table]{Theorem}

чтобы избежать ошибки, а именно, заменить ее на

\newtheorem{table}[thm]{Table}

— также не имеет успеха.

Мне бы также хотелось найти способ сделать текст "Таблица XX" жирным шрифтом, как заголовки теорем, если это возможно. Возможно, это должен быть другой вопрос.

решение1

Проблема в том, что вы делаете это theoremдважды, сначала

\newtheorem{theorem}[thm]{Theorem}

а потом

\newtheorem{theorem}[table]{Theorem}

Я бы также не стал смешивать заявления, сделанные с помощью \declaretheoremи с помощью \newtheorem.

В вашем случае, я думаю, следующее должно сделать то, что вам нужно:

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

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

По поводу вашего последнего запроса, загрузите пакет captionи выдайте

\captionsetup[table]{labelfont=bf}

Полная МВЭ:

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

Выход:

введите описание изображения здесь


РЕДАКТИРОВАТЬ

Чтобы нумерация таблиц и рисунков была одинаковой, добавьте в преамбулу следующие строки:

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

Также, если вы не хотите использовать \numberwithinмного раз, вы можете действовать таким образом. Во-первых, объявите

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

а затем объявите свою теоремоподобную среду следующим образом:

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

Полная МВЭ:

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

Выход

введите описание изображения здесь

решение2

Поскольку реальная проблема будет в документах с \chapter, есть некоторые изменения вашего кода. Соответствующее отмечено 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}

(По какой-то странной причине моя фотография здесь была полностью черной. Если кто-то может попробовать, это моя проблема или проблема сайта, пожалуйста...)

Связанный контент