Biber/BibLaTeX \printbibliography 導致行中出現“未定義的控制序列”

Biber/BibLaTeX \printbibliography 導致行中出現“未定義的控制序列”

我使用 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了破裂。

刪除後,編譯又可以了。

相關內容