我有一张包含多个面板的表格。我使用 subtable 包来获取面板。我的问题是如何将整个表格的标题(整个表格的描述)放在顶部?然后将注释放在底部?示例代码如下。我使用的其他包是
\documentclass[12pt]{article}
\usepackage{rotating}
\usepackage{longtable}
\usepackage{float}
\restylefloat{table}
\usepackage{subcaption}
\usepackage{tabularx} % for better tables
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\caption{This table shows the details}
\begin{subtable}[t]{\linewidth}
\centering
\vspace{0pt}
\begin{tabular}{@{\extracolsep{5pt}} lccc}
\toprule
\toprule
Year & $2002$ & $2003$ & $2004$ \\
\midrule
model1 & $1.703$ & $1.339$ & $1.238$ \\
model2 & $2.104$ & $1.920$ & $1.774$ \\
\bottomrule
\end{tabular}
\caption{Panel A: One year ahead}
\vspace{0.7cm}
\begin{tabular}{@{\extracolsep{5pt}} lccc}
\toprule
\toprule
Year & $2002$ & $2003$ & $2004$ \\
\midrule
model1 & $1.703$ & $1.339$ & $1.238$ \\
model2 & $2.104$ & $1.920$ & $1.774$ \\
\bottomrule
\end{tabular}
\caption{Panel B: Two year ahead}
\end{subtable}\hfill
\end{table}
\end{document}
答案1
\restylefloat{table}
导致标题移到表格下方。只需将其删除即可防止这种情况发生。
双重规则实际上既没有必要也不合适:\toprule
标记边界已经很重了,再加倍只会看起来很混乱。
此外,您肯定希望subtable
每个面板都有一个环境,而不是一个同时包含两个环境的环境。至少,我是这么认为的。
我删除了一些与您的示例无关的包,因为它们不属于 MWE,但如果您在实际文档中需要它们,您显然可以恢复它们。
我离开float
只是为了表明不是包本身导致了变化。
\documentclass[12pt]{article}
\usepackage{float}
\usepackage{subcaption}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\caption{This table shows the details}
\begin{subtable}[t]{\linewidth}
\centering
\vspace{0pt}
\begin{tabular}{@{\extracolsep{5pt}} lccc}
\toprule
Year & $2002$ & $2003$ & $2004$ \\
\midrule
model1 & $1.703$ & $1.339$ & $1.238$ \\
model2 & $2.104$ & $1.920$ & $1.774$ \\
\bottomrule
\end{tabular}
\caption{Panel A: One year ahead}
\end{subtable}
\begin{subtable}[t]{\linewidth}
\centering
\begin{tabular}{@{\extracolsep{5pt}} lccc}
\toprule
Year & $2002$ & $2003$ & $2004$ \\
\midrule
model1 & $1.703$ & $1.339$ & $1.238$ \\
model2 & $2.104$ & $1.920$ & $1.774$ \\
\bottomrule
\end{tabular}
\caption{Panel B: Two year ahead}
\end{subtable}
\end{table}
\end{document}