我正在将 HTML 表格翻译成乳胶表格。
在 HTML 中,我有一个全宽的表格,该表格根据其内容分配列。
因此这会导致列间距相等,
<table style="width: 100%;">
<tr>
<td>a</td>
<td>a</td>
</tr>
</table>
而这将为左列分配 4 倍的空间:
<table style="width: 100%;">
<tr>
<td>aaaa</td>
<td>a</td>
</tr>
</table>
另请参见此处的嵌套示例:https://jsfiddle.net/49nhmqLu/1/
表格型
我发现tabularx
一X
列占用了剩余的空间:
\begin{tabularx}{\textwidth}{lX}
但是多X
列会均匀分布宽度,而不是按照内容需要。(XX
可能是 50:50,XXX
也可能是 33:33:33)
我的问题:是否可以有一种根据内容分配宽度的列类型?就像我的aaaa - a
例子(即此处的 80:20)?
附加要求
实际上,表格单元格的内容本身可能tabularx
由
答案1
tabular* 将把表格的宽度固定为文本宽度。
对于表格单元格内的表格,您可以使用多行包。您可以使用它指定包含多行/多列(以及两者)的单元格。可以找到示例 这里。
答案2
为了获得X
具有特定比例的长度的列,您必须使用语法
>\hsize=x_i\hsize}X
,其中x_i
是第 i 个 X 列的系数,该系数与总自由长度的所需分数成比例,并且系数的总和等于 X 列的总数。
例如,为了得到具有两个 X 列的比率 80/20,您必须求解(简单的)线性系统:
x_1/80=x_2/40, x_1+x_2=2
,因此,在表格序言中:
>{\hsize=1.6\hsize}X>{\hsize=0.4\hsize}X
。