![gnuplottex e lualatex](https://rvso.com/image/266433/gnuplottex%20e%20lualatex.png)
EDITAR:Esta questão cobre um bug emgnuplottex
que será corrigido no TeXLive 2013. Se você ainda deseja corrigir o bug, baixe a versão upstream mais recente do CTAN e compile-a você mesmo.
Deixargnu.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}
Agora estou tentando compilar com lualatex
; infelizmente isso não funciona. Eu liguei lualatex
da maneira
$ lualatex --shell-escape gnu.tex
O arquivo de log lê
...
\write18 enabled.
...
Package gnuplottex Warning: Shell escape not enabled.
(gnuplottex) You'll need to convert the graphs yourself..
...
Se eu compilar com pdflatex
a linha de comando
$ pdflatex --shell-escape gnu.tex
funciona muito bem.
Resumo:É gnuplottex
incompatível com lualatex
?
Responder1
Eu consideraria isso um bug gnuplottex.sty
: o pacote testa o escape do shell escrevendo um arquivo /tmp
e atribuindo um nome a elesemextensão. As implementações do TeX podem diferir no tratamento de extensões ausentes em nomes de arquivos, mas devem fazer a mesma coisa quando uma extensão for encontrada. Então, se o teste for
%% 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
tudo funcionará (adicionei uma .tex
extensão explícita).
Você pode contornar esse bug adicionando seu próprio teste:
\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}
Você ainda receberá a mensagem, mas o documento será compilado corretamente quando -shell-escape
for fornecido na linha de comando. Você precisa da versão LuaTeX> 0.67 para esta solução alternativa.