如何在 LaTeX 中创建这个矩阵?

如何在 LaTeX 中创建这个矩阵?

我想在 LaTeX 中创建以下图片。我该怎么做?在此处输入图片描述

答案1

希望这可以作为 OP 学习的起点。此处的提议使用数组,您可以指定需要多少列,例如,使用cccc4 列居中,然后用 & 分隔每列,并用 \ 结束行。

在此处输入图片描述

代码

\documentclass[12pt]{article}
\usepackage[margin=1cm,paper size={15cm,8cm}]{geometry}
\usepackage{amsmath,amssymb}
\thispagestyle{empty}
\begin{document}

\[
\begin{array}{lccccccccccccc}
m:              &   &   & 0 & 0 & 0 & 0 & 1 &0 &0  & 0 & 0 &  &      \\
d(1)=0          &-1 & 2 & 1 &   &   &   &   &  &   &   &      & &    \\
d(2)=0          &   &   &-1 & 2 & 1 &   &   &  &   &   &   &  &      \\
d(3)=0          &   &   &   &-1 & 2 & 1 &   &  &   &   &      & &    \\
$\ldots\ldots$  &   &   &   &   &   &   & $\ldots$ & & &   &         \\
d(5)=1          &   &   &   &   &   &   &   &$\ldots$  &   &  & & &  \\
$\ldots\ldots$  &   &   &   &   &   &   &   &  & $\ldots$  &  &\\
d(11)=0 & & &   &   &   &   &   &   &   &   & -1   & 2 & 1  \\
\end{array}
\]

\end{document}

编辑:芭芭拉·比顿 (barbara beeton) 推荐了一种正确的解决方案。

在此处输入图片描述

代码:

\documentclass[12pt]{article}
\usepackage[margin=1cm,paper size={16cm,8cm}]{geometry}
\usepackage{amsmath,amssymb}
\thispagestyle{empty}
\begin{document}

\[
\begin{array}{lrrrrrrrrrrrrr}
m:     &    &  & 0 & 0 & \phantom{-}0 & \phantom{-}0 & 1 &0 &0 & \phantom{-}0 & 0 &&\\
d(1)=0 &-1  & \phantom{-}2& 1 &   &   &   &   &  &  &   &     && \\
d(2)=0 &    &  &-1   & 2 & 1  &   &   &   &   &  &  &   &        \\
d(3)=0 &    &  &     &-1 & 2  & 1 &   &   &   &  &  &   &        \\
$\ldots\ldots$ &     &   &    &   &   &   &  $\ldots$&  &     && \\
d(5)=1 &    &  &     &   &    &   &   &$\ldots$  &  &   &     && \\
$\ldots\ldots$ &     &   &    &   &   &   &   &   &  $\ldots$ & &\\
d(11)=0 &   &  &     &   &    &   &   &   &   &  & -1 & \phantom{-}2 & \phantom{-}1  \\
\end{array}
\]

\end{document}

答案2

最困难的部分是获得相同大小的列:

\documentclass{article}
\usepackage{array,collcell}
\newcommand{\two}[1]{\makebox[1.5em][r]{$#1$}}
\newcommand{\Ldots}{\dots\dots\hspace*{-1em}}

\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\begin{array}{l @{\quad} *{13}{>{\collectcell\two}c<{\endcollectcell}}}
\quad m & & & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\[1ex]
d(1)=0  & -1 & 2 &  1 \\
d(2)=0  &    &   & -1 & 2 &  1 \\
d(3)=0  &    &   &    &   & -1 & 2 & 1 \\
\dots   &    &   &    &   &    & \Ldots \\
d(5)=1  &    &   &    &   &    &   &  & \Ldots \\
\dots   &    &   &    &   &    &   &  &  &  & \Ldots \\
d(11)=0 &    &   &    &   &    &   &  &  &  &  & -1 & 2 & 1
\end{array}
\]
\end{document}

在此处输入图片描述

答案3

您可以使用两个array环境,第二个环境包含十三列,并使用\phantom第二个环境第一行中的说明array来获得等宽列。如果您希望将“点”放置在基线上而不是垂直居中,请使用\dots而不是\cdots

在此处输入图片描述

\documentclass{article}
\begin{document}
$\begin{array}{@{}l}
m:\\
d(1)=0\\
d(2)=0\\
d(3)=0\\
\cdots\\
d(5)=0\\
\cdots\\
d(11)=0
\end{array}
\quad
\setlength\arraycolsep{2pt} % default value: 5pt
\begin{array}{*{13}{r}}
\phantom{-0} & \phantom{-0} 
& \phantom{-}0 & \phantom{-}0 & \phantom{-}0 & \phantom{-}0 
& \phantom{-}1 
& \phantom{-}0 & \phantom{-}0 & \phantom{-}0 & \phantom{-}0
& \phantom{-0} & \phantom{-0} \\
-1 & 2 & 1\\
& & -1 & 2 & 1\\
& & & -1 & 2 & 1\\
& & & & \multicolumn{3}{c}{\cdots}\\
& & & & & \multicolumn{3}{c}{\cdots}\\
& & & & & & & \multicolumn{3}{c}{\cdots}\\
& & & & & & & & & & -1 & 2 & 1\\
\end{array}$
\end{document}

相关内容