在以下示例中,我无法让multirow
命令与包一起工作:siunitx
\documentclass[]{article}
\usepackage{siunitx}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\begin{table}[tbh]
\centering
\begin{tabular}{llSSSS}
\toprule
A & B & {C} & {D} & {E} & {F} \\
\midrule
\multirow{2}{*}{Value 1} & \multirow{2}{*}{1.2e-4} & \multirow{2}{*}{1.0} & 3.0 & \multirow{2}{*}{1.0} & 0.3 \\
& & & 4.0 & & 0.7 \\ \midrule
\multirow{2}{*}{Value 2} & 3.2e-4 & \multirow{2}{*}{2.0} & \multirow{2}{*}{1.0} & \multirow{2}{*}{9.2} & 0.4 \\
& 1.2e-8 & & & & 0.5 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
我能纠正错误的唯一方法是更换
\begin{tabular}{llSSSS}
和
\begin{tabular}{llcccc}
siunitx
然而,这违背了本案使用该软件包的目的。
有人能解决这个问题吗?提前谢谢您。
答案1
更安全的替代方法是使用一[c]
列并添加\tablenum
所有数字。从这个例子中看不出,但添加额外的数字表明它是有效的。
\documentclass[]{article}
\usepackage{siunitx}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\begin{table}[tbh]
\centering
\begin{tabular}{llcccS}
\toprule
A & B & C & D & E & {F} \\
\midrule
\multirow{2}{*}{Value 1} & \multirow{2}*{1.2e-4} & \multirow{2}{*}{\tablenum{1.0}} & \tablenum{3.0} & \multirow{2}{*}{\tablenum{1.0}} & 0.3 \\
& & & \tablenum{4.0} & & 0.7 \\ \midrule
\multirow{2}{*}{Value 2} & 3.2e-4 & \multirow{2}{*}{\tablenum{2.0}} & \multirow{2}{*}{\tablenum{1.0}} & \multirow{2}{*}{\tablenum{9.2}} & 0.4 \\
& 1.2e-8 & & & & 0.5 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
添加了一个不带multirow
和siunitx
但是的替代方案:makecell
\documentclass[]{article}
\usepackage{booktabs, makecell}
\begin{document}
\begin{table}[htb]
\centering
\begin{tabular}{llcccc}
\toprule
A & B & C & D & E & {F} \\
\midrule
Value 1 & 1.2e-4 & 1.0 & \makecell{3.0\\ 4.0} & 1.0 & \makecell{0.3\\ 0.7} \\
\midrule
Value 2 & \makecell{3.2e-4\\ 1.2e-8} & 2.0 & 1.0 & 9.2 & \makecell{0.4\\0.5} \\
\bottomrule
\end{tabular}
\end{table}
\end{document}