多行嵌套表

多行嵌套表

我正在尝试构建一个包含多行的 6x6 表。我的代码是

\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{multicol}
\usepackage{multirow}

\begin{document}
\begin{table}[H]
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|} \hline
\multicolumn{6}{|c|}{$\mathbf{n_1n_2n_3}$}\\ \hline
\multirow{6}{*}{$500$} & \multirow{3}{*}{$410$} & \multirow{2}{*}{$320$} & {} & {}& $005$\\
{} & {} & {} & $203$ & $104$ & $041$\\
{} & {} & \multirow{2}{*}{$302$} & $230$ & $140$ & $014$\\
{} & \multirow{3}{*}{$401$} & {} & $221$ & $122$ & $032$\\
{} & {} & \multirow{2}{*}{$311$} & $212$ & $131$ & $023$\\
{} & {} & {} & {} & $113$ & $050$\\
\hline
\end{tabular}
\end{center}
\caption{Table}
\label{tab:matrix}
\end{table}
\end{document}

Mu 输出为

如您所见,左侧第 4 列和第 5 列并不美观。我怎样才能使这个表格好看一点?

答案1

您可以tabular在其中嵌套环境\multirow

在下面的代码中,我定义了

  • \innerTab仅适用于第一个例子,清理实际的tabular (第一个例子)
  • \mRowTab[<opt>]{<content>}生成\multirow一行<opt>(默认值:2),其内容<content>包裹在居中的列内tabular (第二和第三个例子)
  • \innerTabular{<content>}将其放入<content>单列垂直居中tabular (第四个例子)

目前的\mRowTab定义可以替换为

\renewcommand*{\mRowTab}[2][2]{\multirow{#1}{*}{#2}}

这意味着只<text>允许单排(否tabular)。

第二个示例是第一个例子的副本,但添加了新的\mRowTab

第三个例子,在我看来,“更好看”。

第四个例子(未图示)是第三个例子的副本,只不过没有,\multirow但有请\innerTabular注意,第一行实际上不需要\innerTabular

代码

\usepackage{multicol}
\usepackage{multirow}
\newcommand*{\innerTab}{\begin{tabular}{@{}c@{}}
    $104$ \\
    $140$ \\
    $122$ \\
    $131$ \\
    $113$ \\
\end{tabular}}
\newcommand*{\mRowTab}[2][2]{\multirow{#1}{*}{\begin{tabular}{@{}c@{}}#2\end{tabular}}}
\renewcommand*{\mRowTab}[2][2]{\multirow{#1}{*}{#2}}
\newcommand*{\innerTabular}[1]{{\begin{tabular}[c]{@{}c@{}}#1\end{tabular}}}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|}
    \hline
    \multicolumn{6}{|c|}{$\mathbf{n_1n_2n_3}$}                                                           \\ \hline
                           &       & \multirow{2}{*}{$320$} &       & \multirow{6}{*}{\innerTab} & $005$ \\
                           & $410$ &                        & $203$ &                            & $041$ \\
    \multirow{2}{*}{$500$} &       & \multirow{2}{*}{$302$} & $230$ &                            & $014$ \\
                           &       &                        & $221$ &                            & $032$ \\
                           & $401$ & \multirow{2}{*}{$311$} & $212$ &                            & $023$ \\
                           &       &                        &       &                            & $050$ \\ \hline
\end{tabular}

\bigskip
\begin{tabular}{|c|c|c|c|c|c|}
    \hline
    \multicolumn{6}{|c|}{$\mathbf{n_1n_2n_3}$}                                  \\ \hline
                    &       & \mRowTab{$320$} &       & \mRowTab{$104$} & $005$ \\
                    & $410$ &                 & $203$ & \mRowTab{$140$} & $041$ \\
    \mRowTab{$500$} &       & \mRowTab{$302$} & $230$ & \mRowTab{$122$} & $014$ \\
                    &       &                 & $221$ & \mRowTab{$131$} & $032$ \\
                    & $401$ & \mRowTab{$311$} & $212$ & \mRowTab{$113$} & $023$ \\
                    &       &                 &       &                 & $050$ \\ \hline
\end{tabular}

\bigskip
\begin{tabular}{|c|c|c|c|c|c|}
    \hline
    \multicolumn{6}{|c|}{$\mathbf{n_1n_2n_3}$}                                  \\ \hline
                    &       &                 &       & \mRowTab{$104$} & $005$ \\
                    &       & \mRowTab{$320$} & $203$ & \mRowTab{$140$} & $041$ \\
    \mRowTab{$500$} & $410$ & \mRowTab{$302$} & $230$ & \mRowTab{$122$} & $014$ \\
                    & $401$ & \mRowTab{$311$} & $221$ & \mRowTab{$131$} & $032$ \\
                    &       &                 & $212$ & \mRowTab{$113$} & $023$ \\
                    &       &                 &       &                 & $050$ \\ \hline
\end{tabular}

\bigskip
\begin{tabular}{|c|c|c|c|c|c|}
    \hline
    \multicolumn{6}{|c|}{$\mathbf{n_1n_2n_3}$}                                  \\ \hline
    \innerTabular{500} & \innerTabular{410\\410} & \innerTabular{320\\302\\311} & \innerTabular{203\\230\\221\\212} & \innerTabular{104\\140\\122\\131\\113} & \innerTabular{005\\041\\014\\032\\023\\050} \\\hline
\end{tabular}
\end{document}

输出

在此处输入图片描述

相关内容