带点的矩阵无法正确显示

带点的矩阵无法正确显示

我试图构建一个带有垂直、水平和对角点的矩阵,但结果让我很失望。每行之间的间距并不总是相等,列之间的间距也是如此。有人可以帮我吗?这是我的代码:

$$A = \begin{pmatrix}
1 & 0 &  & \dots & &  0 \\
d & e & f & & &\vdots \\
0 & d & e & f & \\
\vdots & &  \ddots & \ddots & \ddots & 0 \\
  &  &   & d & e & f \\
0 & &  \dots  & & 0 & 1 
\end{pmatrix}$$

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
    % Dots in all rows/columns
    \[
        A = 
        \begin{pmatrix}
            1       & 0     &   0    &   0    & \dots  &   0    \\
            d       & e     &   f    &   0    &        & \vdots \\
            0       & d     &   e    &   f    &        & \vdots \\
            \vdots  &       & \ddots & \ddots & \ddots & \vdots \\
            \vdots  &       &        &   d    &   e    &   f    \\
            0       & \dots & \dots  & \dots  &   0    &   1
        \end{pmatrix}
    \]
    % Remove most dots and excess zeros
    \[
        A = 
        \begin{pmatrix}
            1 &   &        &        &        &    \\
            d & e &   f    &        &        &    \\
              & d &   e    &   f    &        &    \\
              &   & \ddots & \ddots & \ddots &    \\
              &   &        &   d    &   e    &  f \\
              &   &        &        &        &  1
        \end{pmatrix}
    \]
    % Remove most dots but add some zeros back
    \[
        A = 
        \begin{pmatrix}
            1 & 0 &    0   &        &        &    \\
            d & e &    f   &        &    0   &    \\
              & d &    e   & f      &        &    \\
              &   & \ddots & \ddots & \ddots &    \\
              & 0 &        &   d    &   e    &  f \\
              &   &        &   0    &   0    &  1
        \end{pmatrix}
    \]
\end{document}

以下是使用环境执行此操作的几种方法。奇怪的间距是由/ /pmatrix的垂直高度/宽度引起的。第一个解决方案只是确保每列和每行都有垂直和水平点,因此间距相同。第二个选项是删除除 之外的点,然后这些点只出现在一行中,并且是行中唯一的东西,因此间距看起来更好。第三个选项类似,但矩阵的其余部分为零,由几个零表示。\vdots\dots\ddots\ddots

答案2

我建议nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\[\renewcommand{\arraystretch}{1.1}
A = \begin{pNiceMatrix}[nullify-dots,xdots/shorten=3pt]
1 & 0 &  & \Cdots & &  0 \\
d & e & f & & &\Vdots \\
0 & d & e & f & \\
\Vdots & &  \Ddots & \Ddots & \Ddots & 0 \\
  &  &   & d & e & f \\
0 & &  \Cdots  & & 0 & 1 
\end{pNiceMatrix}\]

\end{document}

上述代码的输出

答案3

我已经根据这个函数调整了你的矩阵老问题非常好的用户@Steven B. Segletes 使用tabstackengine

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

\begin{document}

\[
\setstackgap{L}{1\baselineskip}
\fixTABwidth{T}
A = \parenMatrixstack{
1 & 0 &  & \dots & &  0 \\
d & e & f & & & \vdots \\
0 & d & e & f & & 0\\
\vdots & &  \ddots & \ddots & \ddots & 0 \\
&  &   & d & e & f \\
0 & &  \dots  & & 0 & 1 
}
\]

\end{document}

在此处输入图片描述

相关内容