交错数组如何输入?

交错数组如何输入?

如何将交错数组输入为如下表达式: 六角形阵列

表达式是六边形的。有针对这种情况的包吗?

谢谢。

答案1

在这里,我使用 TABstacks 来制作数据堆栈,并使用\scaleleftright[max-width]{left}{content}{right}添加括号。请注意,在第二个矩阵中,我实际上使用了 -1pt 的小负“tabbedgap”(即列间隔)来稍微重叠列。相比之下,我在第一个矩阵中使用了 +1pt 间隙

\documentclass{article}
\usepackage{scalerel,tabstackengine,amssymb,amsmath}
\stackMath
\begin{document}
\[
\setstacktabbedgap{1pt}
A_h = \scaleleftright[1.5ex]{\langle}{\tabbedCenterstack{
&0&&0&\\
0&&0&&0\\
&0&&0&
}}{\rangle}
\text{, and } 
\setstacktabbedgap{-1pt}
B_h =\scaleleftright[1.5ex]{\langle}{\tabbedCenterstack{
&-1&&-1&\\
-1&&6+\varepsilon^2&&-1\\
&-1&&-1&
}}{\rangle}
\]
\end{document}

在此处输入图片描述

虽然这里没有显示,但可以通过\fixTABwidth{T}在堆栈之前发出来强制统一列宽。这样做时,相应地需要更改制表符间距。

如果某人确实讨厌输入 double &&,那么此\active替代方法允许使用 来#表示&&,从而产生相同的结果:

\documentclass{article}
\usepackage{scalerel,tabstackengine,amssymb,amsmath}
\stackMath
\begin{document}
\[
\catcode`#=\active \def#{&&}
\setstacktabbedgap{1pt}
A_h = \scaleleftright[1.5ex]{\langle}{\tabbedCenterstack{
&0#0&\\
0#0#0\\
&0#0&
}}{\rangle}
\text{, and } 
\setstacktabbedgap{-1pt}
B_h =\scaleleftright[1.5ex]{\langle}{\tabbedCenterstack{
&-1#-1&\\
-1#6+\varepsilon^2#-1\\
&-1#-1&
}}{\rangle}
\]
\end{document}

答案2

\left<标准和符号覆盖三条线\right>

这是一个hexagon可以接收可选参数来设置单元格宽度(默认为 1em)的环境:

\documentclass{article}
\usepackage{amsmath,collcell}

\newcolumntype{h}{>{\collectcell\hd}c<{\endcollectcell}}
\newcolumntype{k}[1]{@{\hspace{-#1\hexawidth}}}
\newcommand{\hd}[1]{\makebox[\hexawidth]{$#1$}}
\newlength{\hexawidth}

\newenvironment{hexagon}[1][1em]
 {\setlength{\hexawidth}{#1}
  \left<
  \begin{array}{k{.33333}*{4}{hk{.5}}hk{.33333}}}
 {\end{array}\right>}


\begin{document}
\[
A_{h}=
  \begin{hexagon}
    & 0 && 0 \\
  0 && 0 && 0 \\
    & 0 && 0 \\
  \end{hexagon}
\qquad
B_{h}=
  \begin{hexagon}[4em]
    & -1 && -1 \\
  -1 && 6+\varepsilon^2 && -1 \\
    & -1 && -1 \\
  \end{hexagon}
\]
\end{document}

请注意,\\最后一行是必需的,因为它决定了collcell工作原理。

在此处输入图片描述

答案3

我不知道scalerel\scaleleftright怎么做,所以我从 Steven 的回答中复制了内容。谢谢。

但我知道array哪些也可以用于这些表达。

\documentclass{article}
\usepackage{scalerel,amsmath,array}
\usepackage{lmodern}

\begin{document}
\[
A_h = \scaleleftright[1.5ex]{\langle}{\begin{array}{@{}c@{}c@{}c@{}c@{}c@{}c@{}}
& 0 & & 0 & \\
0 & & 0 & & 0 \\
& 0 & & 0 &\\
\end{array}}{\rangle}, 
\text{and}\ B_h = 
\scaleleftright[1.5ex]{\langle}{\begin{array}{@{}c@{}c@{}c@{}c@{}c@{}c@{}}
& -1 & & -1 & \\
-1 & & 6+\epsilon^2 & & -1 \\
& -1 & & -1 &\\
\end{array}}{\rangle}
\]
\end{document}

在此处输入图片描述

相关内容