4

I want to make a matrix that incorporates both multirow and multicolumn. However the code doesn't work. Sorry if the question is stupid, I am playing with matrices the whole day and probably I am tired and missing something obvious.

\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}
  • Welcome to tex.sx! A tip: If you indent lines by 4 spaces, then they are marked as a code sample. You can also highlight the code and click the "code" button (with "101010" on it). – lockstep Mar 8 '11 at 18:52
4
  • Load arydshln after array instead of before. According to the manual, arydshln has to be loaded after array, longtable, colortab, and colortbl, respectively.

  • Correct the second argument to multirow. It should be a width or a * meaning the natural width.

With these corrections, the code works:

\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}

Output:

multirow multicolumn example

  • I found that out myself =) However thanks for your answer, I didn't think I am getting any. Also what about $$'s in multirow argument?(look my answer?) – lhj7362 Mar 8 '11 at 19:55
  • @lhj7362: \multirow produces a box, inside it's not in math mode any more. You have to start math mode again inside this box. It's a similar situation with \mbox or \parbox. – Stefan Kottwitz Mar 8 '11 at 21:38
1

So, getting no responces, I solved the problem myself. First, if you use just \multicolumn, you should NOT take 3rd argument into $$'s. However if you put \multirow inside a \multicolumn you SHOULD take it into $$'s.

Second, the second argument of both \multicolumn and \multirow defines placing of the content within that area, but placing c as the \multirow argument makes the code incompilable for some reason. That error is also hard to spot. The below code works for me (note the added $$'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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.