使长表格跨越两列

使长表格跨越两列

我正在使用 multicol 创建一个使用书籍文档类的双列文档。我有一个长表格,我想在分页符处将其拆分,然后在下一列继续。

我可以将其拆分成两个表,但我希望它们的宽度等都相同。我尝试过使用 longtable,但无法正常工作。

我基本上想让表格像普通文本一样拆分并排列成两列。

编辑:抱歉,信息不足。只有 1 列时,使用 longtable 可以正常工作,但当我使用多列时,它会崩溃并继续超出页面范围。我在编译时也遇到错误。

包 longtable 错误:longtable 不是处于 1 列模式。

这是我的代码的简化:

\documentclass[11pt,a4paper]{article}

\usepackage{multicol}
\usepackage{longtable}

\begin{document}

\begin{multicols}{2}

\begin{longtable}{ccc}
Header of first column & Header of second column \\
\endhead
Table cell 1, 1 & Table cell 1, 2 \\
Table cell 2, 1 & Table cell 2, 2 \\
Table cell 1, 1 & Table cell 1, 2 \\
...
...
\end{longtable}

\end{multicols}

\end{document}

外观

我希望这些信息足够了。有什么想法吗?

答案1

使用\twocolumn格式,然后就可以使用包supertabular

\documentclass[11pt,a4paper]{article}
\usepackage{supertabular}

\begin{document}
\twocolumn
\tablehead{Header of first column & Header of second column \\}

\begin{supertabular}{ccc}
Table cell 1, 1 & Table cell 1, 2 \\
Table cell 2, 1 & Table cell 2, 2 \\
Table cell 1, 1 & Table cell 1, 2 \\
...
...
\end{supertabular}

\end{document}

multicols您只能与包一起使用tabbing环境。

答案2

在以下答案之一中描述了使用longtablewithin 的方法multicols在 LaTeX 中平衡多列内的长表。由于 multicol 在表格处理之后进行平衡,因此某些功能(例如重复的表格标题)将不起作用。

supertabular使用with 的方法multicols描述于使用新命令将 Supertabular 转换为 Multicols

两个表格环境之间的区别在于,它supertabular会为每一列重新计算表格单元格宽度,同时longtable保持它们保持一致。

答案3

我已经在类似的问题中发布了这个答案,但是我使用了minipagevdots得到了我想要的效果:

\documentclass[11pt]{article}
\usepackage{booktabs}
\begin{document}

\begin{table} 
\caption{Your Caption}

\begin{minipage}{0.5\textwidth}
\begin{tabular}{ccc}
\toprule
\textbf{Cell} & \textbf{Simulation} & \textbf{Theoretical} \\
\midrule
0  &  0.0  &  7.88e-31   \\
\vdots & \vdots & \vdots  \\ 
\bottomrule
\end{tabular}

\end{minipage} \hfill
\begin{minipage}{0.5\textwidth}
\begin{tabular}{ccc}
\toprule
\textbf{Cell} & \textbf{Simulation} & \textbf{Theoretical}  \\
\midrule
\vdots & \vdots & \vdots  \\
99  &  0.0  &  7.88-29  \\ 
\bottomrule
\end{tabular}

\end{minipage}
\end{table}
\end{document}

在此处输入图片描述

相关内容