Eu tenho a seguinte tabela:
Alguém com talento para design tem uma boa ideia de como posso torná-lo menos feio? Idealmente, quero que os leitores vejam imediatamente que a tabela consiste em duas partes (“longo prazo” e “curto prazo”) e que cada parte tem seus próprios números. Tentei usar uma linha entre as duas seções, mas não ficou muito "profissional"...
Ficaria muito grato por qualquer conselho ou sugestão - obrigado!
\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}
Responder1
Até agora sua mesa não é tão feia... mas eu redesenharia sua mesa para:
No entanto, a resposta só pode ser baseada em opiniões: pessoas diferentes, gostos diferentes :)
Do preâmbulo do seu MWE eu preservo apenas os pacotes relacionados à tabela e adiciono siunitx
(vejaDavid CarlisleComente):
\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}
Observação:
para alinhamento de números é usado
S
o tipo de coluna desiunitx
onde- com opções
table-format
(são reservados dois espaços para números inteiros e um para decimais - com opção
table-space-text-post=\si{\%}
é um espaço reservado para%
o qual segue os números nas colunas - com a opção
table-align-text-post=false
é ordenado que o sinal de porcentagem siga imidiatel até o último dígito do número (e não ao espaço reservado para números) - com
<{\,\%}
é para cada célula adicionada%. Consequently, the cell, where it shouldn't appear had to be
\multicolumn{...}{..}}
- com opções
o comando
\mcx{...}
é definido por dois motivos:- para código de tabela mais curto (menos importante)
- para reservar largura igual para todas as colunas com número. Com isso a soma das larguras de duas colunas é maior que a largura natural
\multicolumn{2}{c}{\SI{10}{\%} Critical Price Increase}
e consequentemente as colunas sob este cabeçalho preservam largura igual.
- O pacote adicionado
siunitx
é muito útil e complexo, não só para desenhar uma bela mesa, mas em primeiro lugar para escrita correta de unidades, formação de números, incerteza de números etc. Vale a pena ler sua documentação e ver como ela pode melhorar sua escrita .