我正在尝试构建一个包含多行的 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}