我习惯使用array
环境编写块矩阵,当这些矩阵分解为四个块时,控制垂直间距并使用\hfill
等。现在我想绘制一个分解为九个块的矩阵,但环境制作的垂直线array
断了。我该如何修复它?无需彻底改变方法?(比如,tikz
至少现在我对使用的解决方案不感兴趣)。
以下是 MWE(在 Overleaf 中完成):
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,top=3cm,bottom=2cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry}
\usepackage{amsmath}
\usepackage{graphicx}
\begin{document}
\[ \left(
\begin{array}{c|c}
\mbox{\large $0$} & \mbox{\large ${\rm Id}_n$} \\[.7ex] \hline \\[-1.5ex]
\mbox{\large $-{\rm Id}_n$} & \mbox{\large $0$}\\
\end{array}
\right) \qquad \left(
\begin{array}{c|c|c}
\mbox{\large $0$} & \mbox{\large $0$} & \mbox{\large $0$} \\[.7ex] \hline \\[-1.5ex]
\mbox{\large $0$} & \mbox{\large $0$} & \mbox{\large ${\rm Id}_n$} \\[.7ex] \hline \\[-1.5ex]
\mbox{\large $0$} & \mbox{\large $-{\rm Id}_n$} & \mbox{\large $0$}\\
\end{array}
\right). \]
\end{document}
谢谢!
答案1
不要\large
在每个单元格中都执行此操作,而要对数组全局执行此操作。不要\\
在 之后使用\hline
。
\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}
\[
\left(
\mbox{\large$
\renewcommand{\arraystretch}{1.2}
\begin{array}{c|c}
0 & \mathrm{Id}_n \\
\hline
-\mathrm{Id}_n & 0 \\
\end{array}
$}% end of \mbox
\right)
\qquad
\left(
\mbox{\large$
\renewcommand{\arraystretch}{1.2}
\begin{array}{c|c|c}
0 & 0 & 0 \\
\hline
0 & 0 & \mathrm{Id}_n \\
\hline
0 & -\mathrm{Id}_n & 0 \\
\end{array}
$}% end of \mbox
\right).
\]
\end{document}
我删除了所有不必要的软件包。不要使用,utf8x
因为它已经好几年没有维护了,但是utf8
。还请注意,\rm
已经被弃用了 20 多年。