我用过\begin{tabularx}
或者\begin{tabular*}
但是这两个都不起作用,这两个环境设法将表格的宽度增加到与文本相同的程度,但它们不能让表格内的列内容随着表格宽度的增加而增加。
答案1
环境tabular*
只能作用于列间距,而tabularx
可以通过列说明符决定列的宽度X
。如果使用后者的环境而没有X
列,则不会发生自动放大。
假设您有三列,第一列列出项目,第二列列出描述,第三列列出评论;我们希望后两列按比例放大到所需的表格宽度
\usepackage{tabularx,booktabs}
...
\begin{tabularx}{\textwidth}{l X X}
\toprule
Item & Description & Comments \\
\midrule
Item 1 &
this is the description of item 1 &
these are the comments on item 1 \\
Item 2 &
this is the description of item 2 &
these are the comments on item 2 \\
...
\bottomrule
\end{tabularx}
(我使用了书签包)。将环境放入table
带有的环境内\centering
,就大功告成了。也可以有X
不同宽度的列,手册中介绍了一种方法tabularx
。还有禁忌包,应该能够管理这种表。
答案2
我假设你的意思是\tabskip
-glue (纯格式的示例):
\halign{\tabskip1em plus .2\hsize#\hfil&#\hfil&\tabskip0pt #\hfil\cr
A testing&table&with\cr Some&content&booyah\cr}
\smallskip\hrule\smallskip
\halign to \hsize{\tabskip1em plus .2\hsize#\hfil&#\hfil&\tabskip0pt #\hfil\cr
A testing&table&with\cr Some&content&booyah\cr}
\smallskip\hrule\smallskip
\halign to .5\hsize{\tabskip1em plus .2\hsize#\hfil&#\hfil&\tabskip0pt #\hfil\cr
A testing&table&with\cr Some&content&booyah\cr}
\bye
如您所见,唯一改变的是 的宽度\halign
。 tabskip 粘合的正向可拉伸性使列可以展开以适应可用空间。
答案3
这是一个简单的方法:
\newlength\q
\setlength\q{\dimexpr .5\textwidth -2\tabcolsep}
\noindent\begin{tabular}{p{\q}p{\q}}
alfa & bravo \\
charlie & delta
\end{tabular}