Missing number, treated as zero. <to be read again> *
TeX error messages can be rather cryptic at times. Sigh.
The *
character in
\multicolumn{2}{*}{$\bar{0}_m$}
is not legal. Basically, the second argument of \multicolumn
must be a recognized column type, say, l
, c
, r
, or p
.
Since all entries in the table are math-y, I would use an array
environment, and I'd place this array
environment in an unnumbered display-math group, delimited by \[
and \]
. This setup allows you to get rid of lots of $
tokens.
By the way, there is absolutely no need for any \multirow
or \multicolumn
directives.
\documentclass[12pt]{article}
\usepackage{array} % no other packages needed!
\begin{document}
\[
\renewcommand{\arraystretch}{1.5}
\setlength\arraycolsep{10pt} % default: 5pt
\begin{array}{|*{4}{c|}}
\hline
A & I_m & {}_m\bar{0} & \bar{b} \\
\hline
\hat{c} & \hat{0}_m & 1 & d \\
\hline
\hat{0}_n & \hat{0}_m & 0 & 0 \\
\hline
\end{array}
\]
\end{document}
You can avoid multirow
and use a much more natural input syntax.
\documentclass[12pt, onecolumn]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{arydshln}
\begin{document}
\[
\renewcommand{\arraystretch}{1.5}
\newcommand{\threerows}{\vphantom{\begin{array}{c}\\\\\end{array}}}
\begin{array}{|c|c|c:c|}
\hline
\threerows\mathmakebox[4em]{A} & \mathmakebox[2em]{I_m} & {}_m\hat{0} & \hat{b} \\
\hdashline
\bar{c} & \bar{0}_m & 1 & d \\
\hline
\bar{0}_n & \bar{0}_m & 0 & 0 \\
\hline
\end{array}
\]
\end{document}
I define a disposable \threerows
command, just inside the math display, which reserves the vertical space of a three row array. For the horizontal spacing, I exploit \mathmakebox
of mathtools
.
You might want to use \bar{0}_{\mathrlap{n}}
in the bottom left entry, to get
Your problem stems from
\multicolumn{2}{*}{<stuff>}
since \multicolumn
expects a column specification in the second argument (and *
isn't part of the valid set of options).
Regardless, you can use some details from How to add vertical and horizontal dashed lines in array and tabular enviroments? to replicate what you're after:
\documentclass{article}
\usepackage{array,arydshln}
\begin{document}
\begin{center}
\renewcommand{\arraystretch}{1.5}%
\begin{tabular}{ | >{\qquad}c<{\qquad} | >{\quad}c<{\quad} : c | c | }
\hline
& & & \\
$A$ & $I_m$ & $_m{\bar{0}}$ & $\bar{b}$ \\
& & & \\
\hdashline
$\hat{c}$ & $\hat{0}_m$ & 1 & $d$ \\
\hline
$\hat{0}_n$ & $\hat{0}_m$ & 0 & 0 \\
\hline
\end{tabular}
\end{center}
\end{document}