Haga que la compilación de LaTeX se cancele si se usa bibitem

Haga que la compilación de LaTeX se cancele si se usa bibitem

¿Cómo hacer que se cancele la compilación de LaTeX si se usa \bibitem? A continuación se muestra un fragmento de código que quiero que falle la compilación.

\documentclass{article}
\usepackage{amssymb,longtable,amsmath,booktabs,url,amstext,array,geometry}

\begin{document}
\cite{notes}
\cite{notes2}

\begin{thebibliography}{1}
\bibitem{notes} John W. Dower {\em Readings compiled for History 21.479.}  1991.
\end{thebibliography}
\end{document}

Respuesta1

Como se indicó en los comentarios, es mejor usar bibtex o biber para generar la bibliografía; sin embargo, látex advierte al final del documento sobre citas o referencias no definidas y puede convertirlo fácilmente en un error en lugar de una advertencia si lo desea:

\documentclass{article}
\usepackage{amssymb,longtable,amsmath,booktabs,url,amstext,array,geometry}

\makeatletter
\def\G@refundefinedtrue{%
  \gdef\@refundefined{%
    \GenericError{}{}{There were undefined references}{you wanted an error}}}
\makeatother
\begin{document}
\cite{notes}
\cite{notes2}

\begin{thebibliography}{1}
\bibitem{notes} John W. Dower {\em Readings compiled for History 21.479.}  1991.
\end{thebibliography}
\end{document}

Con lo anterior, la salida del terminal muestra:

! .

There were undefined references
Type  H <return>  for immediate help.
 ...                                              

l.16 \end{document}

? h
you wanted an error
? 

información relacionada