如何减少 nicematrix 包中矩阵元素和点之间的空间?

如何减少 nicematrix 包中矩阵元素和点之间的空间?

我想减小垂直点和矩阵元素之间的间距。我该如何实现?

\documentclass{article}

\usepackage{amsmath,amssymb,mathtools,nicematrix}
\NiceMatrixOptions{transparent}


\begin{document}
\begin{align}
    \begin{bNiceMatrix}
    zI-A&\vdots&-B\\\cdots&\cdots&\cdots\\C&\vdots&D
    \end{bNiceMatrix}\begin{bNiceMatrix}
    x_z\\\cdots\\u_z
    \end{bNiceMatrix}&=0\\
    \begin{bNiceMatrix}
    z+2&0&0&\vdots&-2&0\\0&z+1&0&\vdots&0&-2\\0&0&z+2&\vdots&0&-1\\\cdots&\cdots&\cdots&\cdots&\cdots&\cdots\\
    0.5&1&0&\vdots&0&0\\0.5&0&1&\vdots&0&0
    \end{bNiceMatrix}\begin{bNiceMatrix}
    x_{z_1}\\x_{z_2}\\x_{z_3}\\\cdots\\\frac{1}{\sqrt{2}}\\-\frac{1}{\sqrt{2}}
    \end{bNiceMatrix}&=\begin{bNiceMatrix}
    0\\0\\0\\0\\0
    \end{bNiceMatrix}
\end{align}

\end{document}

如您所见,矩阵元素和点线之间有一个尴尬的空间。我该如何减少这个空间? 矩阵示例

答案1

我已经写了新版本nicematrix(版本 2.2.1,2019-07-02)来解决该问题。

在经典环境下array,你可以编写:

$\left[\begin{array}{c|c}
zI-A&-B\\
\hline
C   &D
\end{array}\right]
\left[\begin{array}{c}
x_z\\
\hline
u_z
\end{array}
\right]
=0$  

带有数组的结果

在环境下NiceArray,如果您想要获得完全相同的结果,则必须使用选项 left-marginright-margin

\NiceMatrixOptions{left-margin,right-margin}
$\left[\begin{NiceArray}{c|c}
zI-A&-B\\
\hline
C   &D
\end{NiceArray}\right]
\left[\begin{NiceArray}{c}
x_z\\
\hline
u_z
\end{NiceArray}
\right]
=0$   

NiceArray 的结果

现在,您可以使用的新功能在数组的前导中nicematrix绘制虚线::

\NiceMatrixOptions{left-margin,right-margin}
$\left[\begin{NiceArray}{c:c}
zI-A&-B\\
\hdottedline
C   &D
\end{NiceArray}\right]
\left[\begin{NiceArray}{c}
x_z\\
\hdottedline
u_z
\end{NiceArray}
\right]
=0$  

带有 nicematrix 虚线的结果

如果您想arydshln在环境中使用NiceArray,您必须使用以下选项“释放”说明 :letter-for-dotted-lines

\NiceMatrixOptions{left-margin,right-margin,letter-for-dotted-lines=V}
$\left[\begin{NiceArray}{c:c}
zI-A&-B\\
\hdashline
C   &D
\end{NiceArray}\right]
\left[\begin{NiceArray}{c}
x_z\\
\hdashline
u_z
\end{NiceArray}
\right]
=0$  

arydshln 的结果

答案2

所以在环顾四周后,我没能找到任何东西包,但我能够使用包来解决问题。因此,通过使用此包和 NiceArray 环境,我能够规避我的问题。

\documentclass{article}
\usepackage{amsmath,amssymb,mathtools,nicematrix,arydshln}
\NiceMatrixOptions{transparent}
\begin{document}
\begin{align}
\left[ \begin{NiceArray}{c;{1pt/2pt}c}
zI-A & -B\\
\hdashline[1pt/2pt]
C & D \end{NiceArray} \right]
\left[\begin{array}{c}
x_z\\\hdashline[1pt/2pt] u_z
\end{array}\right]&=0\\
\left[ \begin{NiceArray}{ccc;{1pt/2pt}cc}
z+2&0&0&-2&0\\0&z+1&0&0&-2\\0&0&z+2&0&-1\\\hdashline[1pt/2pt]
0.5&1&0&0&0\\0.5&0&1&0&0
\end{NiceArray}\right]
\left[ \begin{NiceArray}{c}
x_{z_1}\\x_{z_2}\\x_{z_3}\\ \hdashline[1pt/2pt] \frac{1}{\sqrt{2}}\\-\frac{1}{\sqrt{2}}
\end{NiceArray}\right] &=\left[ \begin{NiceArray}{c}
0\\0\\0\\\hdashline[1pt/2pt]0\\0
\end{NiceArray} \right]
\end{align}
\end{document}

更好的间距矩阵

使用环境代替“NiceArray”将修复“\hdashline”虚线超出矩阵长度的问题,同时允许以下优点包裹。

矩阵,其中虚线不超过矩阵宽度

附言:如果您有时间,请随意编辑。英语不是我的母语。

相关内容