The Overleaf editor includes a syntax-checker (known as "Code Check") which highlights common errors as you type.
The errors Code Check can find are:
\begin
and \end
commands{ }
\left
and \right
delimiters$..$
and $$..$$
Code Check uses heuristics and assumes that the document is typical LaTeX, using only standard commands, e.g. every \begin{}
has a corresponding \end{}
.
If your project uses your own LaTeX or TeX macros, or packages which change standard LaTeX behaviour, you may find that Code Check needs to be turned off -- you can do this globally, for a single file, or for part of a file.
In particular, if you use macros as shortcuts for standard LaTeX environments (e.g. \newcommand{\beq}{\begin{equation}}
) these will not be expanded and you should disable Code Check.
If you don't want to use Code Check at all you can turn it off in the left menu: Click on the Overleaf menu icon above the file list panel, and then look for "Settings - Code Check".
To turn off Code Check for a single file, put the comment %%novalidate
at the top of the file. (N.B. to avoid conflicts we use a double comment character).
%%novalidate
% complex macro definitions or Tikz figures
% ...
You can also turn off Code Check for part of a file
This part of the file is checked with Code Check
%%begin novalidate
This part is not checked
%%end novalidate
This part will also be checked with Code Check
%
is a literal character can give false errors when there is subsequent LaTeX code on the same line as the command. A workaround is to start a new line after any \url{}
or other commands containing literal %
characters.\begin{...}
from \end{...}
statements