
我使用 biblatex 和 biber 作為後端來編寫我的文件。如果沒有\printbibliography
,所有引文都可以正常工作,並出現在文件中,因此我認為我的bibliography.bib
文件沒有問題。然而,當我\printbibliography
在文檔末尾添加以下行時(就在 之前),問題就出現了\end{document}
: 每次我嘗試編譯時,我都會突然得到“未定義的控制序列”引用 後面的任何行\printbibliography
。
根據互聯網上其他地方的建議,我在文檔中梳理了“智能”引號和其他奇怪的字符,但什麼也沒有。我的引文是從 ADSABS 下載的,偶爾@ONLINE
也會有一些資源。正如我所說,儘管所有參考文獻都工作正常,但命令\printbibliography
起作用了。
為了說明這一點(除非有人認為會有幫助,否則我不會將整個文件貼到此處):
\usepackage[style=authoryear-icomp,sorting=anyt]{biblatex}
\addbibresource{bibliography.bib}
...
\printbibliography
答案1
我有類似的問題。我找出問題出在.bib
文件中。我的建議是仔細檢查您的.bib
文件是否存在可能不明確的語法。就我而言,有問題的語法是:
...
title = {A 70~kW stationary fuel cell system},
...
這未定義的控制序列當將其變更為以下內容時,問題已解決(即,帶有波形符號的表達式包含在花括號中):
...
title = {A {70~kW} stationary fuel cell system},
...
簡短的評論(也許有人會發現它有用)。就我而言,問題發生在matlab-prettifier
加載包之後,這也加載了listings
包。在加載這些包之前,我沒有遇到任何問題。
答案2
bibliography.bib 檔案中的問題(https://gist.github.com/gfarrell/9892791) 畢竟是一個未定義的控制序列:ADSABS 為像\aap
.
刪除這些並用實際的日誌名稱替換它們可以解決問題。
(如果有人知道定義所有這些的包,那將會非常有幫助)。
答案3
就我而言,它是使用 jabref 自動導入的條目中書名中的 $\mathsemicolon$。
修復了它,重新運行 biber,重新編譯,現在可以工作了。
答案4
我在 DOI(使用 Jabref)導入的 bibtex 條目中遇到了相同的問題。
在一篇文章的標題中包含了一個{\textquotesingle}
。這導致biblatex
了破裂。
刪除後,編譯又可以了。