我有两个与显示的 MWE 相关的问题:
- 如何使用包将百分号仅附加到某一列或某一行的单元格,
siunitx
无论表格是按行还是按列定义?(我知道我只能把它放在标题中,但这不是重点)。 - 如何添加垂直空间,它与注释不起作用
\vspace*{2cm}
?
PS:我对这个包还不太熟悉。
以下是从中摘选的简化版 MWE这里:
\documentclass[preview,border=5pt]{standalone}
\usepackage{booktabs}
\usepackage{siunitx}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{table}
\centering
%defined by rows
\begin{tabular}{ l*{5}{S[input-symbols = {()},
table-space-text-post=\ ,
table-format=-1.2]}}
\toprule
\multicolumn{4}{c}{Panel A: $\beta_{\sigma,t}$} \\ \midrule
& \mc{Low} & \mc{Med} & \mc{High} \\ \midrule
MV & 1.64 & 1.14 & 1.58 \\
& 1.17 & 0.97 & 0.87 \\
TA & 1.90 & 1.03 & 0.88 \\
\bottomrule
\end{tabular}
%\vspace{2cm}
%defined by columns
\begin{tabular}{ c*{4}{S[input-symbols = {()},
table-space-text-post=\ ,
table-format=-1.2]}}
\toprule
\multicolumn{4}{c}{Panel A: $\beta_{\sigma,t}$} \\ \midrule
& \mc{Low} & \mc{Med} & \mc{High} \\ \midrule
MV & 1.64 & 1.14 & 1.58 \\
& 1.17 & 0.97 & 0.87 \\
TA & 1.90 & 1.03 & 0.88 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
(我很快就会删除它)
下面的代码应该将 % 附加到仅最后 3 列,但它只将 % 附加到最后两列,而且最后一列上还有一个难看的空格。
\documentclass[preview,border=5pt]{standalone}
\usepackage{booktabs}
\usepackage{siunitx}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{table}
\centering
%defined by columns
\begin{tabular}{ c c*{3}{S[input-symbols = {()},
table-space-text-post=\si{\,\%}\ ,
table-format=-1.2]<{\,\%}}}
\toprule
\multicolumn{4}{c}{Panel A: $\beta_{\sigma,t}$} \\ \midrule
& \mc{Low} & \mc{Med} & \mc{High} \\
\midrule
MV & 1.64 & 1.14 & 1.58 \\
& 1.17 & 0.97 & 0.87 \\
TA & 1.90 & 1.03 & 0.88 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
添加%
到列类型中每个单元格S
的方式与其他列类型相同:
S[....]<{\%}
使用siunitx
面向表格的选项,您可以对外观进行微调%
。下面是 MWE 中的两个示例:
\documentclass[preview,border=5pt]{standalone}
\usepackage{booktabs}
\usepackage{siunitx}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{table}
\centering
%defined by rows
\begin{tabular}{ c *{3}{S[input-symbols={()},
table-format=-1.2]<{\,\%}
}}
\toprule
\multicolumn{4}{c}{Panel A: $\beta_{\sigma,t}$} \\ \midrule
& \mc{Low} & \mc{Med} & \mc{High} \\ \midrule
MV & 1.64 & 1.14 & 1.58 \\
& 1.17 & 0.97 & 0.87 \\
TA & 1.90 & 1.03 & 0.88 \\
\bottomrule
\end{tabular}
\vspace{0.5cm}
%defined by columns
\begin{tabular}{ c *{3}{S[input-symbols={()},
table-format=-1.2,
table-space-text-post=\,]<{\,\%}}
}
\toprule
\multicolumn{4}{c}{Panel A: $\beta_{\sigma,t}$} \\ \midrule
& \mc{Low} & \mc{Med} & \mc{High} \\ \midrule
MV & 1.64 & 1.14 & 1.58 \\
& 1.17 & 0.97 & 0.87 \\
TA & 1.90 & 1.03 & 0.88 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
编辑:
在您的 MWE 中(我没有仔细检查),您定义的列比表中使用的列多。我纠正了这个问题。我还展示了它的\vspace{0.5cm}
工作原理。