如何在一页或多页中制作一个有 25 列和 30 行的表格?
结果是
谢谢
答案1
首先,25 列太多了!请问问自己,如果将表格分成两部分或三部分,每部分分别有 12-13 列或 8-9 列,您的读者是否会(大大)受益。
假设列一开始就相当窄,并且默认字体大小合理(例如 10pt),如果表格是横向的,那么\small
(将字体大小减小 10%)和较小的参数值\tabcolsep
(例如2pt
;默认值为6pt
)的组合可能会使表格适合。对于这样的表格,我绝对不会使用任何垂直条;因为每个垂直条都会占用空间0.4pt
,所以有 26 个垂直条会占用不可忽略的空间。
例如,由以下代码生成的表格确实适合(尽管只是刚好!)放在一个页面中。
\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\usepackage{tabularx,rotating,ragged2e,booktabs}
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\setlength\tabcolsep{2pt} % default value: 6pt
\begin{document}
\begin{sidewaystable}
\small
\begin{tabularx}{\textwidth}{@{} *{25}{C} @{} }
\toprule
A & B & C & D & E & F & G & H & I & J & K & L & M &
N & O & P & Q & R & S & T & U & V & W & X & Y \\
\midrule
1000 & 2000 & 3000 & 4000 & 5000 & 6000 & 7000 & 8000 &
9000 & 10000 & 11000 & 12000 & 13000 & 14000 & 15000 & 16000 &
17000 & 18000 & 19000 & 20000 & 21000 & 22000 & 23000 & 24000 & 25000\\
\bottomrule
\end{tabularx}
\end{sidewaystable}
\end{document}
答案2
可以使用-packagelongtable
提供的 -environmet排版包含多行的表格longtable
。此环境允许在表格环境中分页,其使用方式与 -environment 非常相似。通常,我使用 -package提供的 -environmenttabular
排版包含多列的表格。但是,如果遇到包含多列和多行的表格,这两个环境就无法很好地协同工作。这就是为什么我建议您使用-package提供的 -environment。-environment 会将整个页面(不包括页眉和页脚)顺时针旋转 90°。有关详细信息,请参阅下面的示例。sidewaystable
rotate
landscape
pdflscape
landscape
\documentclass{article}
\usepackage{longtable}
\usepackage{pdflscape}
\begin{document}
This text will be displayed in portrait-style page layout.
This text will be displayed in portrait-style page layout.
This text will be displayed in portrait-style page layout.
This text will be displayed in portrait-style page layout.
\begin{landscape} % From here on the page will be turned sidewards.
\begin{longtable}{l | l | l | l | l | l }
foo & foo & foo & foo & foo & foo\\
\hline
\endhead % The lines above will be repeated at top of your table on each new page.
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo\\
foo & foo & foo & foo & foo & foo
\end{longtable}
\end{landscape}
\end{document}