多列表格并不总是对齐

多列表格并不总是对齐

我希望第一个表格的结束位置与第二个表格的第四列开始位置相同。第一个表格的
尺寸为cm,第二个表格的尺寸为 cm。 使用 cm 可以获得更好的结果(但并不完美),即使我将第一个表格和第二个表格的尺寸都设为 cm,错误仍然存​​在。 为什么会发生这种情况?9+1+2.5+2.59+1+5+1
9+1+2.25+2.259+1+3+39+1+6+1

第三列和第四列未对齐

文档代码为

\documentclass[a4paper,10pt]{article}
\usepackage[margin=2cm]{geometry}

\begin{document}
\def\arraystretch{1.3}

\section{Course list}
\begin{tabular}{ |p{9cm}|p{1cm}|p{2.5cm}|p{2.5cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{First Table}} \\
\hline
\textbf{Couse} & \textbf{ECTS} &\textbf{Period} & \textbf{Language} \\
\hline
Course 1 & 6 & First & English \\
Course 2 & 6 & First & English \\
Course 3 & 12 & Second & German \\
\hline
\end{tabular}

\section{Comparison}
\begin{tabular}{ |p{9cm}|p{1cm}|p{5cm}|p{1cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{Second Table}} \\
\hline
\textbf{Program A} & \textbf{ECTS} & \textbf{Program B} & \textbf{ECTS} \\
\hline
Course Z & 4 & Course A & 6 \\
Course Y & 5 & Course B & 6 \\
Course X & 5 & Course C & 6 \\
Course W & 2 & & \\
Course V & 2 & & \\
\hline
\end{tabular}
\vspace{5mm}
\newline
\begin{tabular}{ |p{9cm}|p{1cm}|p{5cm}|p{1cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{Third Table}} \\
\hline
\textbf{Program A} & \textbf{ECTS} & \textbf{Program B} & \textbf{ECTS} \\
\hline
Course \alpha & 4 & Course I & 6 \\
Course \beta & 2 & & \\
\hline
\end{tabular}
\end{document}

答案1

将@DavidCarlisle 的评论转化为答案。

加载array包以获得更平滑的表格。然后,要将一列宽度5cm与两列宽度对齐2.5cm+2.5cm,您需要考虑两个额外的\tabcolseps 加一个\arrayrulewidth。因此,p{5}使用而不是p{\dimexpr5cm+2\tabcolsep+\arrayrulewidth}

\usepackage[margin=2cm]{geometry}
\usepackage{array}

\begin{document}
\def\arraystretch{1.3}

\section{Course list}
\begin{tabular}{ |p{9cm}|p{1cm}|p{2.5cm}|p{2.5cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{First Table}} \\
\hline
\textbf{Couse} & \textbf{ECTS} &\textbf{Period} & \textbf{Language} \\
\hline
Course 1 & 6 & First & English \\
Course 2 & 6 & First & English \\
Course 3 & 12 & Second & German \\
\hline
\end{tabular}

\section{Comparison}
\begin{tabular}{ |p{9cm}|p{1cm}|p{\dimexpr5cm+2\tabcolsep+\arrayrulewidth}|p{1cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{Second Table}} \\
\hline
\textbf{Program A} & \textbf{ECTS} & \textbf{Program B} & \textbf{ECTS} \\
\hline
Course Z & 4 & Course A & 6 \\
Course Y & 5 & Course B & 6 \\
Course X & 5 & Course C & 6 \\
Course W & 2 & & \\
Course V & 2 & & \\
\hline
\end{tabular}
\vspace{5mm}
\newline
\begin{tabular}{ |p{9cm}|p{1cm}|p{5cm}|p{1cm}|  }
\hline
\multicolumn{4}{|c|}{\textbf{Third Table}} \\
\hline
\textbf{Program A} & \textbf{ECTS} & \textbf{Program B} & \textbf{ECTS} \\
\hline
Course $\alpha$ & 4 & Course I & 6 \\
Course $\beta$ & 2 & & \\
\hline
\end{tabular}
\end{document}

在此处输入图片描述

相关内容