6

The following code gives me an error:

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage [english]{babel}
\usepackage{amsmath, amssymb}
\usepackage{enumitem, array}
\begin{document}
{\begin{minipage}[t]{\textwidth}
\begin{enumerate}[label=(\roman*)]
{\setlength\itemindent{10pt}\item 
\begin{equation*}
\begin{array}{>{\centering\arraybackslash}m{1.5cm}>{\centering\arraybackslash}m{1.5cm}>{\centering\arraybackslash}m{1.5cm}>{\centering\arraybackslash}m{1.5cm}>{\centering\arraybackslash}m{1.5cm}}

\hline
x & l_{[x]} & d_{[x]} & l_{x+1} & \mathring{e}_{[x]} \\
\hline
\end{array}
\end{equation*}}
\end{enumerate}
\end{minipage}}
\end{document}

Note: for various reasons, I have to keep minipage there. For some reason, this code gives me an error when it compiles. It gives the following output:

enter image description here

The errors either say there is a } missing or a $ missing. My eyes don't see such a thing!

Clarinetist
  • 1,550
  • 1
    >{\centering\arraybackslash$}m{1.5cm}<{$} is the correct input. However, \arraybackslash is really needed only in the last column. Why do you have braces around the minipage and also around the item? Of course the table will always start lower than the item, probably you already know it. – egreg Jul 24 '14 at 19:58
  • This is an excerpt from a much larger block of code. The reason why the braces are around the \item is to indent the entire enumerate environment. As for why the minipage is in braces, there is a \hspace that I've used that moves the entire minipage. – Clarinetist Jul 24 '14 at 20:03
  • 1
    Neither pair of braces does anything good. – egreg Jul 24 '14 at 20:06

2 Answers2

5

Only l, c and r columns in array are supposed to contain just math mode material, since paragraphs in math mode don't make much sense. However, you can state math mode in p, m or b columns by adding $ to the specifications. Namely

\begin{equation*}
\begin{array}{
  >{\centering\arraybackslash$}m{1.5cm}<{$}
  >{\centering\arraybackslash$}m{1.5cm}<{$}
  >{\centering\arraybackslash$}m{1.5cm}<{$}
  >{\centering\arraybackslash$}m{1.5cm}<{$}
  >{\centering\arraybackslash$}m{1.5cm}<{$}
}
\hline
x & l_{[x]} & d_{[x]} & l_{x+1} & \mathring{e}_{[x]} \\
\hline
\end{array}
\end{equation*}

Actually, \arraybackslash is necessary only in the last column. It would be much easier adding

\newcolumntype{M}[1]{>{\centering\arraybackslash$}m{#1}<{$}}

to your preamble and specify the table as

\begin{equation*}
\begin{array}{ *{5}{M{1.5cm}} }
\hline
x & l_{[x]} & d_{[x]} & l_{x+1} & \mathring{e}_{[x]} \\
\hline
\end{array}
\end{equation*}
egreg
  • 1,121,712
3

Your problem comes from the blankline and the fact the m type columns are not in math mode. While I was at it, I simplified your code:

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage [english]{babel}
\usepackage{amsmath, amssymb}
\usepackage{enumitem, array}

\begin{document}

{\begin{minipage}[t]{\textwidth}
\begin{enumerate}[label=(\roman*)]
{\setlength\itemindent{10pt}\item%
\begin{equation*}
\begin{array}{*{5}{>{\centering\arraybackslash $}m{1.5cm}<{$}}}
\hline
x & l_{[x]} & d_{[x]} & l_{x+1} & \mathring{e}_{[x]} \\
\hline
\end{array}
\end{equation*}}
\end{enumerate}
\end{minipage}}

\end{document} 

enter image description here

Bernard
  • 271,350