相关文章推荐
大鼻子的圣诞树  ·  C# ...·  1 年前    · 
中生成固定宽度的表格有两种方法,一种是通过扩展列之间的空隙,另一种是扩展某些指定的列。

第一种方法通过 tabular* 环境来实现。在 tabular* 环境的第一个参数中指定表格的总宽度,然后在表格的列格式参数中使用 \extracolsep 命令来增加列之间的空隙。

\begin{tabular*}{5cm}{@{\extracolsep{\fill}}lllr}
\hline
1 & 2 & 3 & 4 \\
21 & 22 & 23 & 24 \\
\hline
\end{tabular*}

如果论文是单列的,设置表格为15或16cm合适, 如果是两列排版,表格只占一列时,7.5cm 这种方法的一个缺点是列之间如果加入分隔符,则列之间的空隙是放在下一列的左边而不是在两列之间平均分配。我们来看上面的例子加入分隔符后的样子

\begin{tabular*}{5cm}
{@{\extracolsep{\fill}}|l|l|l|r|}
\hline

1 & 2 & 3 & 4 \\
21 & 22 & 23 & 24 \\
\hline
\end{tabular*}

另一种方法可以通过使用 tabular 环境的列格式参数之一 ph 宽度 i 来指定相应列的固定宽度。这种方法需要用户手工计算分配每个列的具体宽度。另外,由于 p 参数不能和其他控制对齐方式的参数同时作用在一个列上,因此需要使用额外的方法来控制这些列的对齐方式( 参见技巧55 )。

tabularx 宏包提供了一个自动计算分配列宽度的表格环境 tabularx 。这个环境的使用方法和 tabular* 相同。不同之处在于它增加了一个 X 参数。所有使用 X 参数的列会平均分配多余的空间,然后转换为p 参数来指定列的宽度。该宏包也提供了方法让你可以指定如何转换或者转换为其他的列参数。该宏包需要 array 宏包的支持。

ltxtable 宏包则结合了 longtable tabularx 宏包的特点。但是它的用法有点复杂,请仔细阅读它的文档。

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑