这个问题与表格条目的对齐:负数的情况,其中的问题是在存在负数和/或统计意义星号的情况下如何对齐表列条目。
就我而言,我遇到了同样的问题,另外还有一个问题,那就是我的表中有不同的面板(在下面的例子中是两个),其中每个面板包含用不同比例测量的变量。
下面是一个简化的工作示例。在 中,panel A
我有 2 个小数,前面有 1 位数字;而在 中,panel B
我没有小数,只有 2 位或 3 位数字。
我知道一个选项是使用\usepackage{dcolumn}
,但在这里我不确定如何定义自定义列类型,因为数字根据面板而变化。感谢您的任何建议。
\documentclass{article}
\usepackage{booktabs, longtable}
\usepackage[left=1.7cm,right=1.7cm,top=1.3cm,bottom=1.3cm]{geometry}
\newcommand{\rowgroup}[1]{\hspace{-2em}#1} % for indentation
\usepackage{dcolumn}
\begin{document}
\begin{longtable}[c]{ @{\hspace*{\leftmargin}} lcccccc}
\caption {Example table} \label{tab:table_balance_AvsH} \\ \toprule
& \multicolumn{3}{c}{Period 1} & \multicolumn{3}{c}{Period 2} \\ \cmidrule(r){2-4} \cmidrule(r){5-7}
& Group 1 & Group 2 & Difference & Group 1 & Group 2 & Difference \\
& (1) & (2) & (3) & (4) & (5) & (6) \\ \midrule
\rowgroup{\textit{Panel A: outcome 1 (USD)}} \\ \addlinespace
t - 5 & 8.76 & 9.28 & -0.52 & 10.71 & 6.93 & 3.78 \\
t - 4 & 9.07 & 9.17 & -0.10 & 9.07 & 6.93 & 2.14 \\
t - 3 & 9.34 & 8.36 & 0.97 & 9.36 & 7.27 & 2.09 \\
t - 2 & 9.33 & 8.46 & 0.87 & 9.43 & 8.07 & 1.36 \\
t - 1 & 9.40 & 9.07 & 0.33 & 8.87 & 8.33 & 0.53 \\
\addlinespace
\rowgroup{\textit{Panel B: outcome 2 (Th. USD)}} \\ \addlinespace
t - 5 & 456 & 650 & -194\mbox{*} & 1,007 & 656 & 352 \\
t - 4 & 490 & 650 & -160\mbox{*} & 1,055 & 619 & 436\mbox{*} \\
t - 3 & -383 & 625 & -1008 & 1,060 & 663 & 398 \\
t - 2 & -467 & 653 & -1120 & 1,120 & 877 & 242 \\
t - 1 & 666 & 746 & -80 & 1,117 & 1,020 & 97 \\ \bottomrule
\end{longtable}
\end{document}
答案1
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs, longtable}
\usepackage[left=1.7cm,right=1.7cm,top=1.3cm,bottom=1.3cm]{geometry}
\newcommand{\rowgroup}[1]{\hspace{-2em}#1} % for indentation
\sisetup{table-format=-4.0,
table-space-text-post=*,
table-align-text-post,
group-minimum-digits = 4,
group-separator = {,},
}
\begin{document}
\begin{longtable}[c]{ @{\hspace*{\leftmargin}} l *{6}{S}}
\caption {Example table} \label{tab:table_balance_AvsH} \\ \toprule
& \multicolumn{3}{c}{Period 1} & \multicolumn{3}{c}{Period 2} \\ \cmidrule(r){2-4} \cmidrule(r){5-7}
& {Group 1} & {Group 2} & {Difference} & {Group 1} & {Group 2} & {Difference} \\
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} \\ \midrule
\rowgroup{\textit{Panel A: outcome 1 (USD)}} \\ \addlinespace
t - 5 & 8.76 & 9.28 & -0.52 & 10.71 & 6.93 & 3.78 \\
t - 4 & 9.07 & 9.17 & -0.10 & 9.07 & 6.93 & 2.14 \\
t - 3 & 9.34 & 8.36 & 0.97 & 9.36 & 7.27 & 2.09 \\
t - 2 & 9.33 & 8.46 & 0.87 & 9.43 & 8.07 & 1.36 \\
t - 1 & 9.40 & 9.07 & 0.33 & 8.87 & 8.33 & 0.53 \\
\addlinespace
\rowgroup{\textit{Panel B: outcome 2 (Th. USD)}} \\ \addlinespace
t - 5 & 456 & 650 & -194* & 1 007 & 656 & 352 \\
t - 4 & 490 & 650 & -160* & 1 055 & 619 & 436* \\
t - 3 & -383 & 625 & -1008 & 1 060 & 663 & 398 \\
t - 2 & -467 & 653 & -1120 & 1 120 & 877 & 242 \\
t - 1 & 666 & 746 & -80 & 1 117 & 1020 & 97 \\ \bottomrule
\end{longtable}
\end{document}
附录: 如果你在表格的第二部分的数字中添加两个零(拆分表格后会是什么样子,请参见米科答案),表格可能看起来更好看:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs, longtable}
\usepackage[left=1.7cm,right=1.7cm,top=1.3cm,bottom=1.3cm]{geometry}
\sisetup{table-space-text-post=*,
table-align-text-post,
group-minimum-digits = 4,
group-separator = {,},
}
\begin{document}
\begin{longtable}[c]{c
S[table-format=-3.2]
S[table-format= 3.2]
S[table-format= 4.2]
*{2}{S[table-format=-4.2]}
S[table-format=-3.2]
}
\caption {Example table} \label{tab:table_balance_AvsH} \\ \toprule
& \multicolumn{3}{c}{Period 1} & \multicolumn{3}{c}{Period 2} \\ \cmidrule(r){2-4} \cmidrule(r){5-7}
& {Group 1} & {Group 2} & {Difference} & {Group 1} & {Group 2} & {Difference} \\
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} \\ \midrule
{\textit{Panel A: outcome 1 (USD)}} \\ \addlinespace
t - 5 & 8.76 & 9.28 & -0.52 & 10.71 & 6.93 & 3.78 \\
t - 4 & 9.07 & 9.17 & -0.10 & 9.07 & 6.93 & 2.14 \\
t - 3 & 9.34 & 8.36 & 0.97 & 9.36 & 7.27 & 2.09 \\
t - 2 & 9.33 & 8.46 & 0.87 & 9.43 & 8.07 & 1.36 \\
t - 1 & 9.40 & 9.07 & 0.33 & 8.87 & 8.33 & 0.53 \\
\addlinespace
{\textit{Panel B: outcome 2 (Th. USD)}} \\ \addlinespace
t - 5 & 456.00 & 650.00 & -194.00* & 1 007.00 & 656.00 & 352.00 \\
t - 4 & 490.00 & 650.00 & -160.00* & 1 055.00 & 619.00 & 436.00* \\
t - 3 & -383.00 & 625.00 & -1008.00 & 1 060.00 & 663.00 & 398.00 \\
t - 2 & -467.00 & 653.00 & -1120.00 & 1 120.00 & 877.00 & 242.00 \\
t - 1 & 666.00 & 746.00 & -80.00 & 1 117.00 & 1020.00 & 97.00 \\ \bottomrule
\end{longtable}
\end{document}
答案2
tabularx
这是一个在环境内部嵌入两个环境(为六个数据列分配相同的宽度)的解决方案longtable
。
个人评论:两个“面板”的内容可能有足够的不同,以保证创建两个完全独立的表格环境。
\documentclass{article}
\usepackage{booktabs,tabularx,siunitx,longtable}
\usepackage[hmargin=1.7cm,vmargin=1.3cm]{geometry}
\newcommand{\rowgroup}[1]{\hspace{-2em}#1} % for indentation
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mc[1]{\multicolumn{1}{C}{#1}}
\sisetup{group-separator={,} , group-four-digits=true}
\begin{document}
\begin{longtable}{@{}c@{}}
\caption {Example table} \label{tab:table_balance_AvsH}\\
\begin{tabularx}{0.9\textwidth}{ @{\hspace*{\leftmargin}} % first 'tabularx'
l *{2}{S[table-format=1.2]}
S[table-format=-1.2] S[table-format=2.2]
*{2}{S[table-format=1.2]}}
\toprule
& \multicolumn{3}{c}{Period 1} & \multicolumn{3}{c}{Period 2} \\
\cmidrule(lr){2-4} \cmidrule(l){5-7}
& {Group 1} & {Group 2} & {Diff.} & {Group 1} & {Group 2} & {Diff.} \\
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} \\
\midrule
\rowgroup{\textit{Panel A: Outcome 1 (USD)\phantom{Th.~}}}
& \mc{} & \mc{} & \mc{} & \mc{} & \mc{} & \mc{} \\
$t - 5$ & 8.76 & 9.28 & -0.52 & 10.71 & 6.93 & 3.78 \\
$t - 4$ & 9.07 & 9.17 & -0.10 & 9.07 & 6.93 & 2.14 \\
$t - 3$ & 9.34 & 8.36 & 0.97 & 9.36 & 7.27 & 2.09 \\
$t - 2$ & 9.33 & 8.46 & 0.87 & 9.43 & 8.07 & 1.36 \\
$t - 1$ & 9.40 & 9.07 & 0.33 & 8.87 & 8.33 & 0.53 \\
\addlinespace
\end{tabularx}\\
\begin{tabularx}{0.9\textwidth}{ @{\hspace*{\leftmargin}} % second 'tabularx'
l S[table-format=-3.0] S[table-format=3.0]
S[table-format=-4.0,table-space-text-post=\textsuperscript{*}]
*{2}{S[table-format=4.0]}
S[table-format=-3.0,table-space-text-post=\textsuperscript{*}]}
\rowgroup{\textit{Panel B: Outcome 2 (Th.\ USD)}}
& \mc{} & \mc{} & \mc{} & \mc{} & \mc{} & \mc{} \\
$t - 5$ & 456 & 650 & -194\textsuperscript{*} & 1007 & 656 & 352 \\
$t - 4$ & 490 & 650 & -160\textsuperscript{*} & 1055 & 619 & 436\textsuperscript{*} \\
$t - 3$ & -383 & 625 & -1008 & 1060 & 663 & 398 \\
$t - 2$ & -467 & 653 & -1120 & 1120 & 877 & 242 \\
$t - 1$ & 666 & 746 & -80 & 1117 & 1020 & 97 \\
\bottomrule
\end{tabularx}
\end{longtable}
\end{document}