我想创建一个如下所示的矩阵,只是使用括号而不是圆括号:
我有以下代码来显示它,但与上图不同,各列彼此太靠近,不符合我的口味。
\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}