次の表があります:
デザインのセンスがある方、この表をもっと見栄えよくする方法をご存知の方はいらっしゃいませんか? 理想的には、表が 2 つの部分 (「長期」と「短期」) で構成され、それぞれの部分に独自の数字があることを読者がすぐに理解できるようにしたいです。2 つのセクションの間に線を引こうとしましたが、あまり「プロフェッショナル」に見えませんでした...
アドバイスや提案があれば、ぜひお願いします。
\documentclass[12pt]{article}
\usepackage{setspace,amsmath,graphicx,float}
\usepackage[english]{babel}
\usepackage[natbibapa]{apacite}
\usepackage{boldline}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{url}
\usepackage{fancyhdr}
\usepackage{changepage}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{newtxtext, newtxmath}
\usepackage{eurosym}
\usepackage{nameref}
\usepackage[nottoc]{tocbibind}
\usepackage[bottom]{footmisc}
\edef\restoreparindent{\parindent=\the\parindent\relax}
\usepackage{parskip}
\usepackage{enumitem}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{arrows, arrows.meta, calc, positioning, quotes, shapes, patterns}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\usepackage[labelfont=bf]{caption}
\usepackage{etoolbox}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{amssymb}
\usepackage{nccmath}
\begin{document}
\begin{table}
\caption[Comparison of critical diversion ratios and switching levels (A)]
{Comparison of critical diversion ratios and switching levels (A).}
\label{Comparison1}
\centering
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}} c c c c}
\toprule
& \multicolumn{2}{c}{5\% Critical Price Increase} & \multicolumn{2}{c}{10\% Critical Price Increase} \\
\cmidrule(r){2-3} \cmidrule(lr){4-5}
& \vtop{\hbox{\strut One-sided}\hbox{\strut calculation}} & \vtop{\hbox{\strut Two-sided}\hbox{\strut calculation}} & \vtop{\hbox{\strut One-sided}\hbox{\strut calculation}} & \vtop{\hbox{\strut Two-sided}\hbox{\strut calculation}} \\
\midrule
Long-run: & & & & \\
Critical diversion ratios & 8.7\% & 5.4\% & 16\% & 13.5\% \\[1ex]
Critical switching levels & 16.5\% & 11.1\% & 30.4\% & 27.5\% \\[1ex]
Short-run: & & & & \\
Critical diversion ratios & 8.7\% & 5.4\% & 16\% & 13.5\% \\[1ex]
Critical switching levels & 16.5\% & 11.1\% & 30.4\% & 27.5\% \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答え1
今のところ、テーブルはそれほど醜くはありませんが、次のようにテーブルを再設計します。
ただし、答えは意見に基づくものにすぎません。人によって好みは異なります :)
MWEの序文から、テーブル関連のパッケージのみを保存し、追加しますsiunitx
(参照デビッド・カーライルコメント):
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage{newtxtext, newtxmath}
\usepackage[margin=1cm, labelfont=bf]{caption}
\usepackage{array, booktabs, multirow, tabularx, threeparttable}% <-- collected here
\newcommand\mcx[1]{\multicolumn{1}{X}{\centering#1}}% <-- added
\usepackage{siunitx}% <-- added
\begin{document}
\begin{table}
\caption[Comparison of critical diversion ratios and switching levels (A)]
{Comparison of critical diversion ratios and switching levels (A).}
\label{Comparison1}
\centering
\begin{tabularx}{\textwidth}{l
*{4}{S[table-format=2.1,
table-space-text-post=\si{\%},
table-align-text-post=false]<{\,\%}}
}
\toprule
& \multicolumn{2}{c}{\SI{5}{\%} Critical Price Increase}
& \multicolumn{2}{c}{\SI{10}{\%} Critical Price Increase} \\
\cmidrule(r){2-3} \cmidrule(lr){4-5}
\multicolumn{1}{r}{Calculations:}
& \mcx{One-sided} & \mcx{Two-sided} & \mcx{One-sided} & \mcx{Two-sided} \\
\midrule
\emph{Long-run:} & \multicolumn{4}{c}{} \\
Critical diversion ratios & 8.7 & 5.4 & 16 & 13.5 \cr
Critical switching levels & 16.5 & 11.1 & 30.4 & 27.5 \cr
\addlinespace
\emph{Short-run:} & \multicolumn{4}{c}{} \\
Critical diversion ratios & 8.7 & 5.4 & 16 & 13.5 \cr
Critical switching levels & 16.5 & 11.1 & 30.4 & 27.5 \cr
\bottomrule
\end{tabularx}
\end{table}
\end{document}
注記:
数字の整列には
S
列型が使用されますsiunitx
。- オプション付き
table-format
(整数用に2文字、小数用に1文字が予約されています) - オプションは、列内の数字
table-space-text-post=\si{\%}
に続くスペースを予約します%
- オプションでは
table-align-text-post=false
、パーセント記号が数字の最後の桁まで続くように順序付けられます(数字用に予約されたスペースまでではありません)。 <{\,\%}
各セルに \multicolumn{...}{..}} が追加されます%. Consequently, the cell, where it shouldn't appear had to be
。
- オプション付き
このコマンドは、
\mcx{...}
次の 2 つの理由で定義されます。- テーブルのコードが短い(あまり重要ではない)
- 番号を持つすべての列に等しい幅を予約します。これにより、2 つの列の幅の合計が自然な幅よりも大きくなり、
\multicolumn{2}{c}{\SI{10}{\%} Critical Price Increase}
結果としてこのヘッダーの下の列は等しい幅を維持します。
- 追加されたパッケージは
siunitx
非常に便利で複雑で、美しい表を設計するだけでなく、単位の正しい記述、数値の形成、数値の不確実性などにも役立ちます。ドキュメントを読んで、それがどのように文章を改善できるかを確認する価値があります。