答案1
与 nicematrix
\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{nicematrix}
\begin{document}
\[
D_n = \,
\begin{vNiceMatrix}[
xdots/shorten-start=12pt,
xdots/shorten-end=5pt,
columns-width=5mm,
cell-space-limits=3pt
]
a & \raisebox{-6pt}{$\mathbf{0}$} & b \\
\hspace*{12pt}\mathbf{0} & \phantom{0} & \mathbf{0}\hspace{12pt}{} \\
b & \raisebox{6pt}{$\mathbf{0}$} & a \\
\CodeAfter
\line{1-1}{2-2}
\line{1-3}{2-2}
\line{3-1}{2-2}
\line{3-3}{2-2}
\end{vNiceMatrix}_{[2n]}.
\]
\end{document}
答案2
只是为了好玩
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools,amssymb,mathdots}
\usepackage{bm}
\begin{document}
\[
D_n=\begin{vmatrix}
a & & & & b\\
& \ddots &\raisebox{1.2ex}{$\bm{0}$} &\iddots & \\
& \bm{0} & & \bm{0} & \\
& \iddots & \bm{0} & \ddots & \\
b & & & & a
\end{vmatrix}_{[2n]}.\]
\end{document}
答案3
用横线表示行列式确实过时了(而且含糊不清)。无论如何,您可以通过在适当的位置减小行间距来实现这一点。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{mathdots}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
D_n=
\begin{vmatrix}
a &&&&&&& b \\[-1.5ex]
&&& \mathbf{0} \\[-2ex]
&& \ddots &&& \iddots \\[-1.5ex]
& \mathbf{0} &&&&& \mathbf{0} \\[-2.5ex]
&& \iddots &&& \ddots & \\[-1.5ex]
&&& \mathbf{0} \\[-1.5ex]
b &&&&&&& a
\end{vmatrix}_{\raisebox{0.5ex}{$\scriptstyle[2n]$}}.
\]
\end{document}
恐怕这个符号并没有太多含义。我根本不知道它到底是什么意思。