形势和问题
当我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
。