使用 datatool + longtable 在表格列表中进行单一输入

使用 datatool + longtable 在表格列表中进行单一输入

我正在使用\DTLdisplaylongdbdatatool创建一个多页表格longtable。如何提供仅在表格列表中显示一次的标题?(目前它显示表格每一页的条目。)

答案1

将命令放在\caption{abc}以 结尾的标题中\endfirsthead,并在重复的标题中使用 a \caption[]{...}。 [] 形式抑制写入 toc 文件。(参见 longtable 文档)。

正如@lockstep 指出的datatool隐藏此longtable功能,因此您需要取消隐藏它:-)

\begin{filecontents*}{dt4.csv}
40,120,40
40,90,60
35,180,20
55,190,40
40,120,40
40,90,60
35,180,20
55,190,40
40,120,40
40,90,60
35,180,20
55,190,40
40,120,40
40,90,60
35,180,20
55,190,40
\end{filecontents*}
\documentclass{article}
\usepackage{longtable,datatool}
\textheight=12\baselineskip

\makeatletter
\def\DT@capfix{\@dtl@contcap}

\def\LT@c@ption#1[#2]#3{%
  \LT@makecaption#1\fnum@table{#3}%
  \def\@tempa{#2}%
  \ifx\@tempa\DT@capfix\let\@tempa\@empty\fi
  \ifx\@tempa\@empty\else
     {\let\\\space
     \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
  \fi}

\makeatother


\begin{document}

\listoftables

\DTLloaddb[noheader,%
keys={Temperature,Time,DT4},%
headers={\shortstack{Incubation\\Temperature},%
\shortstack{Incubation\\Time},\shortstack{Time to\\Growth}}%
]{dt4}{dt4.csv}
Now display the data in a table:

\DTLdisplaylongdb[
caption=ho hum,
shortcaption=fi fo,
contcaption=hoo ha
]{dt4}

\end{document}

在此处输入图片描述

相关内容