将关联表扩展到多列

将关联表扩展到多列

在一篇论文中,我使用了大量关联表。具有键和值的表。由于键和值都很短,因此空间效率很低。

可以重复列标题,从而充分利用行。例如

H1 H2
A  1
B  2
C  3
D  4

H1 H2 H1 H2
A  1  C  3
B  2  D  4

是否有一个包可以自动处理此类转换。手动执行此操作非常麻烦(因为表格是由程序生成的),并且如果不直接了解一页上可以容纳多少重复...

答案1

这可能需要做更多的工作(它实际上并没有为插入的标题分配任何空间,因此您会收到过满页面警告,并且原则上可能会过度打印页脚)但它可以改进,或者它可能已经没问题了。

它显示了一个两列表格,分布在三页列和两页上。

在此处输入图片描述

\documentclass[a5paper]{article}
\usepackage{array,multicol}

\def\a{\stepcounter{enumi}\Roman{enumi}&\theenumi\\}
\def\b{\a\a\a\a\a\a\a\a\a\a\a}
\makeatletter
\let\old@pagesf\page@sofar
\def\page@sofar{%
\process@cols\mult@rightbox{%
\setbox\count@\vbox{\hbox to \columnwidth{%
   \bfseries Head A\hfill Head B}\box\count@}}%
   \old@pagesf}

\makeatother
\begin{document}

\noindent X\dotfill X
\setlength\columnsep{2em}
\begin{multicols}{3}\let\\\cr
\halign{\textbf{#}\hfil\quad&#\hfil\\
\b\b\b\b\b
\b\b\b\b\b}
\end{multicols}




\end{document}

相关内容