如何将数字的小数点对齐?请解释一下代码的含义

如何将数字的小数点对齐?请解释一下代码的含义

我的桌子:

\begin{table}[!htb]
\caption{Question}
\label{tab:q}
\begin{tabular}{@{}lclclclcl@{}}
\toprule
                        & \multicolumn{4}{l}{\textbf{Event 1}}      & \multicolumn{4}{l}{\textbf{Event 2}}    \\ \cmidrule(l){2-9} 
\textbf{}               & \multicolumn{2}{l}{Prob} & \multicolumn{2}{l}{Amount} & \multicolumn{2}{l}{Prob} & \multicolumn{2}{l}{Amount} \\ \midrule
\textbf{Graduation}     & 0.1482        & ***      & 487.17         &         & $-0.2209$        & ***     & $-1,613.31$      & ***      \\
\textbf{}               & (0.0409)      &          & (520.14)       &         & (0.0491)       &         & (396.12)      &          \\
\textbf{First job}      & 0.1174        & ***      & 2,891.29       & **       & -0.1756        & ***     & $-1,516.49$      & ***      \\
\textbf{}               & (0.0312)      &          & (1283.82)       &         & (0.0319)       &         & (517.66)      &          \\
\textbf{First marriage} & $-0.0246$       &          & $-1,780.18$       & **      & 0.0413         & ***      & 379.59        &  ***        \\
\textbf{}               & (0.0168)      &          & (656.93)       &         & (0.0140)       &         & (131.73)      &          \\
\textbf{First child}    & $-0.0514$       & **        & $-369.90$        &         & 0.0808         & ***     & 1,234.24        & **        \\
                        & (0.0243)      &          & (1328.18)       &         & (0.0206)       &         & (603.08)      &          \\ \midrule
\multicolumn{9}{l}{Standard errors are in parentheses.}                                                                                                                                                              
\end{tabular}
\end{table}

我希望数字按小数点对齐。我知道这个问题经常被问到,但我无法在我的表格上重现代码,因为我不明白代码是什么样子\newcolumntype{d}[1]{D{.}{.}{#1}}\begin{tabular}{l *{4}{d{3.3}} }意味着什么。

编辑:向 Steven 致敬!我现在可以重现结果了!

答案1

在这里,我采用了我在奖金本答案的部分内容:指定表格中的最小(非固定)宽度。我创建了自己的D列类型,它接受一个参数,该参数指定小数点后的最大位数(此处,右括号算作一位数字)。我对您的输入所做的唯一更改是将减号隔离在它们自己的数学组中,而不是$-$xx.xx在数学中包含完整的单元格条目$-xx.xx$,因为解析器需要将小数点前的内容与小数点后的内容分开。

\documentclass{article}
\usepackage{tabularx,stackengine,collcell,booktabs}
\let\endecm\relax
\newcolumntype{D}[1]{>{\collectcell\Decm l{#1}}r<%
  {..\endDecm\endcollectcell}}
\def\decm#1#2#3.#4.#5\endDecm{#3.%
  \stackengine{0pt}{#4}{\rule{#2\wd0}{0pt}}{O}{#1}{F}{F}{L}}
\newcommand\Decm[1]{\setbox0=\hbox{0}\decm#1}
\begin{document}
\begin{tabular}{@{}lD{5}lD{3}lD{5}lD{3}l@{}}
\toprule
                        & \multicolumn{4}{l}{\textbf{Event 1}}      & \multicolumn{4}{l}{\textbf{Event 2}}    \\ \cmidrule(l){2-9} 
\textbf{}               & \multicolumn{2}{l}{Prob} & \multicolumn{2}{l}{Amount} & \multicolumn{2}{l}{Prob} & \multicolumn{2}{l}{Amount} \\ \midrule
\textbf{Graduation}     & 0.1482        & ***      & 487.17         &         & $-$0.2209        & ***     & $-$1,613.31      & ***      \\
\textbf{}               & (0.0409)      &          & (520.14)       &         & (0.0491)       &         & (396.12)      &          \\
\textbf{First job}      & 0.1174        & ***      & 2,891.29       & **       & $-$0.1756        & ***     & $-$1,516.49      & ***      \\
\textbf{}               & (0.0312)      &          & (1283.82)       &         & (0.0319)       &         & (517.66)      &          \\
\textbf{First marriage} & $-$0.0246       &          & $-$1,780.18       & **      & 0.0413         & ***      & 379.59        &  ***        \\
\textbf{}               & (0.0168)      &          & (656.93)       &         & (0.0140)       &         & (131.73)      &          \\
\textbf{First child}    & $-$0.0514       & **        & $-$369.90        &         & 0.0808         & ***     & 1,234.24        & **        \\
                        & (0.0243)      &          & (1328.18)       &         & (0.0206)       &         & (603.08)      &          \\ \midrule
\multicolumn{9}{l}{Standard errors are in parentheses.}                                                                                                                                                              
\end{tabular}
\end{document}

在此处输入图片描述

相关内容