带有数学、列宽相等且右对齐的表格

带有数学、列宽相等且右对齐的表格

问:有没有一种比我的方法更不老套的\MyLen方法,可以生成下面第二张表格?我想保留专业功能(但我诚挚地欢迎批评!),例如 (1)booktabs效果、(2) 数据右对齐、(3) 没有垂直线、(4) 水平线仅用于分隔估计量和列标题、(5) 列宽相等、(6) 列间距紧密。

我生成了下表,但由于列宽不同,我认为它看起来不太专业(问:我错了吗?应该保留这个表吗?)

\documentclass{article}
\usepackage{booktabs}
\usepackage{diagbox}
\usepackage{tabularx}
\begin{document}
\begin{table}[ht]
  \centering
  \begin{tabular}{@{}lrrrrrrrr@{}}
    \toprule
    & \multicolumn{4}{l}{MPE} & \multicolumn{4}{l}{MAPE}\\
    \cmidrule(r){1-1}  \cmidrule(lr){2-5} \cmidrule(l){6-9}
    \diagbox[trim=lr]{Est.}{Jumps} & 0 & 3 & 10 & 30 & 0 & 3 & 10 & 30 \\
    \midrule
    $\widetilde{JV}$                & 2.14 & 2.42    & 1.35     & $-$1.69  & 2.14 & 4.57 & 4.92  & 4.74 \\
    $\widehat{JV}$                  & 1.99 & 2.16    & 1.12     & $-$1.83  & 1.99 & 4.47 & 4.91  & 4.81 \\
    $\widehat{JV}_{\mathrm{BNS04}}$ & 0.35 & $-$4.35 & $-$12.91 & $-$26.35 & 3.11 & 5.48 & 12.95 & 26.35 \\
     \midrule
    $\widetilde{IV}$                & $-$2.03 & $-$2.52 & $-$1.33 & 1.73  & 6.54 & 6.37 & 5.24  & 3.71 \\
    $\widehat{IV}$                  & $-$1.87 & $-$2.26 & $-$1.10 & 1.87  & 6.48 & 6.31 & 5.23  & 3.80 \\
    $\widehat{IV}_{\mathrm{BNS04}}$ & $-$0.24 & 4.25    & 12.93   & 26.39 & 6.61 & 7.06 & 13.11 & 26.39 \\
    \bottomrule
  \end{tabular}
  \caption{my caption}
\end{table}

标签1

\newlength{\MyLen}
\settowidth{\MyLen}{$-$26.35}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{\the\MyLen}}
\begin{table}[ht]
  \centering
  \begin{tabular}{@{}lRRRRRRRR@{}}
    \toprule
    & \multicolumn{4}{l}{MPE} & \multicolumn{4}{l}{MAPE}\\
    \cmidrule(r){1-1}  \cmidrule(lr){2-5} \cmidrule(l){6-9}
    \diagbox[trim=lr]{Est.}{Jumps} & 0 & 3 & 10 & 30 & 0 & 3 & 10 & 30 \\
    \midrule
    $\widetilde{JV}$                & 2.14 & 2.42    & 1.35     & $-$1.69  & 2.14 & 4.57 & 4.92  & 4.74 \\
    $\widehat{JV}$                  & 1.99 & 2.16    & 1.12     & $-$1.83  & 1.99 & 4.47 & 4.91  & 4.81 \\
    $\widehat{JV}_{\mathrm{BNS04}}$ & 0.35 & $-$4.35 & $-$12.91 & $-$26.35 & 3.11 & 5.48 & 12.95 & 26.35 \\
     \midrule
    $\widetilde{IV}$                & $-$2.03 & $-$2.52 & $-$1.33 & 1.73  & 6.54 & 6.37 & 5.24  & 3.71 \\
    $\widehat{IV}$                  & $-$1.87 & $-$2.26 & $-$1.10 & 1.87  & 6.48 & 6.31 & 5.23  & 3.80 \\
    $\widehat{IV}_{\mathrm{BNS04}}$ & $-$0.24 & 4.25    & 12.93   & 26.39 & 6.61 & 7.06 & 13.11 & 26.39 \\
    \bottomrule
  \end{tabular}
  \caption{my caption}
\end{table}

标签2

我喜欢这张表。更专业(但还有什么意见吗?再看一遍,这些列确实看起来有点宽)。不过,我不喜欢使用 hack 。我认为使用这个包\MyLen可能会有一种不那么 hack 的方法:tabularx

\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{table}[ht]
  \centering
  \begin{tabularx}{\linewidth}{@{}lRRRRRRRR@{}}
    \toprule
    & \multicolumn{4}{l}{MPE} & \multicolumn{4}{l}{MAPE}\\
    \cmidrule(r){1-1}  \cmidrule(lr){2-5} \cmidrule(l){6-9}
    \diagbox[trim=lr]{Est.}{Jumps} & 0 & 3 & 10 & 30 & 0 & 3 & 10 & 30 \\
    \midrule
    $\widetilde{JV}$                & 2.14 & 2.42    & 1.35     & $-$1.69  & 2.14 & 4.57 & 4.92  & 4.74 \\
    $\widehat{JV}$                  & 1.99 & 2.16    & 1.12     & $-$1.83  & 1.99 & 4.47 & 4.91  & 4.81 \\
    $\widehat{JV}_{\mathrm{BNS04}}$ & 0.35 & $-$4.35 & $-$12.91 & $-$26.35 & 3.11 & 5.48 & 12.95 & 26.35 \\
     \midrule
    $\widetilde{IV}$                & $-$2.03 & $-$2.52 & $-$1.33 & 1.73  & 6.54 & 6.37 & 5.24  & 3.71 \\
    $\widehat{IV}$                  & $-$1.87 & $-$2.26 & $-$1.10 & 1.87  & 6.48 & 6.31 & 5.23  & 3.80 \\
    $\widehat{IV}_{\mathrm{BNS04}}$ & $-$0.24 & 4.25    & 12.93   & 26.39 & 6.61 & 7.06 & 13.11 & 26.39 \\
    \bottomrule
  \end{tabularx}
  \caption{my caption}
\end{table}

标签3

我喜欢列更紧密,但第三行数据发生了一些奇怪的事情(问:知道那里发生了什么吗?)

答案1

我真的不喜欢你使用减号的方式。由于你所有的数据都是两位数,所以在这种情况下,对于最后一张表,更简单的解决方案是使用

\newcolumntype{R}{>{\begin{math}}r<{\end{math}}}

并消除$-$黑客攻击。此外,您可以考虑将标题居中:MPE 和 MAPE。

在此处输入图片描述


或者,您可以使用S来自siunitx对齐小数点。这最终也会移动“跳跃”行,因此如果不希望这样,您可以手动调整该行:

在此处输入图片描述

笔记:

  • 我不知道为什么,但使用列S类型需要用 替换\midrule\bottomrule\cmidrule{1-9}

代码:修改的R列类型:

\documentclass{article}

\usepackage{booktabs}
\usepackage{diagbox}
\usepackage{tabularx}

\begin{document}
\newcolumntype{R}{>{\begin{math}}r<{\end{math}}}
\begin{table}[ht]
  \centering
  \begin{tabularx}{\linewidth}{@{}lRRRRRRRR@{}}
    \toprule
    & \multicolumn{4}{l}{MPE} & \multicolumn{4}{l}{MAPE}\\
    \cmidrule(r){1-1}  \cmidrule(lr){2-5} \cmidrule(l){6-9}
    \diagbox[trim=lr]{Est.}{Jumps} & 0 & 3 & 10 & 30 & 0 & 3 & 10 & 30 \\
    \midrule
    $\widetilde{JV}$                &  2.14 &  2.42 &   1.35 & -1.69  & 2.14 & 4.57 & 4.92  & 4.74 \\
    $\widehat{JV}$                  &  1.99 &  2.16 &   1.12 & -1.83  & 1.99 & 4.47 & 4.91  & 4.81 \\
    $\widehat{JV}_{\mathrm{BNS04}}$ &  0.35 & -4.35 & -12.91 & -26.35 & 3.11 & 5.48 & 12.95 & 26.35 \\
     \midrule
    $\widetilde{IV}$                & -2.03 & -2.52 &  -1.33 &   1.73 & 6.54 & 6.37 & 5.24  & 3.71 \\
    $\widehat{IV}$                  & -1.87 & -2.26 &  -1.10 &   1.87 & 6.48 & 6.31 & 5.23  & 3.80 \\
    $\widehat{IV}_{\mathrm{BNS04}}$ & -0.24 &  4.25 &  12.93 &  26.39 & 6.61 & 7.06 & 13.11 & 26.39 \\
    \bottomrule
  \end{tabularx}
  \caption{my caption}
\end{table}
\end{document}

代號:siunitx版本:

\documentclass{article}

\usepackage{booktabs}
\usepackage{diagbox}
\usepackage{tabularx}
\usepackage{siunitx}

\begin{document}
\begin{table}[ht]
  \centering
  \begin{tabularx}{\linewidth}{@{}lSSSSSSSS@{}}
 %\begin{tabularx}{\linewidth}{@{}lrrrrrrrr@{}}
    \toprule
    & \multicolumn{4}{l}{MPE} & \multicolumn{4}{l}{MAPE}\\
    \cmidrule(r){1-1}  \cmidrule(lr){2-5} \cmidrule(l){6-9}
    \diagbox[trim=lr]{Est.}{Jumps} & 0 & 3 & 10 & 30 & 0 & 3 & 10 & 30 \\
    \cmidrule{1-9}
    $\widetilde{JV}$                &  2.14 &  2.42 &   1.35 & -1.69  & 2.14 & 4.57 & 4.92  & 4.74 \\
    $\widehat{JV}$                  &  1.99 &  2.16 &   1.12 & -1.83  & 1.99 & 4.47 & 4.91  & 4.81 \\
    $\widehat{JV}_{\mathrm{BNS04}}$ &  0.35 & -4.35 & -12.91 & -26.35 & 3.11 & 5.48 & 12.95 & 26.35 \\
    \cmidrule{1-9}
    $\widetilde{IV}$                & -2.03 & -2.52 &  -1.33 &   1.73 & 6.54 & 6.37 & 5.24  & 3.71 \\
    $\widehat{IV}$                  & -1.87 & -2.26 &  -1.10 &   1.87 & 6.48 & 6.31 & 5.23  & 3.80 \\
    $\widehat{IV}_{\mathrm{BNS04}}$ & -0.24 &  4.25 &  12.93 &  26.39 & 6.61 & 7.06 & 13.11 & 26.39 \\
    \cmidrule{1-9}
  \end{tabularx}
  \caption{my caption}
\end{table}
\end{document}

相关内容