有没有更简单的方法来创建这个作业问题表?

有没有更简单的方法来创建这个作业问题表?

我只是想知道是否有更快的方法来创建这个表或数组,而无需或最少使用\multicolumn表中的命令。

在此处输入图片描述

我使用的在这里

\begin{tabularx}{200pt}{c c c c c}
{} & $M_1$ & $M_2$ & $M_3$ & $M_4$\\ \cline{2-5}
\multicolumn{1}{c|}{$J_1$} & 3 & 5 & 1 & \multicolumn{1}{c|}{6}\\
\multicolumn{1}{c|}{$J_2$} & 7 & 2 & 3 & \multicolumn{1}{c|}{5}\\
\multicolumn{1}{c|}{$J_3$} & 4 & 8 & 4 & \multicolumn{1}{c|}{2}\\
\multicolumn{1}{c|}{$J_4$} & 6 & 5 & 7 & \multicolumn{1}{c|}{6}\\
\cline{2-5}
\end{tabularx}

答案1

\multicolumn只需要第一排。

\[
\begin{array}{c| c c c c|}
\multicolumn{1}{c}{} & M_1 & M_2 & M_3 & \multicolumn{1}{c}{M_4}\\ \cline{2-5}
J_1 & 3 & 5 & 1 & 6\\
J_2 & 7 & 2 & 3 & 5\\
J_3 & 4 & 8 & 4 & 2\\
J_4 & 6 & 5 & 7 & 6\\
\cline{2-5}
\end{array}
\]

在此处输入图片描述

答案2

这里有两个解决方案。第一个使用序言中定义的宏,并坚持使用环境tabularx。然而,第二个基于blkarray包,更短:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx, blkarray}
\newcommand\colhead[1]{\multicolumn{1}{>{$}c<{$}}{#1}}

\begin{document}

\begin{table}[h]
  \centering\begin{tabularx}{200pt}{>{$}c<{$}|*{4}{>{\centering\arraybackslash}X|}}
  \colhead{} & \colhead{M_1} & \colhead{M_2} & \colhead{M_3} & \colhead{M_4}
  \\
  \cline{2-5}
  J_1 & 3 & 5 & 1 & 6\\
  J_2 & 7 & 2 & 3 & 5\\
  J_3 & 4 & 8 & 4 & 2\\
  J_4 & 6 & 5 & 7 & 6\\
  \cline{2-5}
  \end{tabularx}
\end{table}

\[ \renewcommand\arraystretch{1.25}
  \begin{blockarray}{ccccc}
    & M_1 & M_2 & M_3 & M_4\\
    \cline{2-5}
    \begin{block}{c|*{4}{c}|}
      J_1 & 3 & 5 & 1 & 6\\
      J_2 & 7 & 2 & 3 & 5\\
      J_3 & 4 & 8 & 4 & 2\\
      J_4 & 6 & 5 & 7 & 6\\
    \end{block}
    \cline{2-5}
  \end{blockarray} \]
\end{document}

在此处输入图片描述

答案3

有了{NiceArray}of nicematrix,您只需要一个命令\Block

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\NiceMatrixOptions{exterior-arraycolsep}
$\begin{NiceArray}{ccccc}
    & M_1 & M_2 & M_3 & M_4 \\
J_1 & \Block[draw]{*-*}{}
      5   & 6   & 2   & 4   \\
J_2 & 5   & 6   & 2   & 9   \\
J_3 & 6   & 5   & 8   & 5   \\
J_4 & 7   & 6   & 2   & 3   \\
\end{NiceArray}$

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容