如何增加 TeX 打开文件的限制?

如何增加 TeX 打开文件的限制?

我注意到 TeX 有一个打开文件的限制,同时使用一些额外的参考书目multibib,使用hyperrefbackrefs 等等(基本上newcites在达到限制之前该文档中只能再添加 5 个)。

我通过从迁移multibibbiblatex,我当时发现了它,它似乎也是解决其他书目相关挑战的一个很好的解决方案。

无论如何,我发现了这个2007 年开放文件限制讨论我想知道当前 TeX Live 发行版的情况是否会改变。如果是,现在如何增加 LaTeX 中的打开文件限制。

答案1

我从未尝试过改变它,但texmf.cnf(接近尾声时)

max_in_open = 15        % simultaneous input files and error insertions, 

您可以将其粘贴到本地 texmf.cnf 中并进行调整。(在我的系统上,要进行更改的适当文件是/usr/local/texlive/2010/texmf.cnf。)

我猜你必须在执行此操作后重建格式,更改才能生效。你可能遇到 LaTeX 中的硬编码限制问题,该限制假设最多 15 个 io 流;现在检查已经太晚了:)

答案2

  • LaTeX 3(即 expl3 包)有一个“位图分配器”,它只在打开时分配流
  • 使用 LuaTeX,您可以使用标准 Lua 库,从而可以打开无限数量的文件

答案3

morewrites包(见氯化三乙胺) 旨在成为输出文件情况的嵌入式解决方案(即,只需在文档中尽早加载包即可)。它通过重新定义一些原语来工作。

对于输入流来说,这样做要困难得多,因为模拟原始条件是不可能的,因此\ifeof会产生错误的结果。另一方面,我从未见过超过输入流限制的情况。

答案4

在里面KOMA 脚本-bundle,Markus Kohm 为标准 LaTeX 类而开发的替代品,此外,他还提供了一个名为的软件包scrwfile。该软件包旨在解决 LaTeX 中文件句柄数量有限的问题。

如果你不懂德语,作者已经开始改进英文手册。他scrwfile在第 258 页及后续页面进行了描述。您可以KOMA-Script氯化三乙胺贝尔利奥斯

相关内容