空參考書目
路徑、後端、缺失引用、印刷參考書目與參考書目。
空參考書目
症狀
您的文件編譯時沒有致命錯誤,但參考文獻部分完全遺失,或標題下沒有任何內容。通常文字中的每個“\cite”同時顯示為粗體問號。沒有發生任何崩潰,因此沒有明顯的錯誤需要追踪,這就是讓這個令人沮喪的原因。
為什麼會發生
參考書目不是單獨由 LaTeX 產生的。 LaTeX 首先將引用的鍵列表寫入輔助檔案。單獨的後端程式(“bibtex”或“biber”)讀取您的“.bib”資料庫並格式化符合的條目。最後,LaTeX 在下次讀取該格式化結果。空的參考書目意味著該管道在某個地方中斷:後端從未運行,它運行但找不到資料庫,它找到了資料庫但沒有請求密鑰,或者文檔使用錯誤的命令詢問結果。
依序找出原因
首先,確認資料庫文件存在於文件所說的位置。 \bibliography{refs} 和 \addbibresource{refs.bib} 都會尋找相對於主檔案的 refs.bib,因此位於 bib/ 子資料夾中的檔案必須被引用為 bib/refs 或 bib/refs.bib。一條錯誤的道路會悄悄失敗。
其次,確保後端實際運作。一次编译是远远不够的;完整的循环是 LaTeX,然后是 bibtex 或 biber,然后是 LaTeX 两次。 Oleafly 自动运行此循环,但手动构建或配置错误的编辑器工具链可以跳过中间步骤,结果恰恰是一个空的参考列表。
第三,檢查是否至少存在一個「\cite」指令。後端僅格式化文件請求的條目,因此沒有引用的草稿在設計上仍會得到一個空列表。在早期起草過程中,您可以使用「\nocite{*}」強制輸入所有內容,它請求資料庫中的每個條目,而不列印文字中的任何內容。
第四,將命令與系統相符。經典 BibTeX 文件以 \bibliographystyle{...} 和 \bibliography{refs} 結尾。 biblatex 文件使用 \addbibresource{refs.bib} 在序言中載入資料庫,並使用 \printbibliography 列印它。混合兩者,例如載入 biblatex 但仍然呼叫 \bibliography,就會產生這種失敗。運行錯誤的後端也是如此:biblatex 需要“biber”,而向其提供經典的“bibtex”不會產生任何結果。
讀取後端自己的日誌
後端將其投訴寫入文件旁邊的「.blg」文件,這就是格式錯誤的條目、重複的鍵和「我無法開啟資料庫檔案」訊息出現的地方。如果上述步驟看起來正確,但清單仍然為空,則「.blg」日誌幾乎總是指出真正的罪魁禍首。對於參考書目本身出現後仍然存在的問號,請參閱清除神秘引文標記。