在 MiKTeX 下的 TeXworks 上启用“--shell-escape”

在 MiKTeX 下的 TeXworks 上启用“--shell-escape”

解决问题后我之前的问题,我申请终于安装Gnuplot 4.6安装成功后我必须--shell-escape在 TeXworks 上允许该选项,因此我在“首选项”菜单上添加了一个名为 的新排版工具pdfLaTeX+ShellEscape

插入工具配置的代码行如下:

$synctexoption
-undump=pdflatex
--shell-escape
$fullname

问题是,当我尝试使用上面指定的选项编译我的 MWE(MYname.tex)时:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
%
\begin{document}
\begin{tikzpicture}
%
\begin{axis}[no markers,samples=30]
\addplot gnuplot{atanh(x)};
\end{axis}
%
\end{tikzpicture}
%
\end{document}

我收到此消息:

! Package pgfplots Error: Sorry, the gnuplot-result file 'MYname.pgf-plot.table'
could not be found. Maybe you need to enable the shell-escape feature? For 
pdflatex, this is '>> pdflatex -shell-escape'. You can also invoke 
'>> gnuplot <file>.gnuplot' manually on the respective gnuplot file..

See the pgfplots package documentation for explanation.
Type  H <return>  for immediate help.
...                                              

l.7     \addplot gnuplot{atanh(x)};
? 

我正在运行 TeXworks 0.44,到目前为止它还没有表现出这种固执,因为我编译每个文档都没有问题。

我也做了一些研究,发现我可以写-enable-write18,但是即使经过这次尝试,我仍然得到相同的 errmsg因此我再次陷入了绘图问题(虽然我发现了像 Gnuplot 这样强大的程序,但我不知道如何正确设置 LaTeX)。

附言:抱歉,删除了同名问题,该问题是由于一个简单的人为错误造成的。

答案1

由于我们能够确定编译生成了一个.pgf-plot.gnuplot文件,所以问题在于该文件未在 中编译gnuplot

我们现在有几个选择:

  1. gnuplot在文件上运行.pgf-plot.gnuplot以创建.table.tex文件,然后再次编译。
  2. --shell-escape我们可以修改TeXworks的调用,--tex-option=--shell-escape然后再次编译,但gnuplot这次无需运行。
  3. 提出的另一个选项texenthusiast是使用诸如 的程序Latexmk进行多次编译;但是,我仍然认为我们需要选项二的修改,这在 的留言板上--shell-escape进行了讨论TUGhttps://www.tug.org/pipermail/texworks/2011q2/004166.html

相关内容