我可能发现了一个问题xelatex
。不幸的是,我不知道如何轻松地重现错误 256。我知道的是,它在运行迭代许多 TeX 文件的自动脚本时发生,而不是在我处理特定文件时发生。这个问题的可疑性质使我很难确定导致问题的条件。实际上,我对在这里解决这个问题不感兴趣。让我感到奇怪的是,我的脚本被设计为检测错误代码(如果返回代码不是 0,则识别该垃圾并告诉我)。
进程调用是
/usr/local/texlive/2016/bin/x86_64-linux/xelatex -interaction=nonstopmode -halt-on-error -file-line-error DVDCover.tex
当出现任何问题时,它都会返回并产生一个非零值——这将是正常 Unix 二进制文件的预期行为。
因此,比问题本身更可怕的是,xelatex
返回 0,好像一切都很好。日志中的最后几行内容如下:
Error 256 (driver return code) generating output;
file DVDCover.pdf may not be valid.
笔记
在 sourceforge 开具的票据https://sourceforge.net/p/xetex/bugs/140/
答案1
从未答复列表中获取此内容。
如果失败,则如果先调用然后调用,xdvipdfmx
则会收到错误代码 1(来自 xdvipdfmx)。xelatex --no-pdf
xdvipdfmx file.xdv
在“组合”编译中xelatex file
xetex
显然会检查 的退出代码xdvipdfmx
,毕竟它会向日志和终端添加一条消息。但目前,如果驱动程序存在 1,它不会更改其自身状态。
xetex 网站上已经讨论过这个问题:https://sourceforge.net/p/xetex/bugs/140/。此错误已解决,未来版本在驱动程序出现故障时将以状态 1 退出。