我有一张包含非常长计数(以百万计)的表格,因此我想添加逗号。我尝试siunitx
在序言中以多种方式使用:
\usepackage[group-separator={,}]{siunitx}
\usepackage{siunitx} \sisetup{group-separator={,},group-minimum-digits={3},output-decimal-marker={.}}
\sisetup{ group-digits=true, group-separator={\,}, } \pgfkeys{/pgf/number format/.cd, set thousands separator={\,}}%
但这些都没有插入逗号。问题可能是我使用了
longtable
?当我在每个表项周围指定 \number{} 时,会插入逗号,但表太多,无法手动执行此操作。
以下是一个例子:
\documentclass[12pt]{article}
\usepackage[group-separator={,}]{siunitx}
\usepackage{lscape,longtable}
\begin{document}
\begin{center}
{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{longtable}{l*{3}{cc}}
\hline\hline\endfirsthead\hline\endhead\hline\endfoot\endlastfoot
&\multicolumn{2}{c}{Managed Care}&\multicolumn{2}{c}{No Managed 1Care}&\multicolumn{2}{c}{Total}\\
& Count& \%& Count& \%& Count& \%\\
Adult & 7178237& 23.0& 6715828& 37.5& 13894065& 28.3\\
Aged & 1278137& 49.5& 3482900& 58.3& 4761037& 55.7\\
Child & 20562118& 60.9& 7015119& 29.4& 27577237& 47.8\\
\end{longtable}
}
\end{center}
\end{document}
答案1
列应指定为S
-type,并带有table-format
指示位数的设置:8
表示整数部分有 8 位数字,没有小数部分;2.1
表示整数部分有 2 位数字,小数部分有 1 位数字。
使用booktabs
表格会更好;您可能希望在分页符后重复页眉。
请注意,没有必要center
在 周围使用环境longtable
。
\documentclass{article}
\usepackage[group-separator={,}]{siunitx}
\usepackage{longtable,booktabs}
\begin{document}
\begin{longtable}{l*{3}{S[table-format=8.0]S[table-format=2.1]}}
\toprule
&\multicolumn{2}{c}{Managed Care}
&\multicolumn{2}{c}{No Managed 1Care}
&\multicolumn{2}{c}{Total}
\\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7}
& Count & \% & Count & \% & Count & \% \\
\midrule
\endhead
\bottomrule
\endfoot
\bottomrule
\endlastfoot
Adult & 7178237 & 23.0 & 6715828 & 37.5 & 13894065 & 28.3 \\
Aged & 1278137 & 49.5 & 3482900 & 58.3 & 4761037 & 55.7 \\
Child & 20562118 & 60.9 & 7015119 & 29.4 & 27577237 & 47.8 \\
\end{longtable}
\end{document}