I am trying to align an equals sign between two sets of cells. The first table here doesn't want to align, whilst the second table does. Is there a more elegant way of doing this?
\documentclass{article}
\begin{document}
\begin{table}
\centering
\begin{tabular}{c c c c}
\hline
1 & 167 & 1 & 144 \\
2 & 194 & 2 & 167 \\
\multicolumn{2}{r}{Chi-square = .19} & \multicolumn{2}{r}{Chi-square = 5.74} \\
\multicolumn{2}{r}{\emph{p} = .999} & \multicolumn{2}{r}{\emph{p} = .332} \\
\hline
\end{tabular}
\end{table}
\end{document}
This one is aligned:
\documentclass{article}
\begin{document}
\begin{table}
\centering
\begin{tabular}{c c c c}
\hline
1 & 160 & 1 & 160 \\
2 & 160 & 2 & 179 \\
\multicolumn{2}{r}{Chi-square=2.73}&\multicolumn{2}{r}{Chi-square=5.28} \\
\multicolumn{2}{r}{ p=.741}&\multicolumn{2}{r}{ p=.383} \\
\hline
\end{tabular}
\end{table}
\end{document}
Best Answer
The following code seems to align at equal signs:
Explanation: Since the alignment was supposed to be different in the lower part than in the upper part, I added two extra
tabular
's nested inside\multicolumn
s. These twotabular
s use the column definitionr@{=}l
, which means that there are two columns, aligned right and left and between them I want an equal sign (and no padding). Since the equal sign is the separator between the columns, it will be aligned by definition. The typical use that one sees in examples that use the@{}
column separator is@{.}
for aligning numbers by their decimal point.