我有下表:
有设计天赋的人知道怎样才能让它看起来不那么丑吗?理想情况下,我希望读者能立即看到表格由两部分组成(“长期”和“短期”),并且每部分都有自己的数字。我尝试在两部分之间使用一条线,但看起来并不“专业”......
如有任何建议或意见我将不胜感激 - 谢谢!
\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 到数字的最后一位数字(而不是数字的保留空间) - 每个单元格
<{\,\%}
添加%. Consequently, the cell, where it shouldn't appear had to be
\multicolumn{...}{..}}
- 带选项
该命令的
\mcx{...}
定义有两个原因:- 对于较短的表格代码(不太重要)
- 用于为所有带有数字的列保留相等宽度。这样,两个列宽的总和大于自然宽度
\multicolumn{2}{c}{\SI{10}{\%} Critical Price Increase}
,因此此标题下的列保留相等宽度。
- 添加的包
siunitx
非常有用和复杂,不仅可以设计漂亮的表格,而且首先可以正确书写单位、数字的形成、数字的不确定性等。值得阅读它的文档并看看它如何提高你的写作水平。