如何在 LaTex 中编写块矩阵?

如何在 LaTex 中编写块矩阵?

我希望在 LaTex 中写入以下块矩阵。

在此处输入图片描述

我尝试了很多方法,但似乎都不起作用。特别是,我尝试了以下方法:

\begin{bmatrix}
0 & -1&        &         &          &        & 0    &         &       &         &\\
1 & 0 &        &         &          &        &      &         &       &         &\\
  &   & \cdot  &         &          &        &      &         &       &         &\\
  &   &        & \cdot   &          &        &      &         &       &         &\\
  &   &        &         & \cdot    &        &      &         &       &         &\\
  &   &        &         &          & 0      & 1    &         &       &         &\\
  &   &        &         &          &-1      & 0    &         &       &         &\\
  &   &        &         &          &        &      & \cdot  &        &        &\\
  &   &        &         &          &        &      &         & \cdot &        &  \\ 
  &   &        &         &          &        &      &         &        &  \cdot & \\
0 &   &        &         &          &        &      &         &        &         &  0\\ 
\end{bmatrix}

但这非常丑陋,因此任何建议都将不胜感激。

答案1

也许

$\left(\begin{array}{cccccc}
\left[\begin{array}{cc}
0 & 1\\
-1 & 0
\end{array}\right] &  &  &  &  & 0\\
 & \ddots\\
 &  & \left[\begin{array}{cc}
0 & 1\\
-1 & 0
\end{array}\right]\\
 &  &  & 0\\
 &  &  &  & \ddots\\
0 &  &  &  &  & 0
\end{array}\right)$  

在此处输入图片描述

答案2

就是图个好玩儿!:-)

\documentclass{article}
\usepackage{amsmath,array}

\begin{document}

\[
\begin{pmatrix}
\newcommand{\lr}[1]{\multicolumn{1}{|c}{#1}}
\newcommand{\rr}[1]{\multicolumn{1}{c|}{#1}}
\;
\begin{array}{@{}*{10}{c}@{}}
\cline{1-2}
\lr{0} & \rr{1} &&&&&&&& \raisebox{-1em}[0pt][0pt]{$0$}\\
\lr{-1} & \rr{0} \\
\cline{1-2}
&& \ddots \\
\cline{4-5}
&&& \lr{0} & \rr{1} \\
&&& \lr{-1} & \rr{0} \\
\cline{4-5}
&&&&& 0 \\[-1ex]
&&&&&& \ddots \\
&&&&&&& 0 \\[-1ex]
&&&&&&&& \ddots \\
\multicolumn{2}{c}{0} &&&&&&&& 0
\end{array}
\;\;
\end{pmatrix}
\]

\end{document}

在此处输入图片描述

答案3

这是我的建议,使用\bmatx命令替换原始图片,作为盒装矩阵。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}
\newcommand{\bmatx}{\boxed{\begin{matrix} 0&  1  \\ -1&  0\end{matrix}}}

\begin{document}
\[
\begin{pmatrix}
\, \bmatx&  &  &  &  & & & 0 \\ 
 &  \ddots&  &  &  & \\ 
 &  &  \bmatx &  &  & & \\ 
 &  &  &  \ddots&  & &\\ 
 &  &  &  & 0 & &\\ 
 &  &  &  &  &  & \ddots\\ 
0 &  &  &  &  &  & & 0 
\end{pmatrix}
\]

\end{document}

感谢@Bernard 的宝贵评论,提供了最好的代码。

答案4

这是一个使用 Ti 的解决方案Z 可以在各种情况下(不仅仅是矩阵)绘制方框。您只需输入\tl右上角应该在的位置以及\br右下角应该在的位置即可。您也可以使用任何 TiZ 功能可修改您的框。显然,这需要根据您使用它的具体目的(间距等)进行微调。

\newcounter{textbox}
\def\tl{\stepcounter{textbox}\tikzmarknode{a\thetextbox}{\strut}}
\def\br{\tikzmarknode{b\thetextbox}{\strut}\begin{tikzpicture}[overlay, remember picture]\draw (a\thetextbox.north west) rectangle (b\thetextbox.south east);\end{tikzpicture}}

此版本中的间距未针对矩阵进行优化,但您可以使用

\tikzmarknode{b\thetextbox}{\strut}\begin{tikzpicture}[overlay, remember picture]\draw ($(a\thetextbox.north west)+(-0.4\arraycolsep,0ex)$) rectangle ($(b\thetextbox.south east)+(0.4\arraycolsep,0ex)$);\end{tikzpicture}

添加额外的空间。

在此处输入图片描述

完整代码:

\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath} 
\usetikzlibrary{tikzmark,calc}
\newcounter{textbox}
\def\tl{\stepcounter{textbox}\tikzmarknode{a\thetextbox}{\strut}}
\def\br{\tikzmarknode{b\thetextbox}{\strut}\begin{tikzpicture}[overlay, remember picture]\draw (a\thetextbox.north west) rectangle (b\thetextbox.south east);\end{tikzpicture}}
\begin{document}
\[
\begin{bmatrix}
\tl0    &-1     &        &         &          &        &      &         &       &    0    \\
1       & 0\br  &        &         &          &        &      &         &       &         \\
        &       & \cdot  &         &          &        &      &         &       &         \\
        &       &        & \cdot   &          &        &      &         &       &         \\
        &       &        &         & \cdot    &        &      &         &       &         \\
        &       &        &         &          &\tl0    & 1    &         &       &         \\
        &       &        &         &          &-1      & 0\br &         &       &         \\
        &       &        &         &          &        &      & \cdot   &       &         \\
        &       &        &         &          &        &      &         & \cdot &         \\ 
0       &       &        &         &          &        &      &         &       &  \cdot  \\
\end{bmatrix}
\]
\end{document}

相关内容