我想将表格分成两页。我使用 来实现这一点\usepackage{longtable}
。
但是,我希望表格的第二部分具有与第一部分不同的标题。我尝试这样做:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[margin=0.5cm,indention=0cm,font=small,labelfont=bf,format=plain,sf]{caption}
\begin{document}
\begingroup
\footnotesize
\begin{longtable}[c]{c | c | c}
\caption{My first header }\\ \hline
\endfirsthead
\caption{Continued. My second header} \\ \hline
\endhead
header & header1 & header2 \\
a & b & c \\
a & b & c \\
a & b & c \\
\end{longtable}
\endgroup
\end{document}
但随后生成的行与换行符之间有一个空行 - 然后第一行以我的标题开始。因此它看起来像:
--------
--empty line here
header | header1
---------
但是我当然想删除那个换行符,因为它放错了位置。我尝试删除换行符\\
,但更改后无法编译。我不知道如何解决这个问题:S。第二个标题也发生了同样的情况。
答案1
有些事情是这样的:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[margin=0.5cm,indention=0cm,font=small,labelfont=bf,format=plain,sf]{caption}
\newcommand{\rows}{%
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
a & b & c \\
}
\begin{document}
\begingroup
% \footnotesize
\begin{longtable}{c | c | c}
\multicolumn{3}{c}{\textbf{Table \thetable:} My first header}\\\hline
header & header1 & header2 \\
\endfirsthead
\multicolumn{3}{c}{\textbf{Table \thetable:} Continued. }\\\hline
header & header1 & header2 \\
\endhead
\rows
\rows
\rows
\rows
\rows
\end{longtable}
\endgroup
\end{document}
答案2
可能对与标头相关的术语存在一些混淆。标题表格的标题行,然后是表格的实际“标题”。 longtable 环境会自动在标题行和标题材料之间插入空格。
目前,您的代码仅具有\hline
完整标题,适用于 longtable 环境的第一页和所有后续页面。请注意,行
header & header1 & header2 \\
是不是表格“标题”的一部分。相反,它是身体的表格。
您可能正在寻找以下内容:
\begin{longtable}{c | c | c}
\caption{An impressive table} \\
\hline
header1 & header2 & header3 \\
\hline
\endfirsthead
\caption{An impressive table, continued} \\
\hline
header4 & header5 & header6 \\
\hline
\endhead
\hline
\endfoot
%% body of "longtable" environment
\end{longtable}