如何生成固定宽度的表格
2个回答
展开全部
在LATEX 中生成固定宽度的表格有两种方法,一种是通过扩展列之间的空隙,另一种是扩展某些指定的列。
第一种方法通过tabular*环境来实现。在tabular*环境的第一个参数中指定表格的总宽度,然后在表格的列格式参数中使用\extracolsep命令来增加列之间的空隙。
\begin{tabular*}{5cm}{@{\extracolsep{\fill}}lllr}
\hline
1 & 2 & 3 & 4 \\
21 & 22 & 23 & 24 \\
\hline
\end{tabular*}
如图:
X
这种方法的一个缺点是列之间如果加入分隔符,则列之间的空隙是放在下一列的左边而不是在两列之间平均分配。我们来看上面的例子加入分隔符后的样子
\begin{tabular*}{5cm}
{@{\extracolsep{\fill}}|l|l|l|r|}
\hline r /> 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 宏包的特点。但是它的用法有点复杂,请仔细阅读它的文 档。
第一种方法通过tabular*环境来实现。在tabular*环境的第一个参数中指定表格的总宽度,然后在表格的列格式参数中使用\extracolsep命令来增加列之间的空隙。
\begin{tabular*}{5cm}{@{\extracolsep{\fill}}lllr}
\hline
1 & 2 & 3 & 4 \\
21 & 22 & 23 & 24 \\
\hline
\end{tabular*}
如图:
X
这种方法的一个缺点是列之间如果加入分隔符,则列之间的空隙是放在下一列的左边而不是在两列之间平均分配。我们来看上面的例子加入分隔符后的样子
\begin{tabular*}{5cm}
{@{\extracolsep{\fill}}|l|l|l|r|}
\hline r /> 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 宏包的特点。但是它的用法有点复杂,请仔细阅读它的文 档。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询