在编译包含 15 个左右的包和大约五个包含的乳胶文档时,pdflatex 会抛出“打开的文件太多”错误。所有包含都以 \endinput 结束。任何想法可能导致错误?
该错误似乎取决于使用了多少包(不足为奇......);但是,这不是我第一次使用这么多包,虽然我以前从未遇到过这样的错误。
@axel_c:这与 Linux无关。您可能知道也可能不知道,LaTeX 也可以在 Windows 上使用(这恰好是我现在正在使用的)。
尝试插入
\let\mypdfximage\pdfximage
\def\pdfximage{\immediate\mypdfximage}
之前\documentclass
。
另请参阅 pdftex 邮件列表中的这些线程:
类型
ulimit -n
获取打开文件的最大数量。要将其更改为例如 2048,请键入
ulimit -S -n 2048
这个命令给你什么:
$ ulimit -n
您可能希望通过编辑/etc/security/limits.conf文件来增加它。
这可能是由“最大打开文件描述符”内核配置中的低值引起的。假设您使用的是 Linux,您可以运行以下命令来找出电流限制:
cat /proc/sys/fs/file-max
如果限制较低(例如,1024 左右,这是某些 Linux 发行版中的默认值),您可以尝试通过编辑 /etc/sysctl.conf 来提高它:
fs.file-max = 65536
详细信息可能因您的 Linux 发行版而异,但您可以通过快速的 google 搜索轻松修复它。