在一个长表中,我列出了几类项目,包括一些相关数据。
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{lll}
\hline
\textbf{These are some items} & &\\
\hline
\endhead
\hline
\endfoot
\textbf{These are items of type A} & \textbf{Size} & \textbf{Price}\\
\hline
Item 1 & 3 foot & 3.56\\
Item 2 & 2 inches & 2.56\\
Item 3 & 5 inches & 1.50\\
\hline
\textbf{These are items of type B} & \textbf{Weight} & \textbf{Price}\\
\hline
Item A & 3 pounds & 10.50\\
Item B & 5 ounces & 6.95\\
Item C & 1 pound & 3.00\\
\end{longtable}
\end{document}
我会喜欢得到就是改变每当开始新的类别时,运行头,这样,如果例如项目 B 和项目 C 之间有分页符,则下一行的标题将显示“这些是 B 类项目”行(因此列被正确标记)。
可以使用其他“长表”包来完成此操作longtable
吗?我找不到有关此信息。(我今天的谷歌能力很弱……)
答案1
在 Irecall 中执行此操作相当自动supertab
,因为在这种情况下,头部存储为一个表并且每次都重新设置,因此如果您使用\mark
或只是在表中全局定义的普通命令,它将在每一页上获取新的定义。
可以使用 来完成longtable
,而且我相当确定 comp.text.tex 的某个地方发布了一些代码来完成此操作。longtable
将头部存储在一个框中,因此通常必须在整个表中固定它。但是,更改其内部结构并不困难,因此它说
\copy\LT@head
它反而说
\mysavedheadrows
\mysavedheadrows
之前命令中定义的一些表格行在哪里longtable
需要确保的是垂直的行的大小保持不变(longtable
如果插入的头部的大小发生变化,就会变得非常困惑)。