在一篇论文中,我使用了大量关联表。具有键和值的表。由于键和值都很短,因此空间效率很低。
可以重复列标题,从而充分利用行。例如
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}