加上标题的正确方法是什么longtable
?
我的编号从 2 开始,并且没有嵌套表格。如果我\caption{Bla}
在 之前放置 ,则会更正此问题\end{longtable}
,但它始终会将标题插入到表格的最后一条水平线之前。
\begin{longtable}{ccccc}
\toprule
1&2&3&&\\
\midrule
\endfirsthead
\toprule
1&2&3&&\\
\midrule
\endhead
\hline
\multicolumn{5}{r}{Continued on next page...}\\
\bottomrule
\endfoot
\bottomrule
\endlastfoot
8.8024 &8.8024 &8.8024 &7.2679 &1.3161e+01\\
%A lot more lines here.
9.0364 &9.0364 &9.0364 &7.2678 &1.4124e+01\\
\caption{Caption numbered as 1 but above horizontal line.}
\end{longtable}
答案1
使用当前设置,标题将出现在排版的最后一条规则之前(排版的最后一项是您声明的\endlastfoot
水平规则,而标题仅被视为表格的最后一行,然后会出现在规则之前)。要获取标题的预期位置,请将 移动\caption
到正确的位置,例如,\bottomrule
在 中使用的之后\endlastfoot
:
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\begin{longtable}{ccccc}
\toprule
1&2&3&&\\
\midrule
\endfirsthead
\toprule
1&2&3&&\\
\midrule
\endhead
\hline
\bottomrule
\multicolumn{5}{r}{Continued on next page...}\\
\endfoot
\bottomrule
\caption{Caption numbered as 1 and below horizontal line.}\\
\endlastfoot
8.8024 &8.8024 &8.8024 &7.2679 &1.3161e+01\\
%A lot more lines here.
9.0364 &9.0364 &9.0364 &7.2678 &1.4124e+01\\
\end{longtable}
\end{document}
我对文本“下页继续...”做了类似的修改,因此它出现在分页符的水平线下方,但您可以根据需要恢复它。
如果您想要将标题和延续文本放在顶部(有时表格标题需要放在实际表格内容之前),那么您可以使用\endfirsthead
,\endhead
命令:
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\begin{longtable}{ccccc}
\caption{Caption numbered as 1 and above horizontal line.}\\
\toprule
1&2&3&&\\
\midrule
\endfirsthead
\multicolumn{5}{r}{Table~\thetable (Continued)}\\
\toprule
1&2&3&&\\
\midrule
\endhead
\hline
\bottomrule
\endfoot
\bottomrule
\endlastfoot
8.8024 &8.8024 &8.8024 &7.2679 &1.3161e+01\\
%A lot more lines here.
9.0364 &9.0364 &9.0364 &7.2678 &1.4124e+01\\
\end{longtable}
\end{document}