为什么使用 \multicolumn 后我的下方单元格不再居中?

为什么使用 \multicolumn 后我的下方单元格不再居中?

我有下表:

\documentclass{article}

\usepackage{booktabs}

\begin{document}
    \begin{tabular}{cccccccc}
        \toprule
        \multicolumn{2}{c}{Letzter Zustand} & \multicolumn{4}{c}{Nächster Zustand} & \multicolumn{2}{c}{Ausgang}            \\
            &                               & \multicolumn{2}{c}{$x = 0$} & \multicolumn{2}{c}{$x = 1$} & $x = 0$ & $x = 1$ \\
        \cmidrule(lr){3-6}\cmidrule(lr){7-8}
        $A$ & $B$                           & $A$     & $B$               & $A$ & $B$                    & $y$     & $y$    \\
        \cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(lr){7-8}
        0   & 0                             & 0       & 0                 & 0   & 1                      & 0       & 0      \\
        0   & 1                             & 1       & 1                 & 0   & 1                      & 0       & 0      \\
        1   & 0                             & 1       & 0                 & 0   & 0                      & 0       & 1      \\
        \bottomrule
    \end{tabular}
\end{document}

不幸的是,多列下方的单元格不再正确居中,而是看起来左对齐。这在左侧的两列(第一 AB)中表现得最为明显,在第 5-6 列(第三 AB)中也非常明显。

我的餐桌

是什么原因导致了这个问题?我该如何解决?

答案1

是什么原因导致了这个问题?我该如何解决?

出现此问题是因为 2 列和 4 列\multicolumn项目的宽度超过了底层列的总自然宽度。

为了解决这个问题,我建议您使用一个tabularx环境,将其整体宽度设置为类似的值0.9\textwidth- 最佳值将取决于字体大小和文本块的宽度等 - 并对X所有八列使用居中的列类型。

在此处输入图片描述

还请注意,我重新组织了表格标题部分的一些水平规则。

\documentclass{article}
\usepackage{booktabs,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}
\begin{center}
    \begin{tabularx}{0.9\textwidth}{@{}*{8}{C}@{}}
    \toprule
    \multicolumn{2}{@{}c}{Letzter Zustand} & 
    \multicolumn{4}{c}{Nächster Zustand} & 
    \multicolumn{2}{c@{}}{Ausgang} \\
    \cmidrule(r){1-2} \cmidrule(lr){3-6} \cmidrule(l){7-8}
    & & \multicolumn{2}{c}{$x = 0$} 
      & \multicolumn{2}{c}{$x = 1$} 
      & $x = 0$ & $x = 1$ \\
    \cmidrule(lr){3-4}\cmidrule(lr){5-6}
    \cmidrule(lr){7-7}\cmidrule(l){8-8}
    $A$ & $B$ & $A$ & $B$ & $A$ & $B$ & $y$ & $y$    \\
    \midrule
    0 & 0 & 0 & 0 & 0 & 1 & 0 & 0      \\
    0 & 1 & 1 & 1 & 0 & 1 & 0 & 0      \\
    1 & 0 & 1 & 0 & 0 & 0 & 0 & 1      \\
    \bottomrule
    \end{tabularx}
\end{center}
\end{document}

答案2

这是否更好?

\documentclass{article}

\usepackage{array, makecell, booktabs}

\begin{document}

    \begin{tabular}{*{8}{c}}
        \toprule
        \multicolumn{2}{c}{\smash{\makecell[t]{Letzter\\ Zustand}}} & \multicolumn{4}{c}{\makebox[0pt]{Nächster Zustand}} & \multicolumn{2}{c}{Ausgang} \\
            & & \multicolumn{2}{c}{$x = 0$} & \multicolumn{2}{c}{$x = 1$} & $x = 0$ & $x = 1$ \\
        \cmidrule(lr){3-6}\cmidrule(lr){7-8}
        $A$ & $B$ & $A$ & $B$ & $A$ & $B$ & $y$ & $y$ \\
        \cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(lr){7-8}
        0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
        0 & 1 & 1 & 1 & 0 & 1 & 0 & 0 \\
        1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 \\
        \bottomrule
    \end{tabular}

\end{document} 

在此处输入图片描述

相关内容