使用多列合并没有数据的表

使用多列合并没有数据的表

我有 2 个表,它们看起来应该相似,即使第二个表的数据没有第一个表那么多。我希望我的表看起来像这样。

在此处输入图片描述

这是我的代码

\documentclass{article}

\usepackage{multirow}
\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}

\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{table}[h!]
  \centering
    \caption{A. By Layer}
    \label{tab:table1}
    \begin{tabularx}{\textwidth}{@{}l*{10}{Y}@{}}%{l*{10}{X}}
    \midrule
     & \multicolumn{4}{c}{\textbf{Model}} & & \multicolumn{4}{c}{\textbf{Gaggl and Wright}}\\
     & \multicolumn{4}{c}{Layer} & & \multicolumn{4}{c}{Layer}\\
     & 1 & 2 & 3 & 4 & & 1 & 2 & 3 & 4\\
     \cline{2-5}
    \cline{7-10}
    \bfseries{ Moments}\\
     w  & 5 & 5 & 5 & 5 & & 5 & 5 & 5 & 5\\
     s  & 6 & 6 & 6 & 6 & & 6 & 6 & 6 & 6\\
     k/n  & 7 & 7 & 7 & 7 & & 7 & 7 & 7 & 7\\ 
     wb  & 8 & 8 & 8 & 8 & & 8 & 8 & 8 & 8\\ 
    \end{tabularx}
\end{table}

\begin{table}[h!]
  \centering
    \caption{B. Firm-Level}
    \label{tab:table1}
    \begin{tabularx}{\textwidth}{@{}l*{10}{Y}@{}}%{l*{10}{X}}
    \midrule
     & \multicolumn{4}{c}{\textbf{Model}} & & \multicolumn{4}{c}{\textbf{Gaggl and Wright}}\\
     \cline{2-5}
    \cline{7-10}
    \\
    \bfseries{ Moments}\\
     wage   & \multicolumn{4}{c}{a} & & \multicolumn{4}{c}{f}\\
     house  & \multicolumn{4}{c}{b} & & \multicolumn{4}{c}{j}\\
     something e  & \multicolumn{4}{c}{c} & & \multicolumn{4}{c}{l}\\ 
     wb & \multicolumn{4}{c}{d} & & \multicolumn{4}{c}{m}\\ 
    \end{tabularx}
\end{table}

\end{document}

这是我的桌子

在此处输入图片描述

答案1

必须定义与您使用的列数相同的列数。您定义了 11 列,但只使用了 10 列。问题是表 2 中的列没有任何数据。它们最终太窄了。

在示例 1 中,我在表 2 中使用了固定宽度的w列,并手动计算宽度以使规则与表 1 中的规则对齐。如果您有相对较少的表格并且不会经常更改边距宽度,则“强力”解决方案会起作用。

Y在示例 2 中,我通过定义两个固定宽度的列(和Z)来避免手动“目测” ,其中Z是 的四倍宽Y。这里的技巧是固定除第六列之外的所有列的宽度。由于这是 -column X表格型提前计算可确保表格精确扩展到行宽。之所以选择数字 11,是因为您有十列,并且第一列比另一列宽。根据文档的边距,10 可能有效。对于标准边距,在公式中使用 10 会导致超满 hbox 错误。

这两种解决方案提供的表格(希望)看起来都像您请求的表格。这些示例需要更新大批包裹。

示例 1

在此处输入图片描述

\documentclass{article}

\usepackage{multirow}
\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}

\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{table}[h!]
  \centering
    \caption{A. By Layer}
    \label{tab:table1}
    \begin{tabularx}{\textwidth}{@{}l*{9}{Y}@{}}%{l*{10}{X}}
    \midrule
     & \multicolumn{4}{c}{\textbf{Model}} && \multicolumn{4}{c}{\textbf{Gaggl and Wright}}\\
     & \multicolumn{4}{c}{Layer} & & \multicolumn{4}{c}{Layer}\\
     & 1 & 2 & 3 & 4 & & 1 & 2 & 3 & 4\\
     \cline{2-5} \cline{7-10}
    \bfseries{Moments}&\multicolumn{9}{l@{}}{}\\
     w  & 5 & 5 & 5 & 5 & & 5 & 5 & 5 & 5\\
     s  & 6 & 6 & 6 & 6 & & 6 & 6 & 6 & 6\\
     k/n  & 7 & 7 & 7 & 7 & & 7 & 7 & 7 & 7\\ 
     wb  & 8 & 8 & 8 & 8 & & 8 & 8 & 8 & 8\\ 
    \end{tabularx}
\end{table}

\begin{table}[h!]
  \centering
    \caption{B. Firm-Level}
    \label{tab:table1}
    \begin{tabularx}{\textwidth}{@{}l*{9}{Y}@{}}%{l*{10}{X}}
    \midrule
     & \multicolumn{4}{wc{3.8cm}}{\textbf{Model}} & & \multicolumn{4}{wc{4cm}@{}}{\textbf{Gaggl and Wright}}\\
     \cline{2-5}\cline{7-10}
    \bfseries{Moments}&\multicolumn{9}{l@{}}{}\\
     wage   & \multicolumn{4}{c}{a} && \multicolumn{4}{c}{f}\\
     house  & \multicolumn{4}{c}{b} & & \multicolumn{4}{c}{j}\\
     something e  & \multicolumn{4}{c}{c} & & \multicolumn{4}{c}{l}\\ 
     wb & \multicolumn{4}{c}{d} & & \multicolumn{4}{c}{m}\\ 
    \end{tabularx}
\end{table}

\end{document}

示例 2

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs}
\usepackage{tabularx}

\newcolumntype{Y}{wc{\dimexpr((\linewidth/11)-2\tabcolsep)}}
\newcolumntype{Z}{wc{\dimexpr((4\linewidth/11)-2\tabcolsep)}}
\newcommand{\mc}[1]{\multicolumn{4}{Z}{#1}}

\begin{document}

\begin{table}[th!]
  \centering
    \caption{A. By Layer}
    \label{tab:table1}
    \begin{tabularx}{\textwidth}{@{}wl{2cm}*{4}{Y}X*{4}{Y}}
    \midrule
     & \mc{\textbf{Model}} && \mc{\textbf{Gaggl and Wright}}\\
     & \mc{Layer} & & \mc{Layer}\\
     & 1 & 2 & 3 & 4 & & 1 & 2 & 3 & 4\\
     \cmidrule(lr){2-5} \cmidrule(l){7-10}
    \bfseries{Moments}&\multicolumn{9}{l}{}\\
     w  & 5 & 5 & 5 & 5 & & 5 & 5 & 5 & 5\\
     s  & 6 & 6 & 6 & 6 & & 6 & 6 & 6 & 6\\
     k/n  & 7 & 7 & 7 & 7 & & 7 & 7 & 7 & 7\\ 
     wb  & 8 & 8 & 8 & 8 & & 8 & 8 & 8 & 8\\ 
    \end{tabularx}
\end{table}

\begin{table}[th!]
  \centering
    \caption{B. Firm-Level}
    \label{tab:table2}
    \begin{tabularx}{\textwidth}{@{}wl{2cm}*{4}{Y}X*{4}{Y}}
    \midrule
     & \mc{\textbf{Model}} & & \mc{\textbf{Gaggl and Wright}}\\
     \cmidrule(lr){2-5} \cmidrule(l){7-10}
    \bfseries{Moments}&\multicolumn{9}{l}{}\\
     wage              & \mc{a} && \mc{f}\\
     house            & \mc{b} & & \mc{j}\\
     something e  & \mc{c} & & \mc{l}\\ 
     wb                 & \mc{d} & & \mc{m}\\ 
    \end{tabularx}
\end{table}

\end{document}

相关内容