為什麼我會收到「3 is a bad bad」錯誤?

為什麼我會收到「3 is a bad bad」錯誤?

從 TeX Live 2022 升級到 TeX Live 2023 後,在 TeX Live 2023 中運行bibtexbibtex8或時bibtexu,任何輸入檔案都會出現此錯誤:

3 is a bad bad

bibtex 不產生任何輸出。導致此錯誤的原因是什麼?

答案1

bad是一個變量,bibtex用於報告不滿足某些約束的“常數”。唯一的“好”bad0。值為bad3 意味著max_print_line >= buf_size,這是不允許的。

從 TeX Live 2023 開始,bibtex現在max_print_line從環境中取得“常數”。因此,如果您將max_print_line環境變數設定為≥20000,正如這個答案中所建議的,您現在將觸發此錯誤,這是您以前不會看到的。看來您不能buf_size以相同的方式設定環境變數。

如果您設定了max_print_line=19999,錯誤就會消失。

如果您試圖bibtex透過閱讀 TeX Live 附帶的 weave 產生的原始程式碼的 PDF 版本來了解這是如何發生的,您可能會更加困惑,因為讀取環境變數的程式碼不存在,也不存在初始buf_size值20000.所有這些事情都發生在書刊網更改文件,這會製作各種補丁。

相關內容