siunitx 和 multirow 的问题

siunitx 和 multirow 的问题

在以下示例中,我无法让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

添加了一个不带multirowsiunitx但是的替代方案: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}

在此处输入图片描述

相关内容