Как разместить таблицы рядом с помощью «\minipage»?

Как разместить таблицы рядом с помощью «\minipage»?

Надеюсь, мой финальный стол будет таким:

| SUBTBL1 | SUBTBL2 |
| SUBTBL3 | SUBTBL4 |

так и есть, но часть таблицы перекрывается текстом, что делать? введите описание изображения здесь

Вот моя преамбула:

\documentclass[lettersize,journal]{IEEEtran}
\usepackage{amsmath,amsfonts}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{array}
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\usepackage{textcomp}
\usepackage{stfloats}
\usepackage{multirow}
\usepackage{url}
\usepackage{verbatim}
\usepackage{graphicx}
\usepackage{diagbox}
\usepackage{booktabs}
\usepackage{cite}
\usepackage{caption}
\hyphenation{op-tical net-works semi-conduc-tor IEEE-Xplore}

Вот мой код:

    \begin{table}[th]
    \centering
    \caption{Result}
    \begin{tabular}{c c}
    \begin{minipage}[b]{0.48\textwidth}\centering
    \resizebox{1.\textwidth}{!}{
    \begin{tabular}{cccccccccc}
    \toprule
    %\hline
    \multirow{2}{*}{K} & \multicolumn{3}{c}{t = 0.1}   & \multicolumn{3}{c}{t = 1}  & \multicolumn{3}{c}{t = 5}           \\
    \cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
    
    & Prc.\% & Rec.\% & F1-Mea.\% & Prc.\% & Rec.\% & F1-Mea.\% & Prec.\% & Rec.\% & F1-Mea.\%\\ \toprule
    0.2    & 99.94 & 99.99 & 99.96  & 99.77       & 99.98      & 99.87    & 94.93    &  99.90    &   97.35        \\
    0.5    & 99.91  & 99.99   & 99.94   & 99.93        &99.99         & 99.95    & 73.20       &99.62         & 84.39  \\
    0.8   &  \textbf{99.95} &  \textbf{99.99 } & \textbf{99.96}  &  99.93      &  99.99       &   99.95    & 99.70      & 99.99        &  99.84  \\ \toprule
    \end{tabular}}
    \caption{(a)}
    \end{minipage}

    &

    \begin{minipage}[b]{0.48\textwidth}\centering
    \resizebox{1.\textwidth}{!}{
    \begin{tabular}{cccccccccc}
    \toprule
    \multirow{2}{*}{K} & \multicolumn{3}{c}{t = 0.1}   & \multicolumn{3}{c}{t = 1}  & \multicolumn{3}{c}{t = 5}           \\
    \cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
    & Prec.\% & Rec.\% & F1-Mea.\% & Prc.\% & Rec.\% & F1-Mea.\% & Prc.\% & Rec.\% & F1-Mea.\%\\ \toprule
    0.2    & 92.19  &  93.27  &  92.72 & \textbf{92.54}   &  \textbf{93.62} &  \textbf{93.07}   & 91.53  & 92.58   & 92.05  \\
    0.5    & 92.03   & 93.10    & 92.56 & \textbf{92.54}   &  \textbf{93.62} &  \textbf{93.07} & 91.53       & 92.58  &92.05 \\
    0.8   &92.36 &  93.45  &   92.90   & \textbf{92.54}   &  \textbf{93.62} &  \textbf{93.07}  &  91.86   & 92.93   &  92.39    \\ \toprule
    \end{tabular}}
    \caption{(b)}
    \end{minipage}

    \\

    \begin{minipage}[b]{0.48\textwidth}\centering
    \resizebox{1.\textwidth}{!}{
    \begin{tabular}{cccccccccc}
    \toprule
    %\hline
    \multirow{2}{*}{K} & \multicolumn{3}{c}{t = 0.1}   & \multicolumn{3}{c}{t = 1}  & \multicolumn{3}{c}{t = 5}           \\
    \cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
    & Prec.\% & Rec.\% & F1-Mea.\% & Prec.\% & Rec.\% & F1-Mea.\% & Prec.\% & Rec.\% & F1-Mea.\%\\ \toprule
    0.2    & 99.85 & 94.45  &   97.07  &  99.85    &  99.55  & 99.69 & \textbf{99.85} & \textbf{99.98}  & \textbf{99.91}     \\
    0.5    & 99.89 & 99.25   & 99.56    &  99.85   &  99.73  & 99.78   & \textbf{99.85} & \textbf{99.98}  & \textbf{99.91} \\
    0.8   &  99.91 & 94.09   & 96.91     &  99.83   &   95.65  &  97.69  & \textbf{99.85} & \textbf{99.98}  & \textbf{99.91} \\ \toprule
    \end{tabular}}
    \caption{(c)}
    \end{minipage}

    &

    \begin{minipage}[b]{0.48\textwidth}\centering
    \resizebox{1.\textwidth}{!}{
    \begin{tabular}{cccccccccc}
    \toprule
    %\hline
    \multirow{2}{*}{K} & \multicolumn{3}{c}{t = 0.1}   & \multicolumn{3}{c}{t = 1}  & \multicolumn{3}{c}{t = 5}           \\
    \cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
    & Prec.\% & Rec.\% & F1-Mea.\% & Prec.\% & Rec.\% & F1-Mea.\% & Prec.\% & Rec.\% & F1-Mea.\%\\ \toprule
    0.2    & 99.99  & 90.47   &  94.99  &  \textbf{99.99}  & \textbf{97.61} &  \textbf{98.78} &  99.99   & 85.71  & 92.30\\
    0.5    & 99.99  & 92.85   & 96.28&  \textbf{99.99}  & \textbf{97.61} &  \textbf{98.78} &  99.99      & 88.09   &  93.66\\
    0.8   & 99.99 & 92.85  & 96.28   &  \textbf{99.99}  & \textbf{97.61} &  \textbf{98.78}  & 99.99   & 88.09   &  93.66  \\ \toprule
    \end{tabular}}
    \caption{(d)}
    \end{minipage}

    \\
    
    \end{tabular}
    \end{table}

решение1

Итак, давайте сосредоточимся на проблеме организации. Поэтому я сожму таблицы в одну простую в отдельном файле с именем input_tab_A:

\begin{tabular}{lll}
  A & B & C \\
  1 & 2 & 3
\end{tabular}

Разделение tabulars на отдельные файлы позволяет нам сосредоточиться на проблеме, а не на содержании. Я советую делать это со всемислишком длинный и слишком сложныйтаблицы. Если журналы требуютодин единственный файл tex, просто скопируйте и вставьте после того, как закончите сложную задачу по организации и написанию статьи.

Далее в этом ответе в качестве источников используются следующие ссылки:

Теперь к коду. Я представлю несколько методов вставки таблиц. Поскольку ваша проблема связана с организацией и смещением вокруг текста, пакет lipsumиспользуется для того, чтобы избежать набора текста. Иногда я вставляю копии, \input{input_tab_A}чтобы создать более длинную таблицу.

MWE следует

\documentclass[lettersize,journal]{IEEEtran}
\usepackage{float}
\usepackage{lipsum}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup{font=normalsize,labelfont=sf,textfont=sf,position=top}
\begin{document}
\lipsum[1-3]

\begin{minipage}[b]{0.48\linewidth}
  \centering
  \begin{table}[H]
    \captionbox{Legend}[\linewidth]{
      \input{input_tab_A}
    }
  \end{table}
\end{minipage}%
\begin{minipage}[b]{0.48\linewidth}
  \centering
  \begin{table}[H]
    \captionbox{Legend}[\linewidth]{
      \input{input_tab_A}
    }
  \end{table}
\end{minipage}

\lipsum[1-3]

\begin{minipage}[b]{0.3\textwidth}
  \centering
  \begin{table}[H]
    \captionbox{!!Error textwidth!!}[\linewidth]{
      \input{input_tab_A}
    }
  \end{table}
\end{minipage}%
\begin{minipage}[b]{0.3\textwidth}
  \centering
  \begin{table}[H]
    \captionbox{This table is missing}[\linewidth]{
      \input{input_tab_A}
    }
  \end{table}
\end{minipage}

\begin{table*}
  \captionbox{This table goes through two columns}[\linewidth]{
    \input{input_tab_A}\input{input_tab_A}
    \input{input_tab_A}\input{input_tab_A}
    \input{input_tab_A}\input{input_tab_A}
  }
\end{table*}

\lipsum[1-3]

\begin{table}[!ht]
  \centering
  \captionbox{A lot of tables and subtables}[\linewidth]{
    \subcaptionbox{First}{
      \input{input_tab_A}
    }\quad
    \subcaptionbox{Second}{
      \input{input_tab_A}
    }
  
    \subcaptionbox{Third}{
      \input{input_tab_A}
    }\quad
    \subcaptionbox{Fourth}{
      \input{input_tab_A}
    }
  }
\end{table}

\lipsum[1-7]

\begin{table*}[!ht]
  \centering
  \captionbox{A lot of tables and subtables through two columns}[\linewidth]{
    \subcaptionbox{First}{
      \input{input_tab_A}
      \input{input_tab_A}
      \input{input_tab_A}
    }\quad
    \subcaptionbox{Second}{
      \input{input_tab_A}
      \input{input_tab_A}
      \input{input_tab_A}
    }
    
    \subcaptionbox{Third}{
      \input{input_tab_A}\input{input_tab_A}
      \input{input_tab_A}\input{input_tab_A}
      \input{input_tab_A}\input{input_tab_A}
    }\quad
    \subcaptionbox{Fourth}{
      \input{input_tab_A}\input{input_tab_A}
      \input{input_tab_A}\input{input_tab_A}
      \input{input_tab_A}\input{input_tab_A}
    }
  }
\end{table*}

\lipsum[1-7]

\begin{figure*}
  \centering
  \begin{minipage}[b]{0.3\textwidth}
    \centering
    \captionof{table}{First}
    \input{input_tab_A}
  \end{minipage}\quad
  \begin{minipage}[b]{0.3\textwidth}
    \centering
    \captionof{table}{Second}
    \input{input_tab_A}
  \end{minipage}

  \begin{minipage}[b]{0.3\textwidth}
    \centering
    \captionof{table}{Third}
    \input{input_tab_A}
  \end{minipage} %
  \begin{minipage}[b]{0.3\textwidth}
    \centering
    \captionof{table}{Fourth}
    \input{input_tab_A}
  \end{minipage}
\end{figure*}

\lipsum[1-10]

\end{document}

Обсуждение результатов

minipageс\linewidth

Это прекрасный результат, каждый из них пометил numericas как таблицу, но только один столбец. Мне пришлось использовать [H]из floatпакета, это неэлегантный(Почему опцию «H» не следует использовать в поплавках?).

введите описание изображения здесь

minipageс\textwidth

Нехорошо, таблицы, конечно, будут далеки от полей. Плохое решение.

введите описание изображения здесь

table*

Теперь все становится лучше: наша очень большая таблица помещается в обе колонки, не мешая тексту.Перейти на следующую страницу?-- Да, именно так класс IEEEtranопределяет стандартное поведение.

введите описание изображения здесь

tableи\subcaptionbox

Это решение дает нам субтитры! Выглядит красиво, но это не совсем то, что вам нужно. Это внутри одного столбца.

введите описание изображения здесь

table*и\subcaptionbox

Немного ближе. Меньшие таблицы могут быть side bz side, большие таблицы не могут. Но у него все еще есть подзаголовок с буквами. Давайте попробуем наш последний ход.

введите описание изображения здесь

figure*, minipageи\captionof

Почему бы не изменить правила в нашу пользу?

Пакет captionпозволяет нам сделатьконечный трюк, вставлятьподписи кобъект внутри других сред.

Теперь мы достигаем: (1) желаемой организации; (2) все таблицы помечены как таблицы, а не как подтаблицы; (3) таблицы пересекают столбцы, но не тексты; и (4) сохраняем некоторыеэлегантностьизбегая [H].

введите описание изображения здесь

Связанный контент