考虑以下代码来创建矩阵
\documentclass{svmult}
\usepackage{amssymb,amsmath,amsfonts}
\usepackage{mathtools}
\usepackage{bm}
\usepackage{tikz}
\usetikzlibrary{arrows,trees,decorations,external,positioning,backgrounds}
\sloppy
\begin{document}
\begin{equation*}
Y =
\begin{pmatrix}
1 & 0 & \hdots & \hdots & 0
\\
1 & 0 & & & \vdots
\\
0 & 1 & \ddots & & \vdots
\\
\vdots & \ddots & \ddots & \ddots & \vdots
\\
\vdots & & \ddots & 1 & 0
\\
0 & \hdots & \hdots & 0 & 1
\end{pmatrix}
\end{equation*}
\end{document}
输出如下
我想纠正的是,有几个 ddot 没有对齐,也就是说没有一条直线穿过这些点。特别是,第三行和第四行的对角点以及倒数第二行的 1 和 0 没有对齐 (ddot)
EdIT:以下是可用的类文件: 类文件
答案1
这是一个解决方法,在精心选择的行之间添加一个小的负垂直空间。我还使用了\hdotsfor{2}
而不是两个连续的\hdots
。要获得类似的连续或对角垂直点,您可以使用nicematrix
基于 TikZ 的包。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
Y =
\begin{pmatrix}
1 & 0 & \hdotsfor{2}& 0
\\
1 & 0 & & & \vdots
\\[-0.5ex]
0 & 1 & \ddots & & \vdots
\\[-0.5ex]
\vdots & \ddots & \ddots & \ddots & \vdots
\\[-0.5ex]
\vdots & & \ddots & 1 & 0
\\
0 & \hdotsfor{2} & 0 & 1
\end{pmatrix}
\end{equation*}
\end{document}