我正在编写一个跨多页的长表格。表格的外观完全符合我的要求。但不幸的是,表格列表中的每个页面都会多次列出表格的标题。
是否可以改变这一点并确保该表在表列表中仅列出一次?
例子:
\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
\endhead
caption
\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}