![Выравнивание и размещение подтаблиц](https://rvso.com/image/328452/%D0%92%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%D0%B4%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86.png)
У меня есть таблица float с четырьмя подтаблицами и возникли проблемы с выравниванием и размещением. Вот код:
\begin{table}
\begin{subtable}{0.45\textwidth}
\centering
\begin{tabular}[t]{cccc}
\toprule
Band & L & $\mathcal{O}_{JK}^2$ & $\mathcal{O}_{EP}^2$ \\
\midrule
1 & 0 & 0.97470(3) & 0.9881(3) \\
\midrule
& 2 & 0.8290(2) & 0.882(2) \\
& 3 & 0.96595(4) & 0.979(1) \\
2 & 4 & 0.95328(6) & 0.9736(8) \\
& 5 & 0.98727(2) & 0.9950(10) \\
& 6 & 0.9168(1) & 0.950(1) \\
\midrule
& 0 & 0.7776(4) & 0.8685(8) \\
& 1 & 0.96289(5) & 0.971(2) \\
& 2 & 0.8385(2) & 0.8838(8) \\
& 3 & 0.9021(1) & 0.929(1) \\
& 4 & 0.8687(2) & 0.9079(7) \\
3 & 5 & 0.9382(1) & 0.946(3) \\
& 6 & 0.9052(2) & 0.9401(4) \\
& 7 & 0.9198(2) & 0.9483(5) \\
& 8 & 0.9649(5) & 0.9763(4) \\
& 9 & 0.9502(1) & 0.971(2) \\
& 10 & 0.9126(3) & 0.941(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (10,15)}
\label{tab:table1_a}
\end{subtable}%
\begin{subtable}{0.45\textwidth}
\centering
\begin{tabular}[t]{cccc}
\toprule
Band & L & $\mathcal{O}_{JK}^2$ & $\mathcal{O}_{EP}^2$ \\
\midrule
1 & 0 & 0.997120(3) & 0.9987(2) \\
\midrule
& 2 & 0.97193(2) & 0.9830(7) \\
2 & 3 & 0.93118(5) & 0.9542(7) \\
& 4 & 0.92257(8) & 0.9486(7) \\
& 5 & 0.98844(1) & 0.9937(6) \\
\midrule
& 0 & 0.8450(1) & 0.905(2) \\
& 1 & 0.6931(3) & 0.726(2) \\
& 2 & 0.8618(1) & 0.8945(5) \\
& 3 & 0.90250(9) & 0.9233(9) \\
3 & 4 & 0.8487(1) & 0.8839(6) \\
& 5 & 0.9145(1) & 0.9382(7) \\
& 6 & 0.8884(2) & 0.9174(5) \\
& 7 & 0.9572(1) & 0.978(1) \\
& 8 & 0.97651(6) & 0.977(1) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (9,16)}
\label{tab:table1_b}
\end{subtable}%
\\
\par\bigskip
\begin{subtable}{0.45\textwidth}
\centering
\begin{tabular}[t]{cccc}
\toprule
Band & L & $\mathcal{O}_{JK}^2$ & $\mathcal{O}_{EP}^2$ \\
\midrule
1 & 2.5 & 0.97230(3) & 0.9866(6) \\
\midrule
& 1.5 & 0.96685(6) & 0.980(3) \\
& 2.5 & 0.92390(9) & 0.956(4) \\
& 3.5 & 0.9075(3) & 0.9403(5) \\
2 & 4.5 & 0.9256(4) & 0.9541(4) \\
& 5.5 & 0.9920(3) & 0.9957(5) \\
& 6.5 & 0.97562(4) & 0.984(1) \\
& 7.5 & 0.9358(1) & 0.963(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (9,13)}
\label{tab:table1_c}
\end{subtable}%
\begin{subtable}{0.45\textwidth}
\centering
\begin{tabular}[t]{cccc}
\toprule
Band & L & $\mathcal{O}_{JK}^2$ & $\mathcal{O}_{EP}^2$ \\
\midrule
& 1 & 0.97285(3) & 0.9834(9) \\
1 & 3 & 0.89744(10) & 0.9298(10) \\
& 5 & 0.97480(3) & 0.9863(6) \\
\midrule
& 1 & 0.8590(3) & 0.915(1) \\
& 2 & 0.8428(4) & 0.8925(8) \\
& 3 & 0.8859(5) & 0.9195(8) \\
2 & 4 & 0.8799(1) & 0.9139(10) \\
& 5 & 0.8939(3) & 0.9216(9) \\
& 6 & 0.9587(2) & 0.9752(9) \\
& 7 & 0.9286(1) & 0.9541(8) \\
& 8 & 0.94937(5) & 0.965(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (10,16)}
\label{tab:table1_d}
\end{subtable}%
\caption{\footnotesize Main caption describing \subref{table1_a}, \subref{table1_b}, \subref{table1_c} and \subref{table1_d}.}
\label{tab:table1}
\end{table}
Моя главная проблема в том, что они перекрываются по горизонтали, хотя я думал, что \begin{subtable}{0.45\textwidth}
это можно решить так, как это делается с помощью \begin{subfigure}
. У меня та же проблема, когда я использую \subpar
, и, \subfloat
похоже, он конфликтует с некоторыми другими моими пакетами.
Во-вторых, я хотел бы, чтобы их верхние края совпадали, и думал, что это можно сделать с помощью [t]
in , но этого не произошло.begin{tabular}[t]{cccc}
решение1
Чтобы добиться выравнивания по верхнему краю подтаблиц, добавьте [t]
спецификатор позиционирования к каждой subtable
среде. Также убедитесь, что ширина сред tabular
не превышает ширину, выделенную для subtable
сред, которые их охватывают. Поэтому я бы рекомендовал вам изменить выделенную ширину с 0.45\textwidth
на 0.48\textwidth
(и использовать \flushright
директивы внутри подтаблиц "b" и "d").
Чтобы разделить подтаблицы по горизонтали, предлагаю вам вставить \hspace{\fill}
инструкцию между подтаблицами 1 и 2 и подтаблицами 3 и 4 соответственно.
Вы также можете выровнять числа в столбцах 3 и 4 подтаблиц по соответствующим им десятичным маркерам.
\documentclass{article}
\usepackage{booktabs,subcaption,amsfonts,dcolumn}
\newcolumntype{d}[1]{D..{#1}}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\begin{document}
\begin{table}
\begin{subtable}[t]{0.48\textwidth}
\begin{tabular}[t]{@{} l c *{2}{d{1.7}} @{}}
\toprule
Band & L & \mc{$\mathcal{O}_{JK}^2$} & \mc{$\mathcal{O}_{EP}^2$} \\
\midrule
1 & 0 & 0.97470(3) & 0.9881(3) \\
\midrule
& 2 & 0.8290(2) & 0.882(2) \\
& 3 & 0.96595(4) & 0.979(1) \\
2 & 4 & 0.95328(6) & 0.9736(8) \\
& 5 & 0.98727(2) & 0.9950(10)\\
& 6 & 0.9168(1) & 0.950(1) \\
\midrule
& 0 & 0.7776(4) & 0.8685(8) \\
& 1 & 0.96289(5)& 0.971(2) \\
& 2 & 0.8385(2) & 0.8838(8) \\
& 3 & 0.9021(1) & 0.929(1) \\
& 4 & 0.8687(2) & 0.9079(7) \\
3 & 5 & 0.9382(1) & 0.946(3) \\
& 6 & 0.9052(2) & 0.9401(4) \\
& 7 & 0.9198(2) & 0.9483(5) \\
& 8 & 0.9649(5) & 0.9763(4) \\
& 9 & 0.9502(1) & 0.971(2) \\
& 10 & 0.9126(3) & 0.941(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (10,15)}
\label{tab:table1_a}
\end{subtable}
\hspace{\fill}
\begin{subtable}[t]{0.48\textwidth}
\flushright
\begin{tabular}[t]{@{} l c *{2}{d{1.7}} @{}}
\toprule
Band & L & \mc{$\mathcal{O}_{JK}^2$} & \mc{$\mathcal{O}_{EP}^2$} \\
\midrule
1 & 0 & 0.997120(3) & 0.9987(2) \\
\midrule
& 2 & 0.97193(2) & 0.9830(7) \\
2 & 3 & 0.93118(5) & 0.9542(7) \\
& 4 & 0.92257(8) & 0.9486(7) \\
& 5 & 0.98844(1) & 0.9937(6) \\
\midrule
& 0 & 0.8450(1) & 0.905(2) \\
& 1 & 0.6931(3) & 0.726(2) \\
& 2 & 0.8618(1) & 0.8945(5) \\
& 3 & 0.90250(9)& 0.9233(9) \\
3 & 4 & 0.8487(1) & 0.8839(6) \\
& 5 & 0.9145(1) & 0.9382(7) \\
& 6 & 0.8884(2) & 0.9174(5) \\
& 7 & 0.9572(1) & 0.978(1) \\
& 8 & 0.97651(6)& 0.977(1) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (9,16)}
\label{tab:table1_b}
\end{subtable}
\bigskip
\begin{subtable}[t]{0.48\textwidth}
\begin{tabular}[t]{@{} l c *{2}{d{1.7}} @{}}
\toprule
Band & L & \mc{$\mathcal{O}_{JK}^2$} & \mc{$\mathcal{O}_{EP}^2$} \\
\midrule
1 & 2.5 & 0.97230(3) & 0.9866(6) \\
\midrule
& 1.5 & 0.96685(6) & 0.980(3) \\
& 2.5 & 0.92390(9) & 0.956(4) \\
& 3.5 & 0.9075(3) & 0.9403(5) \\
2 & 4.5 & 0.9256(4) & 0.9541(4) \\
& 5.5 & 0.9920(3) & 0.9957(5) \\
& 6.5 & 0.97562(4) & 0.984(1) \\
& 7.5 & 0.9358(1) & 0.963(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (9,13)}
\label{tab:table1_c}
\end{subtable}
\hspace{\fill}
\begin{subtable}[t]{0.48\textwidth}
\flushright
\begin{tabular}[t]{@{} l c *{2}{d{1.7}} @{}}
\toprule
Band & L & \mc{$\mathcal{O}_{JK}^2$} & \mc{$\mathcal{O}_{EP}^2$} \\
\midrule
& 1 & 0.97285(3) & 0.9834(9) \\
1 & 3 & 0.89744(10)& 0.9298(10) \\
& 5 & 0.97480(3) & 0.9863(6) \\
\midrule
& 1 & 0.8590(3) & 0.915(1) \\
& 2 & 0.8428(4) & 0.8925(8) \\
& 3 & 0.8859(5) & 0.9195(8) \\
2 & 4 & 0.8799(1) & 0.9139(10) \\
& 5 & 0.8939(3) & 0.9216(9) \\
& 6 & 0.9587(2) & 0.9752(9) \\
& 7 & 0.9286(1) & 0.9541(8) \\
& 8 & 0.94937(5)& 0.965(2) \\
\bottomrule
\end{tabular}
\caption{\footnotesize (10,16)}
\label{tab:table1_d}
\end{subtable}
\caption{\footnotesize Main caption describing \subref{tab:table1_a}, \subref{tab:table1_b}, \subref{tab:table1_c} and \subref{tab:table1_d}.}
\label{tab:table1}
\end{table}
\end{document}