在 S 列中使用多行

在 S 列中使用多行

我使用包S中的列siunitx来对齐数字,效果很好。但是,现在我想让一些数字跨越多行,使用multirow,结果却出错了。

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

\begin{document}

\begin{table}[h]
\centering
\begin{tabular}{lcS}    
\toprule
\textbf{Characteristic} & \textbf{Criterion} & \textbf{No. of components} \\
\midrule
Length [m] & $>0$ & 5343 \\
\multirow{3}{*}{Factor [-]} & $[0;1]$ & \multirow{3}{*}{12160} \\
& $[0;3]$ &  \\
& $[0;4.5]$ &  \\
\midrule
\textbf{Total} &  & 32124 \\ 
\bottomrule
\end{tabular}
\caption{caption}
\label{label}
\end{table}

\end{document}

在最左边的列中,multirow工作正常;但是在最右边的列(S列)中,有些东西不起作用。

任何帮助都将非常感谢,谢谢!

答案1

请尝试以下操作:

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

\begin{document}
    \begin{table}[htb]
\centering
\begin{tabular}{lcS}
    \toprule
\textbf{Characteristic} & \textbf{Criterion} & {\textbf{No. of components}} \\ % <---
    \midrule
Length [m]              & $>0$               & 5343     \\
\multirow{3}{*}{Factor [-]}
                        & $[0;1]$            & {\multirow{3}{*}{12160}}     \\ % <---
                        & $[0;3]$            &          \\
                        & $[0;4.5]$          &          \\
    \midrule
\textbf{Total}          &                   & 32124     \\
    \bottomrule
\end{tabular}
\caption{caption}
\label{label}
    \end{table}
\end{document}

在此处输入图片描述

要使上述 mwe 起作用,您需要将S列中所有非数字内容括在花括号中。然而,在您的情况下,值得考虑省略multirow并将其内容放置到跨度的中间行:

\begin{tabular}{lcS[table-format=5.0]}
    \toprule
\textbf{Characteristic} & \textbf{Criterion} & {\textbf{No. of components}} \\ % <---
    \midrule
Length [m]              & $>0$               & 5343     \\
                        & $[0;1]$            &          \\ 
Factor [-]              & $[0;3]$            & 12160    \\
                        & $[0;4.5]$          &          \\
    \midrule
\textbf{Total}          &                    & 32124    \\
    \bottomrule
\end{tabular}

这使:

在此处输入图片描述

相关内容