Я хотел бы пронумеровать свой стол так, чтобы, например,
Theorem 1.3
Table 1.4
Lemma 1.5
Как мне достичь этого результата? Я также использую CleverEf, поэтому в идеале \cref{ThatTable}
я бы создал связанную ``Таблицу 1.4'', когда закончу.
решение1
Ничего особенного делать не нужно: \newtheorem{theorem}[table]{Theorem}
все будет сделано.
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{cleveref}
\newtheorem{theorem}[table]{Theorem}
\begin{document}
\chapter{My content}
\begin{theorem}\label{A}
\end{theorem}
\begin{table}
\caption{A dummy table}\label{B}
\end{table}
\begin{theorem}\label{C}
\end{theorem}
\begin{theorem}
\end{theorem}
See \cref{A}, \cref{B}, \cref{C}.
\begin{table}
\caption{Another dummy table}
\end{table}
\end{document}
Однако следует отметить, что плавающая природа table
может привести к тому, что вывод будет казаться «несинхронизированным».
решение2
Это может быть достигнуто путем взаимного назначения связанных счетчиков (пакет assoccnt
или xassoccnt
).
Каждый раз, когда Theorem
увеличивается, счетчик таблицы также должен увеличиваться, и наоборот, lemma
среда использует Theorem
счетчик, поэтому он также будет увеличиваться.
Использование этого непрерывного подсчета должно предотвратить появление плавающих таблиц, поскольку они могут «прервать» подсчет.
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{assoccnt}
\newtheorem{Theorem}{Theorem}
\newtheorem{lemma}[Theorem]{lemma}
\DeclareAssociatedCounters{Theorem}{table}%
\DeclareAssociatedCounters{table}{Theorem}%
\begin{document}
\chapter{My content}
\begin{Theorem}
\end{Theorem}
\begin{table}
\caption{A dummy table}
\end{table}
\begin{Theorem}
\end{Theorem}
\begin{Theorem}
\end{Theorem}
\begin{table}
\caption{Another dummy table}
\end{table}
\begin{lemma}
First lemma
\end{lemma}
\begin{table}
\caption{Another dummy table}
\end{table}
\begin{Theorem}
\end{Theorem}
\end{document}