乳胶文件:0.tex内容:
\documentclass{article}
\begin{document}
\begin{equation}
\frac{\partial p_{dyn}}{\partial n} = A
\end{equation}
\end{document}
外壳文件:0.sh内容:
latex /u/b/basnet/Desktop/0.tex
dvipng /u/b/basnet/Desktop/0.dvi
终端命令:
>chmod 755 /u/b/basnet/Desktop/0.sh
>/u/b/basnet/Desktop/0.sh
输出:
由乳胶生成的图像、dvi和其他文件。你可以在蓝色的窗口看到。
问题:
这只通过终端工作,而不是通过java程序执行命令。
Java程序代码:
Runtime.getRuntime().exec("chmod 755 /u/b/basnet/Desktop/0.sh");
Runtime.getRuntime().exec("/u/b/basnet/Desktop/0.sh");
System.out.println("Script executed successfully");
输出:
run:
Script executed successfully
BUILD SUCCESSFUL (total time: 0 seconds)
代码的第一行(即使文件可执行)在我交叉检查时运行良好。但是在通过java运行时,脚本文件包含latex命令的第二行不起作用。我需要通过我的程序生成这些文件。
最佳答案
我想这和环境有关,我对操作系统的东西不是很深入,但我想我有一个解决方案,可以在我的电脑上为你的例子工作:
您必须将程序名更改为完整路径,以便在shell文件中使用,因为java运行时找不到它们。例如:
/Library/TeX/texbin/latex /u/basnet/Desktop/0.tex
唯一出错的地方是,输出文件出现在tex文件所在的文件夹上方,这意味着您必须更改输出目标或dvi执行的行。
如果找不到程序的路径,请打开bash并键入
which latex
和
which diving
关于java - 无法从Java运行 latex 的终端命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31681266/