无法通过 AUCTeX 生成预览

无法通过 AUCTeX 生成预览

我尝试通过 AUCTeX(在 Emacs GUI 上)生成预览,但它显示

在此处输入图片描述

我点击红色标志,选择View error并获取

/usr/bin/rungs -dOutputFile\=\(_region_.prv/tmp5971SJc/pr1-5.png\) -q 
-dDELAYSAFER -dNOPAUSE -DNOPLATFONTS -dPrinted -dTextAlphaBits\=4 -
dGraphicsAlphaBits\=4 -sDEVICE\=png16m -r118.561x117.723
GS>{<</PermitFileReading[(_region_.pdf)
(_region_.prv/tmp5971SJc/preview.dsc)]>> setuserparams .locksafe} 
stopped pop {DELAYSAFER{.setsafe}if}stopped pop/.preview-BP 
currentpagedevice/BeginPage get dup null eq{pop{pop}bind}if 
def<</BeginPage{currentpagedevice/PageSize get dup 0 get 1 ne exch 1 
get 1 ne or{.preview-BP 0.98439 0.98439 0.98439 setrgbcolor clippath 
fill 0.191409 0.210941 0.230472 setrgbcolor}
{pop}ifelse}bind/PageSize[1 1]>>setpagedevice/preview-do{[count 3 roll 
save]3 1 roll dup length 0 eq{pop}{setpagedevice}{ifelse 
.runandhide}stopped{handleerror quit}if aload pop restore}bind def 
/GS_PDF_ProcSet GS_PDF_ProcSet dup maxlength dict copy dup 
begin/graphicsbeginpage{//graphicsbeginpage exec 0.191409 0.210941 
0.230472 3 copy rg RG}bind store end readonly store 
[(_region_.prv/tmp5971SJc/preview.dsc)(r)file]aload exch dup 0 
setfileposition 596()/SubFileDecode filter cvx .runandhide aload pop 
dup dup 596 setfileposition 53()/SubFileDecode filter cvx<<>>preview-
do
Error: /typecheck in --setfileposition--
Operand stack:
   --nostringval--   --nostringval--   --nostringval--   --
nostringval--   755   755   755   702   702   702   649   649   649   
596
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --
nostringval--   2   %stopped_push   --nostringval--   --nostringval--   
%loop_continue   --nostringval--   --nostringval--   false   1   
%stopped_push   .runexec2   --nostringval--   --nostringval--   --
nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:991/1684(ro)(G)--   --dict:0/20(G)--   --dict:80/200(L)--
Current allocation mode is local
Current file position is 28
GS<14>

有人能告诉我问题出在哪里吗?

以下信息或许能有所帮助:

  • preview.dsc文件夹中有一个名为的文件_region_.prv/tmp5971SJc/。我打开此文件(由 Okular 制作),只看到空白页。但是,当我关闭 tex 文件时,该文件就消失了。
  • 我可以用来C-c C-a导出 pdf 文件,而且它运行完美。
  • 我使用Emacs 25.3-1AUCTeX 11.91.0(使用 Emacs 中集成的 Emacs 包管理器安装)ghostscript 9.22-1TeX Live 2017(我从 Arch Linux 存储库安装了texlive-mosttexlive-lang)。我刚刚进行了全面升级,所以我很确定它是最新版本。
  • 这里有一些类似的问题: AucTeX 无法在 Mac OS X 上生成预览为什么 preview-latex 不显示某些方程式?AUCTEX 不会创建 dsc 文件。但是,所有答案都是关于更新到最新版本的AUCTeXGhostscript。我也更改Preview GS optionsemacs auctex 中的 preview-latex:空框?,但是它不起作用。
  • 我重新安装了Ghostscript、、Emacs和(从 Arch Linux 存储库和 ISO 文件),但没有成功AUCTeXTex Live

重要的提示:根据这个,扩展已从版本.runandhide中删除,因此我将其降级为版本(从ghostscript9.229.21-3https://archive.archlinux.org/packages/g/ghostscript/),现在预览又可以正常工作了。这肯定不是最佳解决方案,但我希望它能有所帮助。

答案1

版主,请不要删除这个答案,我知道我应该评论而不是回答,但我不能评论,因为我的声誉不够。我的 Stack Overflow 声誉不会延续到这里。

我们正在尝试联系维护此软件包的人以解决该问题。这里有一份 Ghostscript 的未解决错误报告:

https://bugs.ghostscript.com/show_bug.cgi?id=698680

我们不想重新放回 DELAYSAFER 和 .runandhide,因为坦率地说,它们是一个巨大的安全漏洞。如果您认识维护此代码的人,并且可以解释为什么需要这个非标准 PostScript,或者能够对包进行更改以便不再需要此代码,请让他们与我们联系。

答案2

除了提交给 ghostscript 的错误报告外,David Kastrup 还提交了使固定到 AUCTeX,在不久的将来您应该能够更新 AUCTeX,它应该可以再次工作。

很好,如果没有你这个问题的话,这个问题就无法解决。

相关内容