为什么我会收到“3 很糟糕”的错误?

为什么我会收到“3 很糟糕”的错误?

从 TeX Live 2022 升级到 TeX Live 2023 后,在运行bibtexbibtex8bibtexu在 TeX Live 2023 中时,我在输入任何文件时都会收到此错误:

3 is a bad bad

bibtex 没有产生任何输出。什么原因导致了此错误?

答案1

badbibtex是用于报告不符合某些约束的“常量”的变量。唯一的“好”bad0bad值为 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_size20000 也不存在。所有这些事情都发生在bibtex.ch更改文件,从而制作各种补丁。

相关内容