
То же, что описано в этом вопросеКак разместить две подфигуры рядом с третьей подфигурой?, на этот раз наоборот и с таблицами. Вместо этого
| SUBTBL1 | SUBTBL3 |
| SUBTBL2 | SUBTBL3 |
у меня получилось вот это:
| SUBTBL1 | BLANK |
| SUBTBL2 | SUBTBL3 |
Я пробовал с позицией мини-страницы 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
Вместо того, чтобы иметь table
окружения внутри minipage
s, используйте одно table
окружение и два minipage
s внутри него. Вы можете иметь несколько подписей внутри одного и того же 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
и использовать среды side-by-side 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}