偶尔在运行时xelatex
(在 Linux Mint 19.2 上使用 TeX Live 2018),遇到以下错误信息:
(/usr/local/texlive/2018/texmf-dist/tex/latex/microtype/mt-cmr.cfg))
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/se-ascii-print.def) [1
! I can't write on file `xxx.pdf'.
(Press Enter to retry, or Control-D to exit; default file extension is `.pdf')
Please type another file name for output:
昨天晚上我就遇到了这种情况,我花了一个小时的时间试图找出导致这种行为的原因。
我有一个打开了 PDF 的文档查看器,所以很自然地,这可能会阻止对文件的访问,因此我关闭了该程序,但无济于事(我正在使用 Evince,它大多数时候都很好,在文档更新时会自动重新加载,但偶尔也会无缘无故地变得无响应)。
然后,我尝试从目标文件夹中删除所有临时文件和 PDF;就我而言,这包括所有匹配*.aux
、*.fls
、*.log
、*.out
和 的文件*.pdf
;但这没有明显的效果。
我还尝试写入另一个目标:
(Press Enter to retry, or Control-D to exit; default file extension is `.pdf')
Please type another file name for output: /tmp/x.pdf
! I can't write on file `/tmp/x.pdf'.
(Press Enter to retry, or Control-D to exit; default file extension is `.pdf')
这并没有激发出喜悦。
在我不断努力解决这个问题的过程中,我大约可以在两三次运行中生成一个 PDF;我无法使行为可预测 - 它不是查看器,也不是目录中现有的任何文件,所有加载的包始终是完全相同的。
是否有任何经验表明无法写入目标或任何其他文件的可能原因?如果特定目标已被阻止,那么在现有目录中输入不存在的文件名肯定/tmp
应该总是可以工作,对吧?感觉就像 TeX 的“文件写入机制”中有一个垫圈在齿轮中跳动,有时会导致它停止运行。
我要说的是,这项工作是在一台最近推出但性能不佳的上网本上进行的,换句话说,内存不足可能是根本问题,而无法写入只是可见的副作用。也许有人可以证实或反驳这一点;我个人当然更希望任何软件因内存不足错误而失败,因为这确实是问题所在。
答案1
看来,造成这种错误的问题有多种多样的根源。
您可以在下面找到一些讨论与您的问题类似的问题的帖子的链接:
我希望你能使用它们。