我正在创建一个包含回归结果的表格。这是结果:
小数点对齐效果很好。但仍有两个问题:
- 当具有负值时,在数字和星号之间插入一个空格。
- 标题仅在使用多列时显示。现在,它们实际上并没有与任何东西对齐。在多列环境中使用“c”或“r”并不能真正解决问题。
这是代码:
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{longtable, booktabs}
\usepackage{siunitx}
\begin{document}
\begin{longtable}{@{}p{3cm}SS@{}}
\centering
\kill
\toprule
& \multicolumn{1}{l}{Target} & \multicolumn{1}{l}{$R^2$} \\*
\midrule
\endhead
\bottomrule
\endfoot
% body
OIS\_1Y & 1.67* & 0.55 \\
OIS\_2Y & 1.61*** & 0.42 \\
OIS\_5Y & -1.15*** & 0.25 \\
OIS\_10Y & -0.09** & 0.09 \\
stoxx50euro & -0.04* & 0.06 \\
\end{longtable}
\end{document}
答案1
您可以通过指定适合您的列的选项来为 siunitx 提供一点帮助table-format
,有关更多详细信息,请参阅 siunitx 文档的“4.12 表格材料”部分。
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{longtable, booktabs}
\usepackage{siunitx}
\begin{document}
\begin{longtable}{@{}p{3cm}S[table-format=-1.2,table-align-text-after=true,table-space-text-post={***}]S[table-format=1.2]@{}}
\centering
\kill
\toprule
& {Target} & {$R^2$} \\*
\midrule
\endhead
\bottomrule
\endfoot
% body
OIS\_1Y & 1.67* & 0.55 \\
OIS\_2Y & 1.61*** & 0.42 \\
OIS\_5Y & -1.15*** & 0.25 \\
OIS\_10Y & -0.09** & 0.09 \\
stoxx50euro & -0.04* & 0.06 \\
\end{longtable}
\end{document}