-shell-escape for gnuplot:当我以编程方式启动 pdflatex 时它不起作用

-shell-escape for gnuplot:当我以编程方式启动 pdflatex 时它不起作用

形势和问题

当我pdflatex从另一个程序启动时,以编程方式看来,即使选择了-shell-escape,我似乎也无法启动gnuplot

我曾向专家咨询过我的程序环境(我应该如何pdflatex以正确的方式通过编程启动?),看来我必须向社区寻求一些建议LaTeX。这个问题也可以在 stackoverflow 上提出,但似乎解决方案更有可能来自知道/了解如何gnuplot通过 启动的人pdflatex

问题

  • pdflatex 是否有一个命令行选项可以告诉它在哪里找到 gnuplot?
  • 您知道发生了什么吗?这是问题$PATH还是类似问题?
  • 你知道我该如何解决这个问题吗?

来自 pdflatex 的日志

以下是部分日志来自pdflatex在此处输入图片描述 在此处输入图片描述

从我的程序登录

我的程序还打印以下消息

sh:gnuplot:未找到命令

更多细节

我的编程环境是cocoa,下面是我启动的方式pdflatex

NSTask * myTask ;

myTask = [[NSTask alloc] init];

NSArray * arguments = @[@"-shell-escape",
                        nameLatexFile] ;

[myTask setCurrentDirectoryPath:[URLOfTheFolder path]];
[myTask setLaunchPath:@"/usr/texbin/pdflatex"];
[myTask setArguments:arguments];

[myTask launch];

编辑、回复评论

  • $ gnuplot -V给出gnuplot 4.6 patchlevel 5

答案1

当您从 启动二进制文件时NSTask,它并不像从终端启动一样。因此,没有环境变量。

因此,解决方案是明确地给予NSTask环境。

使用方法-setEnvironment:NSTask

相关内容