以下代码给出了错误:
\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}
注意:出于各种原因,我不得不保留minipage
在那里。出于某种原因,此代码在编译时出现错误。它给出以下输出:
错误信息要么是缺失}
,要么是$
缺失。我的眼睛没看到这样的事!
答案1
只有l
和中c
的r
列array
应该只包含数学模式材料,因为数学模式中的段落没有多大意义。但是,您可以通过添加规范来声明p
、m
或中的数学模式。即b
$
\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*}
实际上,\arraybackslash
只有最后一列才需要。添加会容易得多
\newcolumntype{M}[1]{>{\centering\arraybackslash$}m{#1}<{$}}
在你的序言中,将表格指定为
\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*}
答案2
您的问题来自空白行,并且 m 类型的列是不是在数学模式中。在此过程中,我简化了您的代码:
\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}