多列文本居中

多列文本居中

这是我创建表的代码:

\begin{table*}
\caption{Test and Out of sample results}
\centering

\begin{tabular}{c c c c c c c c c c}

  & \multicolumn{4}{c}{\textbf{ABCDE 1}} & \multicolumn{4}{c}{\textbf{ABCDE 2}} \\ \cline{2-5} \cline{7-10}

  1 & 2 & 3 & 4 & 5 & 77  & 6 & 7 & 8 & 9 \\
  \hline
  AX & 2 & 3 & 4 & 5 &  & 7 & 8 & 9 & 10  \\
  AY & 2 & 3 & 4 & 5 &  & 7 & 8 & 9 & 10  \\
  \hline
\end{tabular}


\label{acc_results}
\end{table*}

结果:

在此处输入图片描述

我想要ABCDE 2像 一样在中间ABCDE。我该怎么做?

答案1

以下是我的做法,尽管 Andrew 已经回答提出您的问题:

\documentclass{article}

\usepackage{booktabs}
\usepackage[tableposition = top]{caption}

\newcommand*\mc[1]{\multicolumn{4}{c}{\textbf{#1}}}

\begin{document}

\begin{table}
\centering
 \caption{Test and Out of sample results.}
 \label{acc_results}
  \begin{tabular}{*{10}{c}}
   \toprule
       & \mc{ABCDE~1}       &    & \mc{ABCDE~2}        \\
         \cmidrule(lr){2-5}        \cmidrule(lr){7-10}
     1 & 2 & 3 & 4 & 5      & 77 & 6 & 7 & 8 &  9      \\
   \midrule
    AX & 2 & 3 & 4 & 5      &    & 7 & 8 & 9 & 10      \\
    AY & 2 & 3 & 4 & 5      &    & 7 & 8 & 9 & 10      \\
   \bottomrule
  \end{tabular}
\end{table}

\end{document}

输出

请注意,\label必须在表格环境中进行\caption,所以你没有做错任何事,但如果将它们放在一起,则更容易阅读代码(我认为)。

一些建议:

  • 使用booktabs包装以获得更好的厚度——以及水平规则周围的间距。
  • 使用caption包中包含可选项tableposition = top,以在标题和表格之间获得更好的间距。
  • 使用语法*{<number of columns>}{c}来缩短代码,因为所有列都居中。
  • 构造输入代码使其看起来像输出,以便更好地概述它。

答案2

&您在该行中缺少了\multicolumn

\documentclass{scrreprt}
\usepackage{amsmath}
\begin{document}

\begin{table*}
  \caption{Test and Out of sample results}
  \centering

  \begin{tabular}{c c c c c c c c c c}

    & \multicolumn{4}{c}{\textbf{ABCDE 1}} && \multicolumn{4}{c}{\textbf{ABCDE 2}} \\ \cline{2-5} \cline{7-10}

    1 & 2 & 3 & 4 & 5 & 77  & 6 & 7 & 8 & 9 \\
    \hline
    AX & 2 & 3 & 4 & 5 &  & 7 & 8 & 9 & 10  \\
    AY & 2 & 3 & 4 & 5 &  & 7 & 8 & 9 & 10  \\
    \hline
  \end{tabular}

  \label{acc_results}
  \end{table*}

\end{document}

在此处输入图片描述

相关内容