与此问题描述的相同如何将两个子图堆叠到第三个子图旁边?,这次则相反,并带有表格。而不是这个
| 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。您可以在同一个(或)环境中使用多个标题。minipage
table
minipage
table
figure
请注意,如果两个迷你页面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}