如何定义列间非默认间距的矩阵?

如何定义列间非默认间距的矩阵?

我想创建一个如下所示的矩阵,只是使用括号而不是圆括号:

在此处输入图片描述

我有以下代码来显示它,但与上图不同,各列彼此太靠近,不符合我的口味。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}

\begin{document}

\begin{align*}
    \mathbf{Y}_{top} = \begin{bmatrix}
        \begin{array}{c|ccccc}
            \mathbf{I}_{n_0}  & & & & & \\
        \hline
            & -x_{n_0 + 2} & x_{n_0 + 1} & & & \\
            & & -x_{n_0 + 3} & x_{n_0 + 2} & & \\
            & & & \ddots & \ddots & \\
            & & & & -x_\ell & -x_{\ell - 1} \\
        \end{array}
    \end{bmatrix}
    \in \mathbb{Z}^{\ell - 1 \times \ell}
\end{align*}

\end{document}

有什么想法可以增加列之间的距离吗?

答案1

听起来您想增加参数的值\arraycolsep。在大多数(几乎所有?)文档类中,其默认值为 5pt;在下面的示例中,我将其增加到 7pt。根据口味进行调味。

在此处输入图片描述

\documentclass{article}
%\usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage{amsmath}
%\usepackage{amsfonts} % 'amssymb' loads 'amsfonts' automatically
\usepackage{amssymb}
\usepackage{amsthm}

\begin{document}

\[
    \addtolength{\arraycolsep}{2pt}
    \mathbf{Y}_{\mathrm{top}} = 
    \left[
    \begin{array}{@{\kern2pt} c | ccccc @{\kern2pt}}
        \mathbf{I}_{n_0}  & & & & & \\
        \hline
        & -x_{n_0 + 2} & \phantom{-}x_{n_0 + 1} &   &         & \\
        &              & -x_{n_0 + 3} & x_{n_0 + 2} &         & \\
        &              &              & \ddots      & \ddots  & \\
        &              &              &             & -x_\ell & -x_{\ell - 1} \\
    \end{array}
    \right]
    \in \mathbb{Z}^{(\ell - 1) \times \ell}
\]

\end{document}

相关内容