表格单元格居中对齐(dcolumn 中的小数点除外)

表格单元格居中对齐(dcolumn 中的小数点除外)

如何将 dcolumn-Type 的单元格内容在小数点以外的指定点(例如小数点后第二位)对齐?

我有一张以下结构的表:

\begin{table}[!htbp] \centering 
\begin{tabular}{l*{2}{D{.}{.}{-1}}} 
\hline
  & \multicolumn{1}{c}{This is centered text . This is centered text} & \multicolumn{1}{c}{Narrow} \\
\hline 
 \textit{Measure1} & 0.001 & 0.001\\ 
  & (0.001) & (0.001) \\ 
 \textit{Measure2} &  -0.006^{**} &  -0.006^{**}\\ 
\hline
\end{tabular} 
\end{table}

在此处输入图片描述

多列内容居中对齐,而 dcolumn 内容以“.”为中心对齐,这完全没问题。但是,如果我有一个如图所示的窄列,dcolumn 单元格的内容看起来会奇怪地对齐,因为它有三个小数位(以及潜在的 **、() 等)。

您知道如何解决这个问题吗?添加额外空格符等解决方法也可能有帮助。

提前致谢

答案1

我认为真正的解决方案(而不是仅仅治疗某些症状)不是D{.}{.}{-1}对所有需要执行小数点对齐的列都使用这种方法。相反,应该将D列类型的参数调整为各个列中实际遇到的数字的属性。

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D..{#1}} % d{2.5}: reserve 2 digits before and 5 digits after decimal marker

\begin{document}
\begin{table}[!htbp] 
\centering
\begin{tabular}{l d{-1} d{2.5} }
\hline
  & \multicolumn{1}{c}{This is centered text. This is centered text.}
  & \multicolumn{1}{c}{Narrow} \\
\hline
 \textit{Measure 1} & 0.001 & 0.001\\
  & (0.001) & (0.001) \\
 \textit{Measure 2} &  -0.006^{**} &  -0.006^{**}\\
\hline
\end{tabular}
\end{table}
\end{document} 

相关内容