带有自定义列的嵌套多列和多行

带有自定义列的嵌套多列和多行

我想要字母表'' 上面的 'B' 在下面的代码输出中借用自这里并修改:

\begin{table}
\centering
\caption{Vehicle info}
\label{tab:my_label}
\begin{tabular}{@{\hspace{1cm}}l ccc}
\toprule 
\multirow{2}{*}{Parameters}  &
\multicolumn{3}{c}{\textbf{Values}} \\
\cmidrule{2-4}
&  $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
\midrule
\multicolumn{1}{l}{\textbf{B}}\\\cmidrule{1-1}
\textbf{A} & 0.0 & 0.0 & 0.0  \\ 
\addlinespace
\textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
\bottomrule
\end{tabular}
\end{table}

输出为:

在此处输入图片描述

我想要一些类似的东西: 在此处输入图片描述

有人能告诉我需要对现有代码做哪些更改才能获得所需的输出吗?

答案1

这是否满足要求

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow, makecell}

\begin{document}
    \noindent
    \begin{tabular}{l l ccc}
        \toprule 
        \multicolumn{2}{l}{\multirow{2.5}{*}{\makecell[l]{Multiple\\Parameters}}}  &
        \multicolumn{3}{c}{\textbf{Values}} \\
        \cmidrule{3-5}
        & & $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
        \midrule
        \textbf{B}\\\cmidrule{1-1}
        & \textbf{A} & 0.0 & 0.0 & 0.0  \\ 
        \addlinespace
        & \textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
        \bottomrule
    \end{tabular}
    \\[1cm]
    \begin{tabular}{@{\hspace{1cm}}l ccc}
        \toprule 
        \multicolumn{1}{l}{\multirow{2.5}{*}{\makecell[l]{Multiple\\Parameters}} } &
        \multicolumn{3}{c}{\textbf{Values}} \\
        \cmidrule{2-4}
        &  $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
        \midrule
        \multicolumn{1}{l}{\textbf{B}}\\\cmidrule{1-1}
        \textbf{A} & 0.0 & 0.0 & 0.0  \\ 
        \addlinespace
        \textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
        \bottomrule
    \end{tabular}
    
\end{document}

编辑

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow, makecell}

\begin{document}
    \noindent
    \begin{tabular}{l l ccc}
        \toprule 
        P&\multicolumn{1}{l}{\multirow{1}{*}{\makecell[l]{Multiple\\Parameters}}}  &
        \multicolumn{3}{c}{\textbf{Values}} \\
        \cmidrule{3-5}
        & & $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
        \midrule
        \textbf{B}\\\cmidrule{1-1}
        & \textbf{A} & 0.0 & 0.0 & 0.0  \\ 
        \addlinespace
        & \textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
        \bottomrule
    \end{tabular}

\end{document}

在此处输入图片描述

答案2

编辑:我调整了我的解决方案,在“参数”条目前添加了额外的 P。我错误地理解为将“参数”条目向左移动。

我的第一个解决方案是最简单的:只需\multirow{2}{*}{P}在“参数”前面添加一个额外值即可。第二个解决方案可以通过将 P 放入 a 中来实现\makebox,但这\makebox必须略小于 1cm,以补偿环境插入的额外值\tabcolseptabular我认为第一个解决方案是最好的,但我保留了第二个解决方案,因为它可能是一种有用的技术,适用于米勒的情况。

编辑结束

@Bernard 的建议可行。要使用这个想法,您必须将\multirow{2}{*}{Parameters}}a 放在里面\multicolumn{2}以补偿额外的列,并在 A 和 T 之前放置空单元格。

另一种方法是保留原始表格格式,但将\multirow{2}{*}{Parameters}a 放在里面\multicolumn{1}{l}以摆脱 `\hspace{1cm}。但这样 B 下的行就会更长。但在我看来,这实际上可能更好。

以下是两种解决方案。我省略了表格环境以使事情变得简单。

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}

\begin{document}
\noindent
\begin{tabular}{l l ccc}
\toprule 
\multirow{2}{*}{P} & \multirow{2}{*}{Parameters}  &
\multicolumn{3}{c}{\textbf{Values}} \\
\cmidrule{3-5}
& & $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
\midrule
\textbf{B}\\\cmidrule{1-1}
& \textbf{A} & 0.0 & 0.0 & 0.0  \\ 
\addlinespace
& \textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
\bottomrule
\end{tabular}
\\[1cm]
\begin{tabular}{@{\hspace{1cm}}l ccc}
\toprule 
\multicolumn{1}{l}{\multirow{2}{*}{\makebox[\dimexpr 1cm-\tabcolsep][l]{P}Parameters}}  &
\multicolumn{3}{c}{\textbf{Values}} \\
\cmidrule{2-4}
&  $X$ (mm) & $Y$ (mm) & $Z$ (mm)  \\
\midrule
\multicolumn{1}{l}{\textbf{B}}\\\cmidrule{1-1}
\textbf{A} & 0.0 & 0.0 & 0.0  \\ 
\addlinespace
\textbf{T}  & 0.0 & 0.0 & 0.0  \\ 
\bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

相关内容