tabularx 标题在表格列表中显示多次

tabularx 标题在表格列表中显示多次

我正在编写一个跨多页的长表格。表格的外观完全符合我的要求。但不幸的是,表格列表中的每个页面都会多次列出表格的标题。

是否可以改变这一点并确保该表在表列表中仅列出一次?

例子:

\documentclass{article}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{blindtext}
\usepackage{booktabs}

\begin{document}
\listoftables
\newpage

\begin{tabularx}{\textwidth}{l X}
    \caption{Caption 1}\\
    \toprule
    Nr & text \\
    \midrule
    \endhead
    1 & \blindtext \\
    2 & \blindtext \\
    3 & \blindtext \\
    4 & \blindtext \\
    5 & \blindtext \\
    6 & \blindtext \\
    7 & \blindtext \\
    8 & \blindtext \\
    9 & \blindtext \\
    \bottomrule
\end{tabularx}

\end{document}

生成如下表列表:

1 标题 1 ....... 2
1 标题 1 ....... 3
1 标题 1 ....... 4

我想要一个如下所示的表格列表:

1 标题 1 ....... 2

或者像这样作为奖励

1 标题 1 ....... 2-4

答案1

我认为您没有正确使用包的机制。为和ltablex指定单独的代码块很重要——而不是在代码块中使用指令。如果您认为(或多或少)重复第一页上显示的标题至关重要,请加载包并使用指令,如下面的代码所示。或者在组中使用。\endfirsthead\endhead\caption\endheadcaption\caption*\caption[]{Some caption}\endhead

使用下面显示的设置,只有一个项目将被写入整个 3 页表格的表格列表。

\documentclass{article}
\usepackage{tabularx,ltablex}
\usepackage{blindtext,booktabs}
\usepackage{caption} % for '\caption*' macro
\captionsetup{skip=0.333\baselineskip} % default is 1\baselineskip

\begin{document}
\listoftables
\newpage

\begin{tabularx}{\textwidth}{@{} l X @{}}

    %% headers and footers

    \caption{Some Caption} \label{tab:yyy}\\
    \toprule
    Nr & text \\
    \midrule
    \endfirsthead

    \caption*{Table \thetable, cont'd}\\
    \toprule
    Nr & text \\
    \midrule
    \endhead

    \midrule
    \multicolumn{2}{r@{}}{\footnotesize (Cont'd on following page)}\\
    \endfoot

    \bottomrule
    \endlastfoot

    %% body of table
    1 & \blindtext \\
    2 & \blindtext \\
    3 & \blindtext \\

    4 & \blindtext \\
    5 & \blindtext \\
    6 & \blindtext \\

    7 & \blindtext \\
    8 & \blindtext \\
    9 & \blindtext \\

\end{tabularx}

\end{document} 

答案2

正如 longtable 文档中提到的那样,您可以通过在后续标题中使用空的可选参数来抑制该条目:

\documentclass{article}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{blindtext}
\usepackage{booktabs}

\begin{document}
\listoftables
\newpage

\begin{tabularx}{\textwidth}{l X}
   \caption{Caption 1}\\
    \toprule
    Nr & text \\
    \midrule
    \endfirsthead
    \caption[]{Caption 1}\\
    \toprule
    Nr & text \\
    \midrule
    \endhead
    1 & \blindtext \\
    2 & \blindtext \\
    3 & \blindtext \\
    4 & \blindtext \\
    5 & \blindtext \\
    6 & \blindtext \\
    7 & \blindtext \\
    8 & \blindtext \\
    9 & \blindtext \\
    \bottomrule
\end{tabularx}

\end{document}

相关内容