在“longtable”之后,标签编号从 2 开始,而不是从 1 开始

在“longtable”之后,标签编号从 2 开始,而不是从 1 开始

我使用 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}

相关内容