\usepackage[capitalize,noabbrev]{cleveref}
\begin{lemma}\label{foo}
Bar
\end{lemma}then \cref{foo} gives Lemma x.y in the
    PDF. Moreover, if we were to promote the lemma to a theorem,
    then cref automatically changes the references accordingly,
    of course.
  overfull hboxes (in the bibliography, for instance).
  mathtools package\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
    allows you to write
    \abs{x} instead of
    \lvert x \rvert and even better,
    \abs*{\frac{x}{y}}
    \abs[\Big]{\frac{x}{y}} instead of
    \left\lvert \frac{x}{y} \right\rvert
    \Big\lvert \frac{x}{y} \Big\rvert.
  \(...\) for inline math\(...\) rather than $...$
    improves error messages. Besides, it makes more sense to have separate
    opening and closing tags, just like you do for other LaTeX environments.