列幅を狭くするために文章を2行にします。

列幅を狭くするために文章を2行にします。

複数の単語と列を持つ表があります

\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}

その結果、次のようになりました。

ここに画像の説明を入力してください

コメント:

  • いずれの場合でも、コードで行ったように、2 行を使用してテーブル ヘッダーを定義することで、長い列タイトル「サイズの縮小」を 2 行に分割できます。

  • また、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

解決策の 1 つは次のとおりです。

\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または同様のソリューションを使用する必要があります。

関連情報