
¿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
?