我在CTeX中画图的时候,习惯用Geogebra先画好,然后生成pstricks或PGFTikz代码:
这样不用插入eps或pdf之类的图片,也是一种偷懒的方法。以前往arXiv.org上面传论文也是这样:代码出图,就不用另外上传一幅eps或pdf格式图片了,比较省事。
但pstricks或pgftikz中绘图,居然使用了ghostscript提供的转换为PDF的支持。我从网络搜索发现,在ghostscript 9.27版本及以前,默认的设置“透明效果”是打开的,而这个版本及以后,默认是关闭了透明颜色效果的。——这就导致CTeX 最新版、TeXLive最新版、arXiv.org上的TeXLive等,使用ps2pdf等功能,绘制pstricks pstricks-add pgftikz之类的带有透明效果的图片时,会产生非透明的、完全遮盖的效果,非常之丑、让人猝不及防。
多年以前,我是用CTeX 2.4.6,用geogebra,以及2015年之前用arXiv.org的时候,渲染出来到pdf文件中最终的pstricks图片,都跟geogebra导出之前看到的是类似的(差不多所见即所得),就好比我吃着火锅唱着歌,而且更新到理论上应该更好用的CTeX 3.0+,TeXLive 2024+, 2024年之后用arXiv.org,一样的代码再上传,透明渲染效果的图片一下子就变不透明了、而且很丑,这让人非常震惊、火锅也瞬间不香了:
于是拼命搜索,终于从网络上找到答案和原因。
我于是在ps2pdf.exe步骤,用命令行方式这样操作:
ps2pdf -dALLOWPSTRANSPARENCY -dNOSAFER filename.ps
也就是增加了两个非默认的选项(单独用其中任何一个选项居然都是行不通的)
-dALLOWPSTRANSPARENCY -dNOSAFER
这样就能够从ps文件、通过ps2pdf转换得到想要的pdf文件,即最终pdf文件中得到的pstricks,pstricks-add, pgftikz之类宏包绘制的图片,透明或半透明效果是打开了的:
这两个选项应该还可以直接集成到ps2pdf对应的菜单命令或按钮上去(具体怎么操作的我没有去研究,只知道是可行的,应该设置中或需要执行的脚本文件中修改默认调用的选项,把两个选项加进去;我更喜欢直接命令行里操作)。这样对本地的CTeX或TeXlive问题是解决了。
对在线的arXiv.org来说,是需要在上传的文件中用类似的方式,在TeX源文件头部之前,增加开关选项。可以阅读arXiv.org对应的文档,了解其操作、上传并使用(我也还没有具体尝试,但应该是可行的!! 修改一个特殊的文件00README.XXX可以调整arXiv.org所用命令的默认选项?以及,其它修改distiller选项的方法,——如果尝试之后发现不行,可以找arXiv.org的技术支持)