[Tex/LaTex] dcolumn and text in table header

dcolumntables

I am using the dcolumn package to align cell contents at the decimal seperator. Now in the table header I have a textual description of the column, for example like this:

\begin{tabular}{c|d{4.3}}
  field & \multicolumn{1}{c}{description} \\
  \hline
  a     &    0.55 \\
  b     & 1223.4
\end{tabular}

As you can see I had to wrap this text in multicolumn to make LaTeX happy which somehow is a hack. Is there a more elegant way? Especially for many columns this gets a little cumbersome.

Best Answer

It's not a hack, it is the correct approach. The dcolumn package works by inserting appropriate code before and after the cell contents to make the alignment work. Using \multicolumn skips insertion of the alignment code, which is exactly what you want.

You could use my siunitx package to do the alignment without using \multicolumn, but it might be overkill for this case:

\documentclass{article}
\usepackage{booktabs,siunitx}
\begin{document}
\begin{tabular}{cS[table-format = 4.3]}
  \toprule
  field & {Description} \\
  \midrule
  a     &    0.55 \\
  b     & 1223.4 \\
  \bottomrule
\end{tabular}
\end{document}
Related Question