我在使用以下代码时遇到了一些问题:
\documentclass{standalone}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{
l
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
S[table-format = 4.2]
}
\toprule
& \multicolumn{3}{c}{HF} & \multicolumn{3}{c}{LF} & \multicolumn{3}{c}{HF-LF} \\
\midrule
Excess & -0.79\textsuperscript{***} & & & -0.90\textsuperscript{***} & & & -0.11 & & \\
& \tiny(0.152) & & & \tiny(0.161) & & & \tiny(0.066) & & \\
$\alpha$ & & -0.77\textsuperscript{***} & -0.79\textsuperscript{***} & & -0.89\textsuperscript{***} & -0.94\textsuperscript{***} & & -0.13\textsuperscript{*} & -0.16\textsuperscript{**} \\
& & \tiny(0.161) & \tiny(0.172) & & \tiny(0.174) & \tiny(0.178) & & \tiny(0.066) & \tiny(0.069) \\
MKT & & -0.07 & -0.06 & & -0.02 & -0.00 & & 0.05\textsuperscript{*} & 0.06\textsuperscript{**} \\
& & \tiny(0.056) & \tiny(0.064) & & \tiny(0.038) & \tiny(0.049) & & \tiny(0.028) & \tiny(0.027) \\
SMB & & & 0.04 & & & 0.04 & & & 0.00 \\
& & & \tiny(0.095) & & & \tiny(0.084) & & & \tiny(0.024) \\
HML & & & 0.04 & & & 0.11 & & & 0.06 \\
& & & \tiny(0.085) & & & \tiny(0.072) & & & \tiny(0.041) \\
\bottomrule
\end{tabular}
\end{document}
结果:
如果您能提供在文档中查找的位置和/或解决方案和改进建议,我将不胜感激。
我不知道如何解决的问题:
- 括号中的数字是标准误差,应与上方较大的数字右对齐。基本上,应该
)
在任何星号之前结束。任何改进的近似结果也可以。 - 表格右端的星号被截断了(为什么?)
- [次要] 我可以改进代码并避免
\tiny
在每个第二行中输入每个条目吗? - [轻微] 我可以通过定义特殊的列格式来改进代码并避免输入吗
\textsuperscript{<asterisks>}
?我只会在 -#.###* 处使用这种格式,整个部分的长度可变。
答案1
我采用了以下实现方式,虽然它没有提供问题的通用解决方案,但可以部分满足需求:
\documentclass{standalone}
\usepackage{booktabs,tabu}
\usepackage{siunitx}
\begin{document}
\begin{tabu}{l
*{9}{S[table-format = -2.2,
table-space-text-post = $^{***}$ ,
table-align-text-post = false,
table-text-alignment = center]
@{}
}
}
\toprule
&\multicolumn{3}{c}{Low Frequency} &\multicolumn{3}{c}{High Frequency} &\multicolumn{3}{c}{HF-LF} \\
\cmidrule(lr){2-4}\cmidrule(lr){5-7}\cmidrule(lr){8-10}
Excess &-0.79$^{***}$ & & &-0.90$^{***}$ & & & -0.11 & & \\
\rowfont{\footnotesize} & {(0.152)} & & & {(0.161)} & & & {(0.066)} & & \\[3pt]
$\alpha$ & &-0.77$^{***}$ &-0.79$^{***}$ & &-0.89$^{***}$ &-0.94$^{***}$ & & -0.13$^*$ & -0.16$^{**}$ \\
\rowfont{\footnotesize} & & {(0.161)} & {(0.172)} & & {(0.174)} & {(0.178)} & & {(0.066)} & {(0.069)} \\[3pt]
MKT & & -0.07 & -0.06 & & -0.02 & -0.00 & & 0.05$^*$ & 0.06$^{**}$ \\
\rowfont{\footnotesize} & & {(0.056)} & {(0.064)} & & {(0.038)} & {(0.049)} & & {(0.028)} & {(0.027)} \\[3pt]
SMB & & & 0.04 & & & 0.04 & & & 0.00 \\
\rowfont{\footnotesize} & & & {(0.095)} & & & {(0.084)} & & & {(0.024)} \\[3pt]
HML & & & 0.04 & & & 0.11 & & & 0.06 \\
\rowfont{\footnotesize} & & & {(0.085)} & & & {(0.072)} & & & {(0.041)} \\
\bottomrule
\end{tabu}
\end{document}
主要问题是我无法强制数学模式下的十进制条目的大小。为了设置整行的字体大小,我使用了禁忌解决方案表格中不同行的字体大小不同。但是,我需要标准错误处于文本模式{(###)}
,否则不会传播大小命令(数字条目通过或解析siunitx
并dcolumn
拆分为组件,因此只有数字的第一个组件会受到字体命令的影响)。此解决方案的缺点是,部分的对齐{text}
有点不规范,并且针对此特定应用程序进行了微调。