我想制作一个表格,第一列的列宽大于默认列宽。此列中的文本应左对齐。这是我的代码。
\begin{tabular}{llll|l}
Address1 &&&& Mobile: 888-000-0000 \\
Address2 &&&& Fax: 888-000-0000 \\
\end{tabular}
第一列(Address1、Address2)应该有较大的宽度,以便第二列(Mobile、Fax)靠近页面的右边距。现在我只是添加了很多不可见的列,以便它们之间有更多的空间。我想知道是否有办法控制第一列的宽度。
答案1
有很多方法可以实现您的目标。其中之一是使用环境tabular*
而不是tabular
环境:
\begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} l}
Address1 & Mobile: 888-000-0000 \\
Address2 & Fax: 888-000-0000 \\
\end{tabular*}
这个看起来有点吓人的结构的@{\extracolsep{\fill}}
作用是将表格的列最大限度地拉开(同时使整个表格仍然适合宽度的文本块\textwidth
)。
答案2
编辑 21.4.2020 我同意不是建议使用禁忌不再支持。它不受支持且存在缺陷
您可以使用该包禁忌。您可以通过更改括号内的值 5 和 2.5 来调整每列的宽度。您还可以通过更改l
为r
(或c
)来将对齐方式从左对齐更改为右对齐或居中对齐。这是您的表格:
\documentclass{standalone}
\usepackage{tabu}
\begin{document}
\begin{tabu} to \linewidth {X[5,l]|X[2.5,l]}
Address1 & Mobile: 888-000-0000 \\
Address2 & Fax: 888-000-0000 \\
\end{tabu}
\end{document}
得出:
答案3
这是一个快速而粗糙的解决方案tabularx
:
\usepackage{tabularx}
...
\begin{tabularx}{\textwidth}{X|l}
Address1 & Mobile: 888-000-0000 \\
Address2 & Fax: 888-000-0000 \\
\end{tabularx}
但请记住,没有垂直条会更漂亮。