
Как сделать так, чтобы компиляция LaTeX прерывалась, если используется \bibitem? Ниже приведен фрагмент кода, который я хочу, чтобы компиляция завершилась неудачей.
\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}
решение1
Как отмечено в комментариях, для создания библиографии лучше использовать bibtex или biber, однако latex предупреждает в конце документа о любых неопределенных цитатах или ссылках, и вы можете легко сделать это ошибкой, а не предупреждением, если захотите:
\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}
с учетом вышесказанного, вывод терминала показывает:
! .
There were undefined references
Type H <return> for immediate help.
...
l.16 \end{document}
? h
you wanted an error
?