我想用块矩阵生成方程
\documentclass[a4paper,12pt,titlepage]{article}
\usepackage[fleqn]{amsmath}
\usepackage[pdftex]{graphicx}
\usepackage{blkarray}
\usepackage{mathtools}
\usepackage{multirow}
\newcommand{\rdots}{\hspace{.2ex}\raisebox{1ex}{\rotatebox{-12}{$\ddots$}}}
\begin{document}
\resizebox{0.9\textwidth}{!}{\begin{minipage}{\textwidth}
\begin{align}
\begin{blockarray}{(cccc|cccc)}
1 & & 0 & \cdots & \BAmulticolumn{4}{c}{\multirow{4}{*}{\huge$0$}}\\
& \rdots & & & & & &\\
0 & & 1 & & & & &\\
\vdots & & & \rdots & & & &\\
\cline{1-8}
& & & & 1 & & & \cdots \\
\BAmulticolumn{4}{c|}{\multirow{4}{*}{\huge$0$}} & & \rdots & \\
& & & & 0 & & 1 & \\
& & & & \vdots & & &\rdots \\
\end{blockarray}+
\begin{blockarray}{(cccc|cccc)}
\BAmulticolumn{4}{c|}{\multirow{4}{*}{\huge$0$}} & \BAmulticolumn{4}{c}{\multirow{4}{*}{\huge$S-T$}} \\
& & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
\cline{1-8}
\BAmulticolumn{4}{c|}{\multirow{4}{*}{\huge$T-S$}} & \BAmulticolumn{4}{c}{\multirow{4}{*}{\huge$0$}} \\
& & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
\end{blockarray}
\end{align}
\end{minipage}}
\end{document}
我的代码产生了正确的矩阵,但它们的大小不一样:
左边的那个(带 ST)更小!我不明白为什么,有人能帮忙吗?
答案1
这里有一个稍微简单一点的方法,省略矩阵中难看的内部规则,并使用 来scalebox
缩小单位矩阵,而不是尝试扩大其他部分。这里使用的另一个技巧是插入一条不可见的垂直规则来控制间距。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\newcommand{\IM}{\scalebox{0.7}{\(\begin{matrix}1&0&\cdots\\0&1\\\vdots&&\ddots\end{matrix}\)}}
\newcommand{\BigO}{\vrule width 0pt height 17pt depth 15pt 0}
\[
\left( \begin{matrix} \IM & \BigO \\ \BigO & \IM \end{matrix} \right)
+
\left( \begin{matrix} \BigO & S-T \\ T-S & \BigO \end{matrix} \right)
\]
\end{document}