为什么 TeXnicCenter 会因最小的错误而与​​ arara 发生故障?

为什么 TeXnicCenter 会因最小的错误而与​​ arara 发生故障?

在以下 MWE 中,我在 前面加了一个空格tikzpicture。当使用 LuaLaTeX 运行它时,我收到 18 个错误(这实际上不是问题的一部分,但为什么这如此敏感,根本不重要,而且有如此糟糕的错误消息???)。当使用 运行它时arara,我得到了该过程的完整细分。我必须在 Windows 任务管理器中停止这两个(为什么是两个?)lualatex.exe进程。

这真的很烦人。TeXnicCenterarara或 LuaLaTeX 中是否存在问题?

% arara: lualatex: { shell: yes }

\documentclass[convert]{standalone}
\usepackage{tikz}

\begin{document}

\begin{ tikzpicture}    
    \draw (0,0) -- (1,1);
\end{tikzpicture}

\end{document}

编辑当我停止第一个 lualatex.exe 的进程时,构建过程继续向我显示一个实际错误。然后它开始运行并像以前一样停止。当停止第二个进程时,arara写入? FAILURE和 TeXnicCenterBuilding process canceled by user.

答案1

遗憾的是,处理流程并不是一件简单的任务。

从终端arara打印编译状态并按预期结束。当从编辑器调用时,我相信这取决于每个开发人员如何处理进程输入/输出。从 TeXworks 来看,即使需要用户交互,一切似乎都很顺利。我曾经在尝试重新运行时遇到 TeXnicCenter 问题pdflatex:最后一个进程调用不知何故卡住了,文件被锁定了。让我的文件“释放”的唯一方法是通过任务管理器终止有问题的进程,这样一切又开始正常工作了。

TeXnicCenter 过去曾给我带来过一些麻烦,所以我仍然认为我对此无能为力arara。话虽如此,值得一提的是,Windows 的行为与 Unix 截然不同。

arara是一个 Java 程序。对 的任何调用arara都将重定向到对 的调用java -jar arara.jar,并且 Java 虚拟机将负责执行。在 Unix 中,我们将其作为 shell 脚本(感谢 Karl 的建议),而在 Windows 中,它是一个.exe;实际上,两者都是.jar本身的包装器。也许,或许TeXnicCenter 与解析对 JVM 的调用感到困惑.exe。我可以提供以下建议:

C:\Program Files\arara\arara.exe尝试用 直接调用 JVM替换 TeXnicCenter 中的调用java -jar "C:\Program Files\arara\arara.jar",当然后面还要加上编辑器参数。至少现在我们“跳过”了从包装器到 VM 调用的一个扩展。但这只是一个想法,我身边没有 Windows 机器可以测试它。:(

抱歉,答案不够精确,但遗憾的是,解决方案(如果有的话)属于未知领域。正如我之前提到的,从物质中调用物质是非常棘手的,而且大多数时候,我们只是从现象观察中得到这个想法。:(

我正在开发一个新版本。我会看看在处理进程时可以做些什么。这也是我设置 Windows VM 的提示。至少我会把 Windows 放在笼子里,这是它应该在的地方。:)

相关内容