我有 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}