1.5 + 1.5 > 3:表格中列对齐困难

1.5 + 1.5 > 3:表格中列对齐困难

我制作了一个 4 列表格和一个单独的 2 列表格。我以为如果列的大小是原来的两倍,它们应该对齐,但事实并非如此。问题是什么?

\documentclass[12pt]{article}

\usepackage[margin=0.25in]{geometry}

\begin{document}

\begin{tabular}{|p{1.5in}|p{1.5in}|p{1.5in}|p{1.5in}|}
\hline
1 & 2 & 3 & 4 \\
\hline
\end{tabular}

\vspace{0.25in}

\begin{tabular}{|p{3in}|p{3in}|}
\hline
1 & 2 \\ 
\end{tabular}

\end{document}

这是屏幕截图。

在此处输入图片描述

答案1

您忘记了\tabcolsep表格列两侧的空间。因此,第一个表格的宽度为 6 英寸加 8 英寸\tabcolsep,而第二个表格的宽度仅为 6 英寸加 4 英寸\tabcolsep

\documentclass[12pt]{article}

\usepackage[margin=0.25in]{geometry}
\usepackage{calc}

\begin{document}

\begin{tabular}{|p{1.5in}|p{1.5in}|p{1.5in}|p{1.5in}|}
\hline
1 & 2 & 3 & 4 \\
\hline
\end{tabular}

\vspace{0.25in}

\begin{tabular}{|p{3in+2\tabcolsep}|p{3in+2\tabcolsep}|}
\hline
1 & 2 \\
\end{tabular}

\end{document}

您需要添加2\tabcolsep到第二张表中的每一列。

在此处输入图片描述

如果您希望单元格宽度为 1.5 英寸或 3 英寸(包括填充),则可以将其从规定的宽度中删除:

\documentclass[12pt]{article}

\usepackage[margin=0.25in]{geometry}
\usepackage{calc}

\begin{document}

\begin{tabular}{|*{4}{p{1.5in-2\tabcolsep}|}}
\hline
1 & 2 & 3 & 4 \\
\hline
\end{tabular}

\vspace{0.25in}

\begin{tabular}{|*{2}{p{3in-2\tabcolsep}|}}
\hline
1 & 2 \\
\end{tabular}

\end{document}

在此处输入图片描述

请注意,您不应设置\tabcolsep为零,否则单元格文本将紧挨着垂直规则。

答案2

列元素之间存在固有间距,即\tabcolsep。当您重置它们(通过@{}任何地方)时,您会得到

\documentclass[12pt]{article}

\usepackage[margin=0.25in]{geometry}

\begin{document}

\begin{tabular}{@{}|@{}p{1.5in}@{}|@{}p{1.5in}@{}|@{}p{1.5in}@{}|@{}p{1.5in}@{}|@{}}
\hline
1 & 2 & 3 & 4 \\
\hline
\end{tabular}

\vspace{0.25in}

\begin{tabular}{@{}|@{}p{3in}@{}|@{}p{3in}@{}|@{}}
\hline
1 & 2 \\ 
\end{tabular}

\end{document}

在此处输入图片描述

但这是无稽之谈,你可以像 egreg 在他的回答中所做的那样,将不匹配添加到后者,而我则随意地输入了我令人惊叹的答案。

相关内容