У меня есть следующая таблица:
Есть ли у кого-нибудь с дизайнерским чутьем хорошие идеи, как сделать его менее уродливым? В идеале я хочу, чтобы читатели сразу видели, что таблица состоит из двух частей («long-run» и «short-run»), и что каждая часть имеет свои собственные числа. Я пытался использовать линию между двумя разделами, но это выглядело не очень «профессионально»...
Буду признателен за любые советы и предложения - спасибо!
\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
(зарезервировано два символьных пространства для целых чисел и одно для десятичных дробей) - с опцией
table-space-text-post=\si{\%}
зарезервировано место, за%
которым следуют числа в столбцах - с опцией
table-align-text-post=false
упорядочено, что знак процента следует за imidiatel до последней цифры в числе (а не до зарезервированного места для чисел) - с
<{\,\%}
is к каждой ячейке добавляется%. Consequently, the cell, where it shouldn't appear had to be
\multicolumn{...}{..}}
- с опциями
команда
\mcx{...}
определена по двум причинам:- для более короткого кода таблицы (менее важно)
- для резервирования одинаковой ширины для всех столбцов с номером. При этом сумма ширины двух столбцов больше естественной ширины
\multicolumn{2}{c}{\SI{10}{\%} Critical Price Increase}
и, следовательно, столбцы под этим заголовком сохраняют одинаковую ширину.
- Добавленный пакет
siunitx
очень полезен и сложен, не только для дизайна красивых таблиц, но и в первую очередь для правильного написания единиц, формирования чисел, неопределенности чисел и т. д. Стоит прочитать его документацию и посмотреть, как он может улучшить ваше письмо.