我想创建一个命令,接受数组的输入,并生成一个数组,其中的条目由线分隔。我想要的数组类型的一个特殊情况如下:
\[\left[\begin{array}{c|c|c|c}
1 & 2 & 3 & 4\\
\hline 4 & 5 & 6 & 6 \end{array}\right]\]
一般来说,我想做类似以下的事情
\newcommand{\sgna}[1]{\left[\begin{array}{c|c|c|c}#1 \end{array}\right]}
但我不想指定要放置的“c|”的数量,而且我不知道如何让数组在不修改输入的情况下在每行后绘制水平线。我希望命令计算列数和行数并放置相应数量的垂直线和水平线。有什么办法吗?它不需要是命令。如果需要,它可能是一个环境。
这是一个最小的例子
\documentclass{article}
\newcommand{\sgna}[1]{\left[\begin{array}{c|c|c|c|c}#1 \end{array}\right]}
\begin{document}
%Particular case
\[\left[\begin{array}{c|c|c|c}
1 & 2 & 3 & 4\\
\hline 4 & 5 & 6 & 6 \end{array}\right]\]
%Resulting command if I put too many |c's
\[\sgna{1 & 2 & 3 & 4\\
4 & 5 & 6 & 6}\]
\end{document}
吸引