从 TeX Live 2022 升级到 TeX Live 2023 后,在运行bibtex
、bibtex8
或bibtexu
在 TeX Live 2023 中时,我在输入任何文件时都会收到此错误:
3 is a bad bad
bibtex 没有产生任何输出。什么原因导致了此错误?
答案1
bad
bibtex
是用于报告不符合某些约束的“常量”的变量。唯一的“好”bad
是0
。bad
值为 3 表示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 也不存在。所有这些事情都发生在bibtex.ch更改文件,从而制作各种补丁。