![gnuplottex und lualatex](https://rvso.com/image/266433/gnuplottex%20und%20lualatex.png)
BEARBEITEN:Diese Frage betrifft einen Fehler ingnuplottex
Dies wird in TeXLive 2013 behoben. Wenn Sie den Fehler dennoch beheben lassen möchten, laden Sie die neueste Upstream-Version von CTAN herunter und kompilieren Sie sie selbst.
Lassengnu.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}
Ich versuche jetzt mit zu kompilieren lualatex
; leider funktioniert das nicht. Ich habe lualatex
in der Weise aufgerufen
$ lualatex --shell-escape gnu.tex
Die Protokolldatei lautet
...
\write18 enabled.
...
Package gnuplottex Warning: Shell escape not enabled.
(gnuplottex) You'll need to convert the graphs yourself..
...
Wenn ich mit pdflatex
und der Kommandozeile kompiliere
$ pdflatex --shell-escape gnu.tex
es funktioniert einwandfrei.
Zusammenfassung:Ist gnuplottex
inkompatibel mit lualatex
?
Antwort1
Ich würde das als einen Fehler in betrachten gnuplottex.sty
: Das Paket testet die Shell, indem es eine Datei schreibt /tmp
und ihr einen Namen zuweistohneErweiterung. TeX-Implementierungen können sich in der Behandlung fehlender Erweiterungen in Dateinamen unterscheiden, sollten aber dasselbe tun, wenn eine Erweiterung gefunden wird. Wenn der Test also
%% 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
alles wird funktionieren (ich habe eine explizite .tex
Erweiterung hinzugefügt).
Sie können diesen Fehler umgehen, indem Sie Ihren eigenen Test hinzufügen:
\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}
Sie erhalten die Meldung zwar immer noch, aber das Dokument wird korrekt kompiliert, wenn -shell-escape
in der Befehlszeile angegeben wird. Für diesen Workaround benötigen Sie allerdings LuaTeX-Version >0.67.