
複数の単語と列を持つ表があります
\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
または同様のソリューションを使用する必要があります。