如何使两列文档的多列表格居中?

如何使两列文档的多列表格居中?

我正在尝试将以下 LateX 表置于中心:

\begin{table*}[ht]
    \caption{Comparison of optimization algorithms}
    \label{my-label}
    \begin{tabularx}{\textwidth}{|c|c|c|c|c|c|c|c|c|c|c|}
        \hhline{-*{10}{-}}
         Density & \multicolumn{3}{c|}{ 0.2 nodes/m } &  \multicolumn{3}{c|}{ 0.3 nodes/m } & \multicolumn{3}{c|}{ 0.2 nodes/m }\\
        \hhline{-*{10}{-}}
         Bandwidth & \multicolumn{3}{c|}{ 20 MHz } &  \multicolumn{3}{c|}{ 20 MHz } & \multicolumn{3}{c|}{ 120 MHz }\\
        \hhline{-*{10}{-}}
        Algorithm & DLNN & Bayesian & Grid & DLNN & Bayesian & Grid & DLNN & Bayesian & Grid \\
        \hhline{-*{10}{-}}
        Time & 40s & 85s & 575s & 45s & 90s & 573s & 45s & 85s & 658s \\
        \hhline{-*{10}{-}}
        Min CBR & 0.0618 & 0.0175 & 0.0168 & 0.02635 & 0.0272 & 0.0263 & 0.0022 & 0.0022  & 0.0021 \\
        \hhline{-*{10}{-}}
        $\gamma$ & 6.8 & 2.6 & 6.8 & 9 & 3.367 & 8.9 & 1.14 & 2.202 & 0.9 \\
        \hhline{-*{10}{-}}
        k & 10 & 8 & 8 & 10 & 8 & 10 & 10 & 10 & 10 \\
        \hhline{-*{10}{-}}
        $\lambda$ & 1 & 1  & 1  & 1  & 1  & 1  & 1  & 1  & 1 \\
        \hhline{-*{10}{-}}
        Nrp & 1 & 1  & 1  & 1  & 1  & 1  & 1  & 1  & 1 \\
        \hhline{-*{10}{-}}
        PRP & 0.9991 & 0.9993 & 0.9990 & 0.9990 & 0.9990 & 0.9990 & 0.9997 & 0.9997 & 0.9992 \\
        \hhline{-*{10}{-}}
        ED & 0.00040 & 0.00043 & 0.00040 & 0.00040 & 0.00046 & 0.00040 & 5.5E-05 & 5.6E-05 & 6.0E-05 \\
        \hhline{-*{9}{-}}
    \end{tabularx}
\end{table*}

我试过 \centering 和 \begin{center}。这些都不起作用,我不知道为什么……

答案1

OP 的tabularx环境不使用单一X类型的列。因此,实现规定的目标宽度(此处:\textwidth)从一开始就注定要失败。

粗略检查表格后发现,任何地方都不需要自动换行。因此,使用tabular*环境而不是tabularx环境会更自然。现在,tabular*正确使用环境需要用户摆脱所有垂直规则——无论如何,这都是一个好主意。我还建议在包的宏的帮助下,使用更少但间距适当的水平规则booktabs

我会进一步注意为标题材料提供一些视觉上可辨别的结构。仅仅提供大量的水平线并不能不是有资格提供视觉上可辨别的结构。

在此处输入图片描述

\documentclass[twocolumn]{article} % or some other suitable document class
\usepackage{booktabs} % for \toprule, \midrule, \cmidrule, and \bottomrule macros

\begin{document}

\begin{table*} % span both columns of text
\setlength\tabcolsep{0pt} % make LaTeX determine intercolumn spacing amount
\caption{Comparison of optimization algorithms}
\label{my-label}

\smallskip
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{9}{c} }
\toprule
Density & \multicolumn{3}{c}{ 0.2 nodes/m } 
        & \multicolumn{3}{c}{ 0.3 nodes/m } 
        & \multicolumn{3}{c}{ 0.2 nodes/m } \\

Bandwidth & \multicolumn{3}{c}{ 20 MHz } 
          & \multicolumn{3}{c}{ 20 MHz } 
          & \multicolumn{3}{c}{ 120 MHz } \\
\cmidrule{2-4} \cmidrule{5-7} \cmidrule{8-10}
Algorithm & DLNN & Bayesian & Grid 
          & DLNN & Bayesian & Grid 
          & DLNN & Bayesian & Grid \\
\midrule
Time, in seconds & 40 & 85 & 575 & 45 & 90 & 573 & 45 & 85 & 658 \\

Min CBR & 0.0618 & 0.0175 & 0.0168 & 0.02635 & 0.0272 & 0.0263 & 0.0022 & 0.0022  & 0.0021 \\

$\gamma$ & 6.8 & 2.6 & 6.8 & 9 & 3.367 & 8.9 & 1.14 & 2.202 & 0.9 \\

$k$       &10 & 8  & 8 & 10 & 8 & 10 & 10 & 10 & 10 \\

$\lambda$ & 1 & 1  & 1 & 1  & 1 & 1  &  1 &  1 &  1 \\

Nrp       & 1 & 1  & 1 & 1  & 1 & 1  &  1 &  1 &  1 \\

PRP & 0.9991  & 0.9993  & 0.9990  & 0.9990  & 0.9990  & 0.9990  & 0.9997  & 0.9997  & 0.9992  \\

ED  & 0.00040 & 0.00043 & 0.00040 & 0.00040 & 0.00046 & 0.00040 & 5.5E-05 & 5.6E-05 & 6.0E-05 \\
\bottomrule
\end{tabular*}
\end{table*}

\end{document}

相关内容