我想知道,如果可能的话,如何创建一个如下所示的矩阵:
答案1
这是一个不使用 TikZ 的解决方案
\documentclass{article}
\usepackage{amssymb,array,arydshln}
\begin{document}
$\renewcommand{\arraystretch}{1.2}
\left(\begin{array}{@{}c;{3pt/1.5pt}c@{}}
\mathit{GL}(2,\mathbb{R}) & \begin{array}{@{}c@{}}*\\{}*\end{array}\\
\hdashline[3pt/1.5pt]
\begin{array}{@{}c@{\hspace{1.5em}}c@{}}0&0\end{array} & *
\end{array}\right)
$
\end{document}
不过,我通常对分块矩阵的实线感到满意,所以
$\renewcommand{\arraystretch}{1.2}
\left(\begin{array}{@{}c|c@{}}
\mathit{GL}(2,\mathbb{R}) & \begin{array}{@{}c@{}}*\\{}*\end{array}\\
\hline
\begin{array}{@{}c@{\hspace{1.5em}}c@{}}0&0\end{array} & *
\end{array}\right)
$
可能就足够了。
答案2
这是一个使用matrix of math nodes
from 的可能解决方案TikZ
:
\documentclass{report}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[every left delimiter/.style={xshift=1ex}, every right delimiter/.style={xshift=-1ex}]
\matrix[matrix of math nodes,left delimiter=( , right delimiter=)] (mat)
{
\phantom{0} &[0.8cm] \phantom{0} & \ast \\
\phantom{0} & \phantom{0} & \ast \\[0.3ex]
0 & 0 & \ast\\
};
\node[xshift=0.5cm,yshift=-7pt] at (mat-1-1) {$GL(2,\mathbb{R})$};
\draw[dashed,thick] (mat-1-2.north east) -- (mat-3-2.south east) ;
\draw[dashed,thick] (mat-2-1.south west) -- (mat-2-3.south east) ;
\end{tikzpicture}
\end{document}
编辑:一种更传统的方法,使用multirow
和arydshln
包:
\documentclass{report}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{multirow}
\usepackage{arydshln}
\begin{document}
\[
\left(
\begin{array}{cc:c}
\multicolumn{2}{c:}{\multirow{2}{*}{$GL(2,\mathbb{R})$}} & \ast \\
& & \ast \\ \hdashline
0 & 0 & \ast \\
\end{array}
\right)
\]
\end{document}