我怎样才能修复此 matlab 样式语法矩阵中垂直点的对齐?

我怎样才能修复此 matlab 样式语法矩阵中垂直点的对齐?

我正在尝试改编代码这个帖子允许在 latex 中使用 matlab 样式的矩阵语法。在 MWE 示例中,对齐方式\vdots不正确(应居中)...

错位问题

我的 MWE 是...

\documentclass{article}
\usepackage{mathtools}


\makeatletter
\renewcommand*\env@matrix[1][r]{\hskip -\arraycolsep%
    \let\@ifnextchar\new@ifnextchar
    \array{*\c@MaxMatrixCols #1}}
\makeatother
\usepackage{nicematrix}
\renewcommand\matrix[1]{%
    \begin{bNiceMatrix}[r][light-syntax]
        #1
    \end{bNiceMatrix}%
}

\begin{document}

\begin{equation*}
\matrix{\vec{x}^{(1)};\vec{x}^{(2)};\vdots;\vec{x}^{(m)}}^{T}
\end{equation*}

\end{document}

我怎样才能解决这个问题?

更新

我尝试了@F. Pantigny 的解决方案。它对 有效\vdots,但对\cdots\ldots会导致矩阵的不同元素之间出现多余的点,即...

\documentclass{article}
\usepackage{mathtools}
\usepackage{nicematrix}
\renewcommand\matrix[1]{%
    \begin{bNiceMatrix}[r,light-syntax,renew-dots,xdots/shorten=6pt]
        #1
    \end{bNiceMatrix}%
}
\begin{document}
\begin{equation*}
\matrix{\vec{x}^{(1)};\vec{x}^{(2)};\vdots;\vec{x}^{(m)}}^{T} = \matrix{\vec{x}^{(1)} \vec{x}^{(2)}\cdots \vec{x}^{(n)}}
\end{equation*}
\end{document}

给……

仍然有坏点

答案1

\documentclass{article}
\usepackage{mathtools}
\usepackage{nicematrix}


\renewcommand\matrix[1]{%
    \begin{bNiceMatrix}[r,light-syntax,renew-dots,xdots/shorten=6pt]
        #1
    \end{bNiceMatrix}%
}

\begin{document}

\begin{equation*}
\matrix{\vec{x}^{(1)};\vec{x}^{(2)};\vdots;\vec{x}^{(m)}}^{T}
\end{equation*}

\end{document}

上述代码的输出

相关内容