Misplaced \noalign
This error appears when you have used \hline
incorrectly.
Common Causes
Using \hline outside a table:
The \hline
command can only be used inside a tabular
environment. You cannot use it for including horizontal lines elsewhere in documents, such as in title pages, or page headers. An example of this mistake is:
%In your preamble
\title{On the General Molecular Theory of Heat}
\author{A. Einstein}
% In the body of your document
\maketitle
\hline
This will generate the error shown below
main.tex, line 5
\hline ->\noalign {\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet... l.10 \hline I expect to see \noalign only after the \cr of an alignment. Proceed, and I'll ignore this case.
When you want to include horizontal lines outside of a tabular environment, you must use \hrule
.
Using \hline incorrectly in a table:
When using \hline
in a table, every instance except the first must be preceded with \\
. An example of this error is shown below
\begin{tabular}{|l|l|} \hline
First Name: & Albert \\ \hline
Second Name: & Einstein \hline
\end{tabular}
The first \hline
command here is fine, as the first \hline
in a table does not need to be preceded with \\
. The problem is our last \hline
which does need to be preceded with \\
. The correct way to write this table is:
\begin{tabular}{|l|l|} \hline
First Name: & Albert \\ \hline
Second Name: & Einstein \\ \hline
\end{tabular}