对齐(居中)表格中的标题行

对齐(居中)表格中的标题行

我使用@{\hskip 50pt}来分隔表格中的列。出现的问题是我在 之后添加了这个额外的空格multicolumn。这也会移动标题行,使其不再居中。有没有什么简单的方法可以使标题名称重新居中MC?我想过在它后面添加一些额外的空格来移动它,但也许有更好的方法。但是,我不想使用 X 列或不同的表格环境来实现这一点。我花了 5 天时间才将所有内容添加到表格中,并按照我想要的方式正确对齐和拉伸它们。显然,这只是一个非常简单的例子,并不包含我表格中的所有其他内容,但我认为问题仍然很清楚,我确信它只取决于multicolumn和额外的空间问题:

\documentclass[10pt,DIV=12,a4paper,numbers=noenddot]{scrreprt}

\usepackage{tabu}      
\usepackage{multicol}  
\usepackage{multirow}  

\begin{document}

\begin{table}

\begin{tabu}{rr@{\hskip 50pt}rr@{\hskip 50pt}r}

\multicolumn{2}{c}{MC} & bla\\

asdasdsad & asdasdada & adasdddddddd \\
asdasdsad & asdasdada & adasdddddddd \\
asdasdsad & asdasdada & adasdddddddd \\

\end{tabu}

\end{table}

\end{document}

答案1

当你做\multicolumn{<number>}{<spec>}{<text>}替代时<spec>,整个块的tabular柱子规格和柱间材料属于柱子。

例外:第一列之前的材料属于第一列。

因此,如果不是默认值,则必须重新指定列间材质;如果您有规则而不是,则情况会完全一样@{...}

所以你必须这样做

\begin{tabu}{rr@{\hspace{50pt}}rr@{\hspace{50pt}}r}

\multicolumn{2}{c@{\hspace{50pt}}}{MC} & bla\\

asdasdsad & asdasdada & adasdddddddd \\
asdasdsad & asdasdada & adasdddddddd \\
asdasdsad & asdasdada & adasdddddddd \\

\end{tabu}

结果就会如你所愿。

注意\hspace{...}\hskip...

在此处输入图片描述

没有办法自动完成,因为列间材料几乎可以是任何东西。或者,如果有办法,那肯定很复杂,因为它必须处理 的许多内部问题tabular(以及tabu,正如您使用的那样)。

答案2

这将使您的 MC 标头居中。

\multicolumn{2}{c@{\hskip 50pt}}{MC} & bla\\

如果你的额外空间是统一的,那么你可以定义一个新的列类型,比如说C,以方便使用:

\newcolumntype{C}{c@{\hskip 50pt}}
% ...
\multicolumn{2}{C}{MC} & bla\\

相关内容