答案1
我建议你使用“包装器”array
内的环境\left[ ... \right]
。如果你认为字母“D”需要稍微放大一点,我建议你借助宏\scalebox
(由graphicx
包提供)来实现。
以下屏幕截图显示了实现这些建议的两种方式。左侧的屏幕截图在概念上更简单,因为它只使用一个array
环境。右侧的屏幕截图能够实现大字母“D”的完美垂直(以及水平)居中,因为它使用了嵌套array
环境以及 TeX-primitive 指令\vcenter
。
\documentclass{article}
\usepackage{array}
\usepackage{graphicx} % for '\scalebox' macro
\usepackage{newtxtext,newtxmath} % optional: Times Roman text and math fonts
\begin{document}
\[
\left[ \begin{array}{cc|cccc}
a & r & 0 & 0 & \dots & 0 \\
r & b & s & 0 & \dots & 0 \\
\hline
0 & s & \\
0 & 0 & \\
\vdots & \vdots & \multicolumn{4}{c}{%
\smash{\scalebox{2}{$D$}}} \\
0 & 0 & \\
\end{array} \right]
\qquad
\left[ \begin{array}{cc|cccc}
a & r & 0 & 0 & \dots & 0 \\
r & b & s & 0 & \dots & 0 \\
\hline
\multicolumn{2}{c|}{%
\begin{array}{@{} cc @{}}
0 & s \\
0 & 0 \\
\vdots & \vdots \\
0 & 0
\end{array}
} &
\multicolumn{4}{c}{%
\begin{array}{@{} c @{}}
\vcenter{\hbox{\scalebox{2}{$D$}}}
\end{array}
}
\end{array} \right]
\]
\end{document}
答案2
含nicematrix
包装:
\documentclass[margin=3mm]{standalone}
\usepackage{nicematrix}
\begin{document}
$\begin{bNiceArray}{cc|c ccc}[margin]
a & r & 0 & 0 & \Cdots & 0 \\
r & b & s & 0 & \Cdots & 0 \\
\hline
0 & s & \Block{3-4}<\huge>{D} \\
\Vdots &\Vdots \\
0 & 0
\end{bNiceArray}$
\end{document}
经过至少两次编译你将获得:
编辑: 现在矩阵代码被认为是@Mico 和我下面的评论。