[Tex/LaTex] How to distribute space equally for cells

spacingtables

I have problems with a regression table in my thesis, as LaTeX does not assort cell space equal despite of having stated exact proportions in the code.

Here is the relevant code for it:

\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{palatino,url}
\usepackage{amssymb}
\usepackage{threeparttable}
\usepackage{caption}
\begin{document}

...

\begin{table}[htbp]\footnotesize
\caption{OLS Estimates}
\begin{center}
\begin{threeparttable}[b]
\scalebox{0.8}{%

\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
\hline
\multicolumn{ 1}{|c|}{Constant} & \multicolumn{ 1}{|c|}{GNI} & \multicolumn{ 1}{|c|}           
{CPI} & \multicolumn{ 1}{|c|}{Inflation} & \multicolumn{ 1}{|c|}{Liquidity} &    
\multicolumn{  1}{|c|}{DebtExports} & \multicolumn{ 1}{|c|}{GDPGrowth} \\ \hline
\multicolumn{ 1}{l}{} & \multicolumn{ 1}{l}{} & \multicolumn{ 1}{l}{} & \multicolumn{  
1}{l}{} & \multicolumn{ 1}{l}{} & \multicolumn{ 1}{l}{} & \multicolumn{ 1}{l}{}\\\hline
\multicolumn{ 1}{|c|}{14.303\tnote{***}} & \multicolumn{ 1}{|c|}{-1.704\tnote{**}} & 
\multicolumn{ 1}{|c|}{-1.28\tnote{**}} & \multicolumn{ 1}{|c|}{0.127\tnote{**}} & 
\multicolumn{ 1}{|c|}{-0.042\tnote{***}} & \multicolumn{ 1}{|c|}{0.368\tnote{**}} & 
\multicolumn{ 1}{|c|}{0.052} \\ 
\multicolumn{ 1}{|c|}{(8.91)} & \multicolumn{ 1}{|c|}{(3.01)} & \multicolumn{ 1}{|c|}
{(2.52)} & \multicolumn{ 1}{|c|}{(2.93)} & \multicolumn{ 1}{|c|}{4.47)} & \multicolumn{ 
1}{|c|}{(2.16)} & \multicolumn{ 1}{|c|}{(1.04)} \\ \hline
\multicolumn{ 3}{l}{Note: Absolute values of t-Statistics are reported in parentheses}
\end{tabular}}
\begin{tablenotes} 
\item[\tnote{***}]Significant at the 1 percent level.    
\item[\tnote{**}]Significant at the 5 percent level.   
\item[\tnote{*}]Significant at the 10 percent level.
\end{tablenotes}
\end{threeparttable}
\end{center}
\label{}
\end{table}

Has someone an idea about how to bring also cell 3, CPI, back in line?
So far, all other included tables work perfectly.

Best Answer

The problem is in the final \multicolumn{3}{...} which should be \multicolumn{7}{...}: the text doesn't fit in three cells, so the excess is put in the last of the spanned columns.

However, your input is very complicated and I suggest a simpler method:

\begin{table}[htbp]\footnotesize
\caption{OLS Estimates}\label{xxx}
\centering
\begin{threeparttable}[b]
\begin{tabular}{|*{7}{>{\centering\arraybackslash}p{\dimexpr(\textwidth-2\tabcolsep)/7\relax}|}}
\hline
Constant & GNI & CPI & Inflation & Liquidity & DebtExports & GDPGrowth \\
\hline
\hline
14.303\tnote{***} & $-$1.704\tnote{**} & $-$1.28\tnote{**} & 0.127\tnote{**} &
$-$0.042\tnote{***} & 0.368\tnote{**} & 0.052 \\
(8.91) & (3.01) & (2.52) & (2.93) & (4.47) & (2.16) & (1.04) \\
\hline
\multicolumn{7}{l}{Note: Absolute values of t-Statistics are reported in parentheses}
\end{tabular}
\begin{tablenotes}
\item[\tnote{***}]Significant at the 1 percent level.
\item[\tnote{**}]Significant at the 5 percent level.
\item[\tnote{*}]Significant at the 10 percent level.
\end{tablenotes}
\end{threeparttable}
\end{table}

Each column is allocated one seventh of the available space, and the contents is centered.

I'd suggest also to load the booktabs package and avoid vertical rules: the tabular would become

\begin{tabular}{|*{7}{>{\centering\arraybackslash}p{\dimexpr(\textwidth-2\tabcolsep)/7\relax}|}}
\toprule
Constant & GNI & CPI & Inflation & Liquidity & DebtExports & GDPGrowth \\
\midrule
14.303\tnote{***} & $-$1.704\tnote{**} & $-$1.28\tnote{**} & 0.127\tnote{**} &
$-$0.042\tnote{***} & 0.368\tnote{**} & 0.052 \\
(8.91) & (3.01) & (2.52) & (2.93) & (4.47) & (2.16) & (1.04) \\
\bottomrule
\multicolumn{7}{l}{Note: Absolute values of t-Statistics are reported in parentheses}
\end{tabular}
Related Question