我正在使用 TeX Live 2019(在 Overleaf 中),并且有以下代码:
\documentclass[pstricks,border=2mm]{standalone}
\begin{pspicture}(-2.5,-0.5)(2.5,4.5)
\pspolygon[fillstyle=solid,fillcolor=teal](2,1)(-2,1)(0,4)
\pspolygon[fillstyle=solid,fillcolor=magenta,opacity=0.5](2,3)(-2,3)(0,0)
\end{pspicture}
但我得到了(LaTeX 编译器)
通过使用 Tex Live 2017,我获得了正确的结果:
这可能是什么问题?我该如何解决?
答案1
这里是来自 Overleaf Support 的汤姆。
您应该能够通过latexmkrc
在项目的顶级文件夹中添加一个新文件(不带任何文件扩展名)并在其中添加以下行来允许透明度:
$dvipdf = "dvipdf -dNOSAFER -dALLOWPSTRANSPARENCY %O %S %D";
注意当你在本地机器上运行代码时,你不应该包含这些选项,因为它们被视为安全威胁。在 Overleaf 中,我们在隔离的 Docker 容器中运行编译,因此不存在任何问题。
截至 2019 年,这在 Overleaf 中的所有 TeX Live 图像中都是必需的。这将默认在我们的 TeX Live 2020 图像中可用,从而无需额外的技巧即可实现 PSTricks 透明度。