我想给我的桌子编号,例如
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}