我尝试通过 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-1
、AUCTeX 11.91.0
(使用 Emacs 中集成的 Emacs 包管理器安装)ghostscript 9.22-1
和TeX Live 2017
(我从 Arch Linux 存储库安装了texlive-most
和texlive-lang
)。我刚刚进行了全面升级,所以我很确定它是最新版本。 - 这里有一些类似的问题:
AucTeX 无法在 Mac OS X 上生成预览,为什么 preview-latex 不显示某些方程式?,AUCTEX 不会创建 dsc 文件。但是,所有答案都是关于更新到最新版本的
AUCTeX
或Ghostscript
。我也更改Preview GS options
为emacs auctex 中的 preview-latex:空框?,但是它不起作用。 - 我重新安装了
Ghostscript
、、Emacs
和(从 Arch Linux 存储库和 ISO 文件),但没有成功AUCTeX
。Tex Live
重要的提示:根据这个页,扩展已从版本.runandhide
中删除,因此我将其降级为版本(从ghostscript
9.22
9.21-3
https://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,它应该可以再次工作。
很好,如果没有你这个问题的话,这个问题就无法解决。