背景
如果以下 PSTricks 图
% Circle.tex
\documentclass{article}
\usepackage{pstricks}
\pagestyle{empty}
\begin{document}
\pspicture(-1,-1)(1,1)
\rput(0,0){$E\not=mc^2$}
\pscircle*[linecolor=yellow,opacity=0.5]{1}
\endpspicture
\end{document}
编译MethodA.bat
如下,
rem MethodA.bat takes an input file name without extension
latex %1
dvips -D10000 %1 -E -o %1-temp.eps
epstool --copy --bbox %1-temp.eps %1.eps
我得到了一个巨大的 EPS 输出,其中附加了原始的 PSTricks 库。
在如何删除 dvips 生成的 EPS 文件中的 PSTricks 字典或库代码?,我问了这个问题,Herbert 建议我提前用 GhostScript 重新处理生成的 EPS。我尝试用MethodB.bat
而不是 ,MethodA.bat
如下所示。
rem MethodB.bat takes an input file name without extension
latex %1
dvips -D10000 %1 -E -o %1-temp.eps
gswin32c -r10000 -dNOCACHE -dPDFSETTINGS=/prepress -dNOPAUSE -dBATCH -sDEVICE=epswrite -sOutputFile=%1.eps %1-temp.eps
问题与疑问
我从以下主输入文件中导入生成的 EPS 图像,
% Main.tex
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{Circle}
\end{document}
编译Batch.bat
如下,
rem Batch.bat takes an input file name without extension.
latex -interaction=nonstopmode %1
latex -interaction=nonstopmode %1
dvips -D10000 -t unknown %1
ps2pdf -r10000 -dCompatibilityLevel#1.5 -dAutoRotatePages#/None -dPDFSETTINGS#/prepress %1.ps
生成的 EPSMethodA.bat
保留了透明度,但生成的 EPSMethodB.bat
不保留。因此,调用 GhostScriptMethodB.bat
是问题的根源,GhostScript 似乎无法处理透明度。如何修复它?
答案1
第 2 级的 PostScript 不了解任何类型的透明度,这就是为什么 ghostscript 仅在使用 pdfwrite 设备时才使用其自己的命令的原因。