![gnuplottex y lualatex](https://rvso.com/image/266433/gnuplottex%20y%20lualatex.png)
EDITAR:Esta pregunta cubre un error engnuplottex
que se solucionará en TeXLive 2013. Si aún desea corregir el error, descargue la última versión de CTAN y compílela usted mismo.
Dejargnu.tex
\documentclass[border=3mm]{standalone}
\usepackage{gnuplottex} % use gnuplot
\usepackage{epstopdf} % convert resulting eps to pdf
\begin{document}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color]
set xlabel '$x$'
set ylabel '$y$'
plot sin(x) title '$\sin x$'
\end{gnuplot}
\end{document}
Ahora estoy intentando compilar con lualatex
; Desafortunadamente esto no funciona. Llamé lualatex
de la manera
$ lualatex --shell-escape gnu.tex
El archivo de registro dice
...
\write18 enabled.
...
Package gnuplottex Warning: Shell escape not enabled.
(gnuplottex) You'll need to convert the graphs yourself..
...
Si compilo con pdflatex
y la línea de comando
$ pdflatex --shell-escape gnu.tex
funciona bien.
Resumen:¿Es gnuplottex
incompatible con lualatex
?
Respuesta1
Consideraría que esto es un error en gnuplottex.sty
: el paquete prueba el escape del shell escribiendo un archivo /tmp
y asignándole un nombre.sinextensión. Las implementaciones de TeX pueden diferir en el tratamiento de las extensiones faltantes en los nombres de archivos, pero deberían hacer lo mismo cuando se encuentra una extensión. Entonces si la prueba es
%% test if shell escape really works
\ifShellEscape
\def\tmpfile{/tmp/w18-test-\the\year\the\month\the\day\the\time.tex}
\ifmiktex
\def\tmpfile{w18-test-\the\year\the\month\the\day\the\time.tex}
\immediate\write18{echo t > "\tmpfile"}
\else
\immediate\write18{touch \tmpfile}
\fi
\IfFileExists{\tmpfile}{\ShellEscapetrue}{\ShellEscapefalse}
\ifmiktex
\immediate\write18{del "\tmpfile"}
\else
\immediate\write18{rm -f \tmpfile}
\fi
\fi
todo funcionará (agregué una .tex
extensión explícita).
Puede solucionar este error agregando su propia prueba:
\documentclass[border=3mm]{standalone}
\usepackage{gnuplottex} % use gnuplot
\usepackage{pdftexcmds,ifluatex}
\makeatletter
\ifluatex
\ifnum\pdf@shellescape=\@ne
\ShellEscapetrue
\fi
\fi
\makeatother
\usepackage{epstopdf} % convert resulting eps to pdf
\begin{document}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color]
set xlabel '$x$'
set ylabel '$y$'
plot sin(x) title '$\sin x$'
\end{gnuplot}
\end{document}
Seguirá recibiendo el mensaje, pero el documento se compilará correctamente cuando -shell-escape
se proporcione en la línea de comando. Sin embargo, necesita la versión LuaTeX >0.67 para esta solución.