為什麼 biblatex 套件的 uniquelist=false 選項只有在第一次插入時才起作用?

為什麼 biblatex 套件的 uniquelist=false 選項只有在第一次插入時才起作用?

對於 biblatex 包,我使用了這些選項:\usepackage[style=authoryearcomp,maxbibnames=99,maxcitenames=2,isbn=false,backend=biber]{biblatex} 但後來我需要添加該uniquelist=false選項。然而後者不起作用,乳膠忽略了它。我解決了這個問題,手動從工作資料夾中刪除 .bbl 檔案並使用所有 biblatex 選項重新編譯文件。這是正確的程序嗎?有其他方法可以實現這一目標嗎?

答案1

選項uniquelist=false,無論您何時將其添加到文件中,由於該選項會影響 Biber(後端)完成的計算,因此當您在新增該選項後僅執行 LaTeX 時,它可能不會立即顯示效果。當您變更影響 Biber 的選項時,您應該重新執行完整的 LaTeX、Biber、LaTeX、LaTeX 編譯週期,以確保使用新設定。

與其他一些情況不同,biblatex它不會自動警告您必須重新執行 Biber 才能確保選項變更已生效。理論上,可以在biblatexBiber 中對此進行檢查,但這並不是完全微不足道的,到目前為止還沒有人要求這樣做。如果您認為自動警告有用,您可以隨時在以下位置提出功能請求:https://github.com/plk/biblatex/issues

從你的描述來看,好像你只是在添加選項後才運行 LaTeX。當您刪除該.bbl檔案時,您(或您的編輯)必須重新執行 Biber,此時該選項終於生效。

我猜您正在使用編輯器或其他通常會自動運行 Biber 的工具。據推測,該工具無法偵測到 Biber 重新運行的必要性。這並不奇怪,因為biblatex沒有警告您這一點。然而,一些工具具有極其先進的啟發式方法,已經可以檢測到這樣的情況並為您重新運行 Biber(精彩的latexmk我想到了)。如果您沒有使用這樣的高級工具,目前您唯一能做的就是確保手動重新運行 LaTeX、Biber、LaTeX、LaTeX。 (您當然不必為此刪除.bbl文件,您的編輯器應該為您提供手動執行此操作的選項,但如果這是獲得完整重新運行的最簡單方法,為什麼不呢?)

相關內容