我的桌子:
\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}