更改 longtable(或其他“长表”包)中的运行头

更改 longtable(或其他“长表”包)中的运行头

在一个长表中,我列出了几类项目,包括一些相关数据。

\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如果插入的头部的大小发生变化,就会变得非常困惑)。

相关内容