如何将 gs 选项传递给 simpdftex?

如何将 gs 选项传递给 simpdftex?

说我疯狂吧,但是我用 postscript 写了我自己的图形,我的图形文件需要访问文件系统(因为我有一些文件,里面全是图形文件使用的例程)。

由于 postscript 可能存在安全隐患,ghostscript 默认禁止访问文件系统,因此我的文件无法在 ghostscript 中处理(因此也无法在 ps2pdf 中处理)。没问题,gs 和 p2spdf 有一个 -dNOSAFER 选项,因此

ps2pdf-dNOSAFER 图.ps

有效。我在 TeXShop 中编写 .tex,它使用 simpdftex 来执行 latex、dvips、ps2pdf。所以我需要弄清楚如何将 -dNOSAFER 通过 simpdftex 传递给 ps2pdf。我尝试过一些简单的事情,比如传递选项

--distiller“ps2pdf13 -dNOSAFER”

simpdftex 似乎不起作用。

谢谢,

弥敦道

PS 为了避免您将时间浪费在没有帮助的答案上,我知道包 epstopdf 可以在我运行 pdflatex 时自动在每个图形文件上运行 ps2pdf,并且几乎在所有情况下都能很好地工作,但有时我真的需要以 pdftex/epstopdf 无法处理的方式处理 .ps。

答案1

您应该尝试arara而不是simpdftex。这里有一个例子(文件reading.tex,其中polarcircle.eps是我的测试目录中的 EPS 文件):

% !TEX TS-program = Arara
% arara: latex
% arara: dvips
% arara: ps2pdf: { options: '-dCompatibilityLevel=1.3 -dNOSAFER' }

\documentclass{article}

\usepackage{graphicx}

\begin{document}

Some text

\includegraphics[width=4cm]{polarcircle.eps}

\end{document}

您可能需要启用 TeXShop引擎arara,就像任何其他引擎一样。请参阅如何在 TeXShop 中使用 arara启用引擎。启用后,只需按 Command-T,系统arara就会根据该!TEX TS-program行运行。

按 Command-T 或运行

arara -v reading 

从终端并pdfinfo reading.pdf显示以下信息:

Title:          reading.dvi
Creator:        dvips(k) 5.995 Copyright 2015 Radical Eye Software
Producer:       GPL Ghostscript 9.16
CreationDate:   Fri Aug 21 22:40:31 2015
ModDate:        Fri Aug 21 22:40:31 2015
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      8348 bytes
Optimized:      no
PDF version:    1.3

如果使用 调用arara --log -v readingarara.log则会创建一个文件,其中包含以下行:

21 Aug 2015 22:40:31.189 TRACE CommandTrigger - Command: latex      "reading.tex"

21 Aug 2015 22:40:31.406 TRACE CommandTrigger - Command: dvips "reading.dvi" -o "reading.ps" 

21 Aug 2015 22:40:31.615 TRACE CommandTrigger - Command: ps2pdf -dCompatibilityLevel=1.3 -dNOSAFER "reading.ps" "reading.pdf"

表明系统调用正是您所需要的。

相关内容