Разбейте предложение на две строки, чтобы уменьшить ширину столбца.

Разбейте предложение на две строки, чтобы уменьшить ширину столбца.

У меня есть таблица, в которой есть несколько слов и столбцов.

\documentclass[12pt, twocolumn]{article}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{lipsum}

\begin{document}

\lipsum

\begin{table}[ht]
    %\vspace{-.15cm}
    \caption{Power Consumption measured in mW}
    %\vspace{-.1cm}
    \centering
    \begin{tabular}{c c c cc c cc }
    \toprule
    \multirow{2}{*}{\parbox[c]{.1\linewidth}{\centering }} 
      & Labeled & & \multicolumn{2}{c}{FBF ($q = 16$)} & & \multicolumn{2}{c}{FBF ($q = 64$)} \\
    \cmidrule{2-2} \cmidrule{4-5} \cmidrule{7-8}
    & size & & {Reduction in size(\%)} & Power & & {Reduction in size(\%)} & Power \\

    \midrule 

            s1 & 125 & & 59.2 & 7.32  & & 26.4 & 0.35 \\
            c2 & 81  & & 72.8 & 0.37 & & 25.9 &  0.36 \\

    \bottomrule
    \end{tabular}
    \label{table:power_consumption}
    \vspace{-.35cm}
    \end{table}  

\lipsum

\end{document}

При компиляции у меня получилась таблица со слишком широкими столбцами.

Думаю, Reduction in size(%)нужно немного подкорректировать. Как сделать эту колонку уже?

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

решение1

Вот способ, использующий makecellпакет, меньший размер шрифта и пакет captionдля правильного вертикального интервала между подписью и таблицей:

\documentclass[twocolumn,12pt]{article}%

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{lipsum}
\usepackage{makecell, caption}
\renewcommand\cellalign{bc}
\begin{document}

\lipsum

\begin{table}[!ht]
  \footnotesize\setlength\tabcolsep{4pt}\vspace{2pt}
  \captionsetup{labelfont = bf}
  \caption{Power Consumption measured in mW}
  \centering
  \begin{tabular}{@{\,}c@{\,}c@{\,}ccc@{\,}ccc@{\,}}
    \toprule
    & Labeled & & \multicolumn{2}{c}{FBF ($q = 16$)} & & \multicolumn{2}{c}{FBF ($q = 64$)} \\
    \cmidrule{2-2} \cmidrule{4-5} \cmidrule{7-8}
       & Size & & \makecell{Reduction\\ in size(\%)} & Power & &      \makecell{Reduction\\ in size(\%)} & Power \\
    \midrule
    s1 & 125 & & 59.2 & 7.32 & & 26.4 & 0.35 \\
    c2 & 81 & & 72.8 & 0.37 & & 25.9 & 0.36 \\
    \bottomrule
  \end{tabular}
  \label{table:power_consumption}
\vspace{-2.5ex}
\end{table}

\lipsum
\end{document} 

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

решение2

Это предложение. Я пытался мыслить нестандартно, поэтому оно не совсем соответствует вашему изначальному замыслу.

\documentclass[12pt, twocolumn]{article}

\usepackage{booktabs}
\usepackage{lipsum}
\usepackage{siunitx}
\usepackage[tableposition=above]{caption}

\begin{document}

\lipsum

\begin{table}[ht]
    %\vspace{-.15cm}
    \caption{Power Consumption in mW}
    %\vspace{-.1cm}
    \centering
    \begin{tabular}{c
    S[table-format = 3.0]
    *3c
    }
    \toprule
    &        &     & Size      &       \\
    & {Size} &  q  & Reduction & Power \\
    \addlinespace
    & {(-)}  & (-) & (\si{\percent}) & (\si{mW})\\
    \midrule 
    s1 & 125 & 16 & 59.2 & 7.32 \\
       &     & 32 & 26.4 & 0.35 \\
    \addlinespace            
    c2 & 81  & 16 & 72.8 & 0.37 \\
       &     & 32 & 25.9 & 0.36 \\
    \bottomrule
    \end{tabular}
    \label{table:power_consumption}
    \vspace{-.35cm}
    \end{table}  

\lipsum

\end{document}

В результате чего:

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

Комментарии:

  • В любом случае вы можете разделить длинный заголовок столбца «Уменьшение размера» на две строки, как я сделал в коде, используя две строки для определения заголовка таблицы.

  • Я также использовал siuntixпакет для выравнивания цифр в столбце «размер».

  • Я удалил использование, multirowтак как в нем не было особой необходимости.

  • Использовал пакет captionс опцией tableposition=aboveдля лучшего размещения заголовка таблицы.

решение3

В качестве альтернативы изменению размера шрифта и ширины столбца, что не всегда возможно, вы также можете позволить таблице охватывать оба столбца. Это можно сделать с помощью версии со звездочками.

\begin{table*}...\end{table*}

Символ размещения hв данном случае вообще не рекомендуется. Это также работает для фигур (и, если определены, других плавающих объектов).

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

documentclass[12pt, twocolumn]{article}

\usepackage{booktabs}
\usepackage{caption}
\usepackage{multirow}
\usepackage{lipsum}

\begin{document}

\lipsum

\begin{table*}[tb]
  \caption{Power Consumption measured in mW}
  \label{table:power_consumption}
  \centering
  \begin{tabular}{c c c cc c cc }
    \toprule
    \multirow{2}{*}{\parbox[c]{.1\linewidth}{\centering }}
      & Labeled & & \multicolumn{2}{c}{FBF ($q = 16$)} & & \multicolumn{2}{c}{FBF ($q = 64$)} \\
    \cmidrule{2-2} \cmidrule{4-5} \cmidrule{7-8}
    & size & & {Reduction in size(\%)} & Power & & {Reduction in size(\%)} & Power \\
    \midrule
            s1 & 125 & & 59.2 & 7.32  & & 26.4 & 0.35 \\
            c2 & 81  & & 72.8 & 0.37 & & 25.9 &  0.36 \\
    \bottomrule
  \end{tabular}
\end{table*}

\lipsum
\end{document}

решение4

Одно из решений:

\documentclass[12pt, twocolumn]{article}
    \usepackage{booktabs,tabularx}
    \usepackage{multirow}
    \usepackage{lipsum}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}

\lipsum

\begin{table}[ht]
    \centering
    \footnotesize
    \setlength{\tabcolsep}{3pt}
    \caption{Power Consumption measured in mW}
    \label{table:power_consumption}

    \begin{tabularx}{\hsize}{@{}ccCcCc@{}}
\toprule
    & Labeled 
            & \multicolumn{2}{c}{FBF ($q = 16$)} 
                            & \multicolumn{2}{c}{FBF ($q = 64$)} \\
    \cmidrule(lr){2-2} \cmidrule(lr){3-4} \cmidrule(lr){5-6}
    & size  &   Reduction\newline
                in size (\%) 
                    & Power &   Reduction\newline
                                in size (\%) 
                                    & Power                     \\    
    \midrule
s1  & 125   & 59.2  & 7.32  & 26.4  & 0.35                      \\
c2  & 81    & 72.8  & 0.37  & 25.9  & 0.36                      \\
    \bottomrule
    \end{tabularx}
    \end{table}

\lipsum
\end{document} 

Я использую tabularxпакет для подгонки ширины таблицы к ширине столбца, меняю шрифт так, \footnotesizeчтобы столбцы стали узкими. Если вам нравится, чтобы размер слова был в середине ячейки, то вам нужно использовать multirowили похожее решение.

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