控制表格中左对齐的列宽

控制表格中左对齐的列宽

我想制作一个表格,第一列的列宽大于默认列宽。此列中的文本应左对齐。这是我的代码。

\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 来调整每列的宽度。您还可以通过更改lr(或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}

但请记住,没有垂直条会更漂亮。

相关内容