lualatex가 "열린 파일이 너무 많습니다"라는 오류를 표시하지만 pdflatex가 동일한 latex 파일에 없는 이유는 무엇입니까?

lualatex가 "열린 파일이 너무 많습니다"라는 오류를 표시하지만 pdflatex가 동일한 latex 파일에 없는 이유는 무엇입니까?

Linux에서 TL 2015를 사용합니다.

그래픽이 모두 PDF 형식으로 포함된 라텍스 파일이 있습니다. 호출을 사용하여 모든 이미지가 포함됩니다.

\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{rules/file_name}

PDF 형식으로 총 1860개의 이미지가 있습니다.

lualatex를 사용하여 이 파일을 컴파일할 때 어떤 단계에서 이미지 번호 1016에 도달하면 오류와 함께 실패합니다 Too many open files. pdflatex로 동일한 파일을 컴파일하면 오류가 발생하지 않습니다!

lualatex를 사용할 때 라텍스 파일에 이미지를 포함할 수 있는 방법에 제한이 있습니까? 아니면 버그입니까? 이미지를 로드하고 파일 핸들이 부족할 때 lualatex includegraphics 버전이 파일 핸들을 닫지 않는 것 같습니다. 이것은 Linux mint 7.2에 있습니다.

파일이 크기 때문에. 파일과 로드되는 이미지를 \includegraphics하나의 zip 파일(80MB)에 넣었습니다. 링크는 본 포스팅 하단에 있습니다.

재현하려면 zip 파일을 다운로드하고 명령을 사용하여 압축을 풀면 unzip file.zip라는 새 폴더가 생성되며 lualatex_error/이 폴더 안에는 하나의 파일 report.tex과 모든 이미지가 포함된 폴더가 있습니다. 그런 다음 입력

lualatex report.tex

오류가 발생합니다

 lualatex: ./rules/1016.pdf: Too many open files

로부터report.log

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
    (format=lualatex 2015.7.9)  31 JUL 2015 12:28
 restricted \write18 enabled.

lualatex_error>which lualatex
/usr/local/texlive/2015/bin/x86_64-linux/lualatex

zip 파일은 다음 위치에 있습니다.이 폴더(zip 파일이 있는 폴더에 대한 링크입니다. zip 파일에 대한 직접 링크는 아닙니다.) 80MB 크기.

제가 제공할 수 있는 다른 정보가 있으면 알려주시기 바랍니다.

답변1

이 동작을 확인할 수 있습니다. 테스트하려면:

,, ..., example-image-1x1.pdf라는 이름의 1860개 복사본(또는 선택한 다른 이미지) 을 만듭니다 . TeX Live 2015를 사용 하고 표준 위치에 설치한 경우 다음 명령을 사용할 수 있습니다.1.pdf2.pdf1860.pdfbash

i=0; while [ $i -le 1860 ] ; do ((i++)); cp /usr/local/texlive/current/texmf-dist/tex/latex/mwe/example-image-1x1.pdf ./$i.pdf; done

그런 다음 다음 문서를 만듭니다.

\documentclass{article}
\usepackage{graphicx}
\usepackage{expl3,xparse}
\ExplSyntaxOn
\int_new:N \l_nasser_loop_int
\tl_new:N \l_nasser_file_tl
\NewDocumentCommand \icing { }
{
  \int_set:Nn \l_nasser_loop_int { 0 }
  \int_do_while:nNnn { \l_nasser_loop_int } < { 1860 }
  {
    \int_incr:N \l_nasser_loop_int
    \tl_set:Nn \l_nasser_file_tl { \int_use:N \l_nasser_loop_int }
    \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{\l_nasser_file_tl}\par
  }
}
\ExplSyntaxOff
\begin{document}
\icing
\end{document}

이것은 pdflatex. 을 사용하면 lualatex다음 오류로 인해 실패합니다.

lualatex: ./1024.pdf: Too many open files

나는 결과물을 게시하지 않을 것입니다 pdflatex. 귀하는 내 말을 따르거나 위의 절차를 따라야 합니다.

관련 정보