在以下 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 放在笼子里,这是它应该在的地方。:)