【问题标题】:Unable to run terminal commands from Java for latex无法从 Java 为 Latex 运行终端命令
【发布时间】:2015-10-19 07:14:24
【问题描述】:

乳胶文件:0.tex 内容:

\documentclass{article}  
\begin{document}
\begin{equation}
\frac{\partial p_{dyn}}{\partial n} = A
\end{equation}  
\end{document}

Shell 文件: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

输出: latex 生成的图片、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)

代码的第一行,即在我交叉检查时使文件可执行工作正常。但是脚本文件包含 latex 命令的第二行在通过 Java 运行时不起作用。我需要通过我的程序生成这些文件。

【问题讨论】:

    标签: java linux shell terminal latex


    【解决方案1】:

    我想这与环境有关,我对所有这些操作系统的东西并不太深入,但我认为我有一个解决方案适用于我的电脑上的示例:

    您必须将程序的名称更改为在您的 shell 文件中使用的完整路径,因为 java 运行时找不到它们。例如:

    /Library/TeX/texbin/latex /u/basnet/Desktop/0.tex
    

    唯一出错的是,输出文件出现在 tex 文件所在的文件夹上方,这意味着您必须更改输出目标或 dvi 执行的行。

    如果找不到程序的路径,请打开 bash 并键入

    which latex
    

    which diving
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 2015-12-17
      • 2014-12-15
      相关资源
      最近更新 更多