使用 siunitx 进行表格格式化

使用 siunitx 进行表格格式化

我正在尝试制作一个包含四列的表格:其中三列要居中对齐,一列要按小数位对齐(使用S[table-format=3.2])。这是我的代码:

\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}

\begin{document}

\begin{tabular}{c c S[table-format=3.2] c}
\toprule
\multicolumn{4}{c}{SI Prefixes} \\
%\hline \hline
\midrule \midrule
Prefix & Symbol & Multiplication Factor & $\ldots$ in Scientific Notation \\
\midrule
giga & G & 1000000000 & $10^9$ \\
mega & M & 1000000 & $10^6$ \\ 
kilo & k & 1000 & $10^3$ \\
deca & D & 10 & $10^1$ \\
\rowcolor{gray!20} - & - & 1 & $10^0$ \\
deci & d & 0.1 & $10^{-1}$ \\
centi & c & 0.01 & $10^{-2}$ \\
milli & m & 0.001 & $10^{-3}$ \\
micro & $\mu$ & 0.000001 & $10^{-6}$ \\
nano & n & 0.000000001 & $10^{-9}$ \\
\bottomrule
\end{tabular}

\end{document}

但是,我的结果如下:

在此处输入图片描述

列重叠了,我不知道该如何修复。我想不出设置第三列宽度的方法,因为这样可以修复该问题,但据我所知,您只能通过执行类似 的操作来修复宽度p{5cm};该S类型不允许这样做。

答案1

更新,2022 年 3 月:我在 2019 年初写了下面的答案,当时siunitx软件包的 2.xx 版本仍在流行。如果您希望在软件包的 3.xx 版本下编译答案代码siunitx,建议您siunitx使用选项加载软件包v2=,即作为\usepackage{siunitx}[=v2]。请参阅\sisiunitx 新版本3.0中宏如何转换了解更多详细信息。


正如大卫卡莱尔 (David Carlisle) 在评论中指出的那样,您必须 (a) 更改S[table-format=3.2]S[table-format=10.9]并 (b) 将字符串括Multiplication Factor在花括号中,以防止它被 解释siunitx

此外,您可能希望 (c)在第二列中写入\si{\micro}而不是。text-mu 和 math-mu 字形在大多数字体中看起来完全不同。最后,既然您正在使用该包,为什么不 (d) 对最后一列也使用列类型并输入thru而不是更麻烦的thru呢?$\mu$siunitxSe9e-9$10^9$$10^{-9}$

deca单独观察: (或deka)的标准简写形式是da,不是D。当然,\si{\deca}和都\si{\deka}产生da

在此处输入图片描述

\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\begin{document}
\noindent
\begin{tabular}{l c S[table-format=10.9] S[retain-zero-exponent=true]}
\toprule
\multicolumn{4}{c}{SI Prefixes} \\
\addlinespace %\midrule
Prefix & Symbol & {Multiplication Factor} & {\dots\ in Scientific Notation} \\
\midrule
giga  & \si{\giga} & 1000000000 & e9 \\
mega  & \si{\mega} & 1000000    & e6 \\ 
kilo  & \si{\kilo} & 1000       & e3 \\
deca  & \si{\deca} & 10         & e1 \\ % "\deka" works too
\rowcolor{gray!20}  -- & -- & 1 & e0 \\
deci  & \si{\deci} & 0.1        & e-1 \\
centi & \si{\centi}& 0.01       & e-2 \\
milli & \si{\milli}& 0.001      & e-3 \\
micro & \si{\micro}& 0.000001   & e-6 \\
nano  & \si{\nano} & 0.000000001& e-9 \\
\bottomrule
\end{tabular}
\end{document}

相关内容