在一行的两个单行条目之间添加多行

在一行的两个单行条目之间添加多行

我有这张表:

\documentclass[border = 2mm]{standalone}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{array}

\begin{document}
        \begin{tabular}{cccccc}
        \toprule  
        \makecell{some long \\header} &B&1&2&3&C\\
        \bottomrule     
    \end{tabular}
\end{document}

应该变成这样:

在此处输入图片描述

我刚刚尝试过这个:

\documentclass[border = 2mm]{standalone}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{array}

\begin{document}
        \begin{tabular}{cccccc}
        \toprule  
        \multirow{2}{*}{\makecell{some long \\header} &B}&subtitle\\&1&2&3&C\\
        \bottomrule     
    \end{tabular}
\end{document}

但无济于事。

我怎样才能实现这个目标?

答案1

这对您来说是一个选择吗:

\documentclass[border = 2mm]{standalone}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{array}

\begin{document}

        \begin{tabular}{cclllc}
            \hline
            \multirow{2}{*}{\makecell{some long \\header}} & \multirow{2}{*}{B} & \multicolumn{3}{c}{subheader} & \multirow{2}{*}{C} \\ \cline{3-5}
            &                    & 1        & 2        & 3       &                    \\ \hline
        \end{tabular}

\end{document}

在此处输入图片描述

答案2

这是一个{NiceTabular}使用 的解决方案nicematrix

\documentclass{article}
\usepackage{booktabs}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cclllc}
    \toprule
    \Block{2-1}{some long \\header} 
    & \Block{2-1}{B} 
    & \Block{1-3}{subheader} 
    &&& \Block{2-1}{C} \\ \cmidrule{3-5}
    & & 1 & 2 & 3 & \\ \bottomrule
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容