我有一张占据整整一页的表格,但我希望它从已经有一些文本的页面开始,然后继续到下一页(即,如果表格被拆分并跨越两页,这是可以的)。这是一个简单的两列表格:
\begin{table}[h]
\centering
\begin{tabular}{| p{.20\textwidth} | p{.80\textwidth} |}
\hline
foo & bar \\ \hline
foo & bar \\ \hline
...
\end{tabular}
\end{table}
我想我需要它longtable
?我该如何使用它?
答案1
有几个选项描述在如何制作一个占用多页空间的表格?
我已经使用该包在下面放置了一个 MWE longtable
;我故意没有将其放置longtable
在table
环境中,这样它就不会浮动,并且会显示它跨页面。
正如@Werner 评论中所述,文档有很多细节。
\documentclass{article}
\usepackage{longtable}
\usepackage{lipsum} % just for dummy text- not needed for a longtable
\begin{document}
\lipsum[1]
\lipsum[1]
\lipsum[1]
%\begin{table}[h]
%\centering
\begin{longtable}{| p{.20\textwidth} | p{.80\textwidth} |}
\hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
foo & bar \\ \hline
\caption{Your caption here} % needs to go inside longtable environment
\label{tab:myfirstlongtable}
\end{longtable}
%\end{table}
Table \ref{tab:myfirstlongtable} shows my first longtable.
\end{document}
附注:有些人反对在表格中使用垂直线 - 但这是另一个讨论 :) 请查看为什么不在表格中使用垂直线('|')?
答案2
您可以尝试longtblr
环境tabularray
包。它有X
列,可以在两列文档中使用。
\documentclass{article}
\usepackage[a6paper,margin=15mm]{geometry}
\usepackage{tabularray}
\usepackage{xcolor}
\begin{document}
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
\begin{longtblr}[
caption = {Long Title},
label = {tab:test},
]{
colspec = {|XX[4]|},
rowhead = 1,
hlines,
row{even} = {gray9},
row{1} = {olive9},
}
Head & Head \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
foo & bar \\
\end{longtblr}
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
\end{document}