使用 spalign 包的其他类型的括号

使用 spalign 包的其他类型的括号

如果我有这个MWE创建斯帕利格包裹,

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{spalign}

\begin{document}

\[ \def\spalignendline{\cr}
\spalignrun{\bordermatrix{\the\spaligntoks}}
{, a b; A -1 -2; B -4 4} \]
\end{document}

在此处输入图片描述

如何才能{ }使矩阵具有垂直、平方、括号?

第 6 页有以下程序:

在此处输入图片描述

但我无法用我的代码来适应它。

答案1

我认为这\bordermatrix实际上并不受选项设置的影响delims

确实,代码

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[delims=\lbrack\rbrack]{spalign}

\begin{document}

\[\spalignmat{1 2;3 4}\]

\[ \def\spalignendline{\cr}
\spalignrun{\bordermatrix{\the\spaligntoks}}
{, a b; A -1 -2; B -4 4} \]
\end{document}

生产

在此处输入图片描述

这是因为\bordermatrix不受 控制spalign,而是一个 LaTeX 内核命令(实际上是纯 TeX 的一个端口)。

您可能更幸运nicematrix,因为我更喜欢它的语法。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{nicematrix}

\begin{document}

\[
\begin{bNiceMatrix}[first-row, first-col]
  &  a &  b \\
A & -1 & -2 \\
B & -4 &  4
\end{bNiceMatrix}
\]

\end{document}

在此处输入图片描述

答案2

问题是\spalignrun只会在矩阵内部生成标记 ( \the\spaligntoks),而不会生成分隔符本身。因此,您只需调用一些允许方便地重置分隔符的边界矩阵软件即可。我发现的第一个是kbordermatrix

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb,kbordermatrix}
\usepackage{spalign}

\begin{document}

\[ \def\spalignendline{\cr}
\renewcommand{\kbldelim}{\langle}
\renewcommand{\kbrdelim}{|}
\spalignrun{\kbordermatrix{\the\spaligntoks}}
{, a b; A -1 -2; B -4 4} \]
\end{document}

在此处输入图片描述

相关内容