Usando TL 2015 en Linux.
Tengo un archivo latex que incluye gráficos, todo en formato pdf. Todas las imágenes se incluyen mediante la llamada.
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{rules/file_name}
Hay un total de 1860 imágenes de este tipo, todas en formato pdf.
Cuando compilo este archivo usando lualatex, en algún momento, cuando llega a la imagen número 1016, falla con el error Too many open files
. ¡Compilar el mismo archivo con pdflatex no produce ningún error!
¿Existe alguna limitación sobre cómo se pueden incluir imágenes en un archivo de látex cuando se usa lualatex o se trata de un error? Parece que la versión lualatex includegraphics no cierra los identificadores de archivos al cargar imágenes y se queda sin identificadores de archivos. Esto está en Linux mint 7.2.
Dado que el archivo es grande. He puesto el archivo y las imágenes que carga \includegraphics
en un archivo zip (80 MB). El enlace está al final de esta publicación.
Para reproducir, descargue el archivo zip, descomprímalo usando el comando unzip file.zip
y creará una nueva carpeta llamada lualatex_error/
y dentro de esta carpeta está el archivo report.tex
y la carpeta que incluye todas las imágenes. Luego escribiendo
lualatex report.tex
dará el error
lualatex: ./rules/1016.pdf: Too many open files
Desde elreport.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
El archivo zip está enesta carpeta(Este es un enlace a la carpeta donde se encuentra el archivo zip. No es un enlace directo al archivo zip). Tamaño de 80 MB.
Cualquier otra información que pueda dar por favor háganmelo saber.
Respuesta1
Puedo confirmar este comportamiento. Probar:
Cree 1860 copias de example-image-1x1.pdf
(u otra imagen de su elección) denominada 1.pdf
, 2.pdf
,..., 1860.pdf
. Si usa bash
y tiene TeX Live 2015 instalado en el lugar estándar, puede usar los siguientes comandos:
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
Luego cree el siguiente documento:
\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}
Esto se compila bien con pdflatex
. Con lualatex
, falla con el siguiente error:
lualatex: ./1024.pdf: Too many open files
Me abstendré de publicar los resultados pdflatex
: tendrás que confiar en mi palabra o seguir el procedimiento anterior.