说我疯狂吧,但是我用 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 reading
,arara.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"
表明系统调用正是您所需要的。