如何将 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}