![在“longtable”之后,标签编号从 2 开始,而不是从 1 开始](https://linux22.com/image/426925/%E5%9C%A8%E2%80%9Clongtable%E2%80%9D%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%A0%87%E7%AD%BE%E7%BC%96%E5%8F%B7%E4%BB%8E%202%20%E5%BC%80%E5%A7%8B%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%8E%201%20%E5%BC%80%E5%A7%8B.png)
我使用 longtable 是因为我的表格超过一页。当我想标记表格时,编号从 2 开始(当标签位于表格下方时)。当我在它上面标记表格时,它从 1 开始,但下一个表格继续从 3 而不是 2 开始。当更改longtable
为 时tabular
,它可以正常工作。
查看简化代码:
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{longtable}
\begin{document}
% \captionof{table}{tab1
% \label{Tab:tab0}}
\begin{longtable}[h]{ll}
a & b
\end{longtable}
\captionof{table}{tab1
\label{Tab:tab1}}
\begin{tabular}[h]{llllll}
asdf & asdf & adf & Dasdfasdf & asdfasdfn & asdf
\end{tabular}
\captionof{table}{tab2
\label{Tab:tab2}}
\end{document}
我知道我可能应该使用\begin{table}
,但不知何故,我编写的整个文档都没有使用它,最后添加了标签。因为我不使用\begin{table}
,所以我使用\captionof
在互联网上找到的解决方法。
答案1
尽管 alongtable
不浮动,您仍然可以在环境\caption
中使用该命令longtable
,并且您的表格将被正确编号:
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{longtable}
\begin{document}
\begin{longtable}[h]{ll}
\caption{tab1\label{Tab:tab0}}\\
a & b
\end{longtable}
\begin{tabular}[h]{llllll}
asdf & asdf & adf & Dasdfasdf & asdfasdfn & asdf
\end{tabular}
\captionof{table}{tab2
\label{Tab:tab2}}
\end{document}
由于您可以\caption
在一个命令内包含多个命令longtable
(第一页使用一个标题,所有后续页面使用不同的标题),因此计数器table
不会为每个\caption
命令增加,而是为整个longtable
环境增加一次。因此,如果您想要longtable
没有任何标题的,您必须手动将table
计数器减一,例如使用\addtocounter{table}{-1}
。