No se puede ejecutar tikz externalize con lualatex pero solía funcionar

No se puede ejecutar tikz externalize con lualatex pero solía funcionar

Estoy intentando utilizar la biblioteca de externalización de TikZ usando lualatex (debido a diversas necesidades). Solía ​​​​funcionar sin problemas (digamos hace aproximadamente 1,5 años), pero ahora lo actualicé: estoy en pruebas de Debian, al igual que TeX Live 2016, luatex se anuncia como "Esto es LuaTeX, versión 1.0.0 (TeX Live 2016/Debian) (formato=lualatex 2017.3.20) 20 de abril de 2017 20:31". Probé este archivo más simple, el primer ejemplo tomado de la biblioteca de documentación de externalización de TikZ.

\documentclass{article}
% main document, called main.tex
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize % activate!
\begin{document}
\loggingall
\begin{tikzpicture}
  \node {root}
    child {node {left}}
    child {node {right}
      child {node {child}}
      child {node {child}}
    };
\end{tikzpicture}

A simple image is \tikz \fill (0,0) circle(5pt);.
\end{document}

Cuando ejecuto "pdflatex --shell-escape main", funciona bien, pero cuando reemplazo pdflatex con lualatex, funciona con:

! Package tikz Error: Sorry, the system call 'lualatex -shell-escape -halt-on-e
rror -interaction=batchmode -jobname "main-figure1" "\def\tikzexternalrealjob{m
ain}\input{main}"' did NOT result in a usable output file 'main-figure1' (expec
ted one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system c
alls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also name
d 'write 18' or something like that. Or maybe the command simply failed? Error 
messages can be found in 'main-figure1.log'. If you continue now, I'll try to t
ypeset the picture.

¿Alguien tiene alguna idea de lo que podría estar mal aquí? "lualatex --shell-escape" funciona bien (lo probé en un archivo trivial) y ejecuta 'lualatex -shell-escape -halt-on-error -interaction=batchmode -jobname "main-figure1" "\def\ tikzexternalrealjob{main}\input{main}"' directamente desde una línea de comando pareció funcionar bien, si eso significa algo.

¡Gracias!

Respuesta1

Necesitas el paquete shellesc

\documentclass{article}
\usepackage{shellesc}
% main document, called main.tex
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize % activate!
\begin{document}
\loggingall
\begin{tikzpicture}
  \node {root}
    child {node {left}}
    child {node {right}
      child {node {child}}
      child {node {child}}
    };
\end{tikzpicture}

A simple image is \tikz \fill (0,0) circle(5pt);.
\end{document}

información relacionada