我想制作一个包含多行和多列的矩阵。但是代码不起作用。如果这个问题很愚蠢,我很抱歉,我整天都在玩矩阵,可能我很累,错过了一些显而易见的东西。
\usepackage{arydshln}
\usepackage{array}
\usepackage{amsmath}
\usepackage{multirow} \begin{document}
\begin{align*}
& \hspace{0.3cm}\overbrace{\hphantom{\begin{array}{ccc}
a&b&c \end{array}}}\\
&\left[
\begin{array}{ccc:ccc:ccc}
a&a&a&b&b&b&c&c&c\\
\multicolumn{3}{c}{0}&\multicolumn{3}{c}{0}&\multicolumn{3}{c}{\multirow{2}{c}{0}}\\
1&2&3&4&5&6&&&\\
\end{array} \right]
\end{align*}
\end{document}
答案1
arydshln
在之后加载而不是在之前加载array
。根据手册,arydshln
必须分别在、、和 colortbl 之后array
加载。longtable
colortab
将第二个参数更正为
multirow
。它应该是宽度或*
表示自然宽度的。
经过这些修正后,代码可以正常工作:
\documentclass{article}
\usepackage{array}
\usepackage{arydshln}
\usepackage{amsmath}
\usepackage{multirow}
\begin{document}
\begin{align*}
& \hspace{0.3cm}\overbrace{\hphantom{\begin{array}{ccc}
a&b&c \end{array}}}\\ &\left[
\begin{array}{ccc:ccc:ccc}
a&a&a&b&b&b&c&c&c\\
\multicolumn{3}{c}{0}&\multicolumn{3}{c}{0}&\multicolumn{3}{c}{\multirow{2}{*}{0}}\\ 1&2&3&4&5&6&&&\\
\end{array} \right]
\end{align*}
\end{document}
输出:
答案2
因此,在没有得到任何回应的情况下,我自己解决了这个问题。首先,如果您只使用\multicolumn
,则不应将第三个参数放入 中$$
。但是,如果您将 放入\multirow
中,\multicolumn
则应该将其放入 中$$
。
其次,和的第二个参数\multicolumn
定义\multirow
了内容在该区域内的放置,但放置c
为\multirow
参数会导致代码因某种原因无法编译。该错误也很难发现。下面的代码对我来说有效(请注意添加的$$
's)。
\begin{align*}
&\left[
\begin{array}{ccc:ccc:ccc}
a&a&a&b&b&b&c&c&c\\
\multicolumn{3}{c}{0}&\multicolumn{3}{c}{0}&\multicolumn{3}{c}{\multirow{2}{*}{$\phi$}}\\
1&2&3&4&5&6&&&\\
\end{array} \right]
\end{align*}
\end{document}