将数字或字符块转换为矩阵的快速方法(不使用与号 &)

将数字或字符块转换为矩阵的快速方法(不使用与号 &)

我有一组这样的数字(实际上它是一个 12 阶的 Hadamard 矩阵)。将此块转换为矩阵的最快方法是什么?当然,可以使用矩阵环境(例如,bmatrix通过pmatrix在数字之间添加 & 符号)来实现,但我正在寻找一种仅复制块的解决方案。

1 -1 -1 -1  -1 -1 -1 -1  -1 -1 -1 -1
1  1 -1  1  -1 -1 -1  1   1  1 -1  1
1  1  1 -1   1 -1 -1 -1   1  1  1 -1
1 -1  1  1  -1  1 -1 -1  -1  1  1  1
1  1 -1  1   1 -1  1 -1  -1 -1  1  1
1  1  1 -1   1  1 -1  1  -1 -1 -1  1
1  1  1  1  -1  1  1 -1   1 -1 -1 -1
1 -1  1  1   1 -1  1  1  -1  1 -1 -1
1 -1 -1  1   1  1 -1  1   1 -1  1 -1
1 -1 -1 -1   1  1  1 -1   1  1 -1  1
1  1 -1 -1  -1  1  1  1  -1  1  1 -1
1 -1  1 -1  -1 -1  1  1   1 -1  1  1

答案1

spalign包对此非常有用:它允许通过用空格分隔列和用分号分隔行来创建矩阵,例如

\documentclass{article}
\usepackage{spalign}
\begin{document}
\[
  \spalignmat{
1 -1 -1 -1  -1 -1 -1 -1  -1 -1 -1 -1;
1  1 -1  1  -1 -1 -1  1   1  1 -1  1;
1  1  1 -1   1 -1 -1 -1   1  1  1 -1;
1 -1  1  1  -1  1 -1 -1  -1  1  1  1;
1  1 -1  1   1 -1  1 -1  -1 -1  1  1;
1  1  1 -1   1  1 -1  1  -1 -1 -1  1;
1  1  1  1  -1  1  1 -1   1 -1 -1 -1;
1 -1  1  1   1 -1  1  1  -1  1 -1 -1;
1 -1 -1  1   1  1 -1  1   1 -1  1 -1;
1 -1 -1 -1   1  1  1 -1   1  1 -1  1;
1  1 -1 -1  -1  1  1  1  -1  1  1 -1;
1 -1  1 -1  -1 -1  1  1   1 -1  1  1
  }
\]
\end{document}

如果您还想避免使用分号,您可以让 TeX 在每一行末尾插入一个分号:

\documentclass{article}
\usepackage{spalign}
\begin{document}
\[
  \begingroup\endlinechar=`\;\spalignmat{
1 -1 -1 -1  -1 -1 -1 -1  -1 -1 -1 -1
1  1 -1  1  -1 -1 -1  1   1  1 -1  1
1  1  1 -1   1 -1 -1 -1   1  1  1 -1
1 -1  1  1  -1  1 -1 -1  -1  1  1  1
1  1 -1  1   1 -1  1 -1  -1 -1  1  1
1  1  1 -1   1  1 -1  1  -1 -1 -1  1
1  1  1  1  -1  1  1 -1   1 -1 -1 -1
1 -1  1  1   1 -1  1  1  -1  1 -1 -1
1 -1 -1  1   1  1 -1  1   1 -1  1 -1
1 -1 -1 -1   1  1  1 -1   1  1 -1  1
1  1 -1 -1  -1  1  1  1  -1  1  1 -1
1 -1  1 -1  -1 -1  1  1   1 -1  1  1
  }\endgroup%
\]
\end{document}

在此处输入图片描述

答案2

我将为@MarcelKrüger 的好答案添加正确的对齐选项,[r]以获得良好的输出。

\documentclass{article}
\usepackage{spalign}
\begin{document}
\[
  \begingroup\endlinechar=`\;\spalignmat[r]{
1 -1 -1 -1  -1 -1 -1 -1  -1 -1 -1 -1
1  1 -1  1  -1 -1 -1  1   1  1 -1  1
1  1  1 -1   1 -1 -1 -1   1  1  1 -1
1 -1  1  1  -1  1 -1 -1  -1  1  1  1
1  1 -1  1   1 -1  1 -1  -1 -1  1  1
1  1  1 -1   1  1 -1  1  -1 -1 -1  1
1  1  1  1  -1  1  1 -1   1 -1 -1 -1
1 -1  1  1   1 -1  1  1  -1  1 -1 -1
1 -1 -1  1   1  1 -1  1   1 -1  1 -1
1 -1 -1 -1   1  1  1 -1   1  1 -1  1
1  1 -1 -1  -1  1  1  1  -1  1  1 -1
1 -1  1 -1  -1 -1  1  1   1 -1  1  1
  }\endgroup%
\]
\end{document}

在此处输入图片描述

相关内容