如何将两个子表堆叠到第三个子表旁边?

如何将两个子表堆叠到第三个子表旁边?

与此问题描述的相同如何将两个子图堆叠到第三个子图旁边?,这次则相反,并带有表格。而不是这个

| SUBTBL1 | SUBTBL3 |    
| SUBTBL2 | SUBTBL3 |

我懂了:

| SUBTBL1 |  BLANK  |    
| SUBTBL2 | SUBTBL3 |

我尝试将 minipage 的位置改为 t,而不是 b,与 c 相同,但没有效果

\documentclass{report}
\usepackage{colortbl}
\usepackage{float}
\usepackage{graphicx}

\begin{document}
\begin{minipage}[b]{0.5\linewidth}
\begin{table}[H]
\begin{tabular}{|c|c|c|c|}
\hline
text & text & text & text \\ \hline
\hline
text & text & text & text \\ \hline
\end{tabular}
\caption{SUBTBL1}
\end{table}
\vspace{0.5cm}

\begin{table}[H]
\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL2}
\end{table}
\end{minipage}\quad
\begin{minipage}[b]{0.5\linewidth}
\begin{table}[H]
\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL3}
\end{table}
\end{minipage}
\end{document}

答案1

不要在stable内使用环境,而应使用一个环境和两个s。您可以在同一个(或)环境中使用多个标题。minipagetableminipagetablefigure

请注意,如果两个迷你页面0.5\linewidth彼此相邻且\quad中间有空格,您将得到一个溢出的框,并且第二个迷你页面会稍微插入右边距。根据情况,使用

\end{minipage}% <-- percentcharacter removes space from line feed
\begin{minipage}{0.5\linewidth}

或者稍微减少宽度,并使用\hfill而不是\quad(如下例所示)。

在此处输入图片描述

\documentclass{report}
\begin{document}
\begin{table}
\begin{minipage}{0.48\linewidth}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
text & text & text & text \\ \hline
\hline
text & text & text & text \\ \hline
\end{tabular}
\caption{SUBTBL1}
\vspace{0.5cm}

\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL2}
\end{minipage}\hfill
\begin{minipage}{0.48\linewidth}
\centering
\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL3}
\end{minipage}
\end{table}
\end{document}

如果您希望右表底部与左下表底部对齐,您可以假设标题具有相同的高度,将[b]位置参数添加到两个minipage环境中,因此您有

\begin{minipage}[b]{0.48\linewidth}

两者都一样。(如果标题的高度不同,而您希望标题的第一行垂直对齐,则必须采取其他措施,我不知道最好的实现方法,但可能可以使用软件包来完成,并且floatrow网站上的某个地方可能会有关于此问题的问题。)

答案2

我建议您加载subcaption包并使用并行subtable环境。左侧的环境将包含子表 (a) 和 (b),右侧的环境将包含子表 (c)。

在此处输入图片描述

\documentclass{report}
\usepackage{float}
\usepackage{subcaption}

\begin{document}
\hrule % just to illustrate width of textblock
\begin{table}[H]
\begin{subtable}{0.5\linewidth}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
text & text & text & text \\ \hline
text & text & text & text \\ \hline
\end{tabular}
\caption{SUBTBL1}

\vspace{0.5cm}

\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL2}
\end{subtable}%
\begin{subtable}{0.5\linewidth}
\centering
\begin{tabular}{|c|c|}
\hline
text & text\\ \hline
text & text\\ \hline
text & text\\ \hline
\end{tabular}
\caption{SUBTBL3}
\end{subtable}
\caption{Overall table caption}
\end{table}
\end{document}

相关内容