![使用 longtable 将 pgfplotstable 的第一行和最后一行保存在一页上](https://linux22.com/image/275885/%E4%BD%BF%E7%94%A8%20longtable%20%E5%B0%86%20pgfplotstable%20%E7%9A%84%E7%AC%AC%E4%B8%80%E8%A1%8C%E5%92%8C%E6%9C%80%E5%90%8E%E4%B8%80%E8%A1%8C%E4%BF%9D%E5%AD%98%E5%9C%A8%E4%B8%80%E9%A1%B5%E4%B8%8A.png)
我正在使用pgfplotstable
。longtable
一切运行良好,但有时一行可能位于一页上,这有点丑陋。我怎样才能将表格的前 3 行和后 3 行保留在同一页上?
谢谢!
以下是我迄今为止使用的代码:
\pgfplotstabletypeset[
begin table=\begin{longtable},
end table=\end{longtable},
every head row/.style={output empty row},
every first row/.append style={before row={%
\caption{Runtime results in milliseconds of the algorithms \ref{alg:search-rg} and \ref{alg:search-rg-astar} tested on the potato network.}\label{tbl:results_potato}\\\hline%
Depth & \textsc{Bfs} & \textsc{Norm} & \textsc{NowmW} & \textsc{Heur}\\\hline
\endfirsthead
\multicolumn{\pgfplotstablecols}{c}{{\tablename\ \thetable\ -- continued}}\\\hline
Depth & \textsc{Bfs} & \textsc{Norm} & \textsc{NowmW} & \textsc{Heur}\\\hline
\endhead
\hline
\multicolumn{\pgfplotstablecols}{r}{Continued on the next page.}
\endfoot
\hline
\endlastfoot
},
},
col sep=comma,
string type,
columns/Depth/.style={column name=Depth, column type={l}},
columns/Bfs/.style={column name=\textsc{Bfs}, column type={n{5}{3}}},
columns/Norm/.style={column name=\textsc{Norm}, column type={n{5}{3}}},
columns/NormW/.style={column name=\textsc{NormW}, column type={n{5}{3}}},
columns/Heur/.style={column name=\textsc{Heur}, column type={n{5}{3}}},
]{potato.csv}
基本上,告诉 pgfplotstable 使用 longtable,删除其自己的标题创建以对其进行自定义。
答案1
请始终发布完整的文档而不仅仅是片段。
您可以使用按键添加命令来控制分页。这里我在第 6 行强制分页,这样就只停止一行 + 标题在第 2 页。
1,2,3,4,5
a,b,c,d,e
a,b,c,d,e
a,b,c,d,e
A,B,C,D,E
A,B,C,D,E
a,b,c,d,e
a,b,c,d,e
A,B,C,D,E
A,B,C,D,E
11,22,33,44,55
\documentclass{article}
\usepackage{pgfplotstable,longtable}
\setlength\textheight{15\baselineskip}
\begin{document}
\pgfplotstabletypeset[
begin table=\begin{longtable},
end table=\end{longtable},
every head row/.style={output empty row},
every first row/.append style={before row={%
\caption{Runtime results in milliseconds of the algorithms zzz and zzzz tested on the potato network.}\label{tbl:results_potato}\\\hline%
Depth & \textsc{Bfs} & \textsc{Norm} & \textsc{NowmW} & \textsc{Heur}\\\hline
\endfirsthead
\multicolumn{\pgfplotstablecols}{c}{{\tablename\ \thetable\ -- continued}}\\\hline
Depth & \textsc{Bfs} & \textsc{Norm} & \textsc{NowmW} & \textsc{Heur}\\\hline
\endhead
\hline
\multicolumn{\pgfplotstablecols}{r}{Continued on the next page.}
\endfoot
\hline
\endlastfoot
},
},
every nth row={6}{before row=\pagebreak},%<<<<<<<<<<<<<<<<<
col sep=comma,
string type,
columns/Depth/.style={column name=Depth, column type={l}},
columns/Bfs/.style={column name=\textsc{Bfs}, column type={n{5}{3}}},
columns/Norm/.style={column name=\textsc{Norm}, column type={n{5}{3}}},
columns/NormW/.style={column name=\textsc{NormW}, column type={n{5}{3}}},
columns/Heur/.style={column name=\textsc{Heur}, column type={n{5}{3}}},
]{potato.csv}
\end{document}