apache-commons-execを使用してJavaプログラムからmathtextを実行しようとしています。問題は、Javaプログラムから同じコマンドを実行した場合と、シェルを介して実行した場合で、異なる出力が得られることです。したがって、シェルで次のようにmathtextを実行すると、次のようになります。
./mathtext test.png "\$\frac{{\left( {{p^2} - {q^2}} \right)}}{2}\$"
シェルでは完璧なpngが得られますが、apache-commons-execを使用して同じことを実行すると
Map map = new HashMap();
map.put("target", new File(trgtFileName));
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
Executor exec = new DefaultExecutor();
exec.setWorkingDirectory(/*I set the working directory where the mathtext is*/);
CommandLine cl = new CommandLine("./mathtext");
cl.addArgument("${target}");
cl.addArgument(latex);
cl.setSubstitutionMap(map);
// Logger.log4j.info("command is:::"+cl.toString());
ExecuteWatchdog watchdog = new ExecuteWatchdog(5000);
exec.setWatchdog(watchdog);
exec.execute(cl,EnvironmentUtils.getProcEnvironment(),resultHandler);
resultHandler.waitFor();
方程式ではなく、生のTeX文字列の画像を取得します:(
誰かが問題を解決するのを手伝ってくれませんか?正確な出力を取得したい。ありがとう。