如果使用 bibitem,則使 LaTeX 編譯中止

如果使用 bibitem,則使 LaTeX 編譯中止

如果使用 \bibitem 如何讓 LaTeX 編譯中止?下面是我希望編譯失敗的程式碼片段。

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

相關內容