Mac OSX 上的 XeLatex 和 PStricks

Mac OSX 上的 XeLatex 和 PStricks

我刚刚尝试使用 TeXShop 中的 XeLaTeX 编译以下内容:

% !TEX TS-program = xelatexmk
% mwe.tex
\documentclass{scrartcl}
\usepackage{pstricks,pst-plot}
\begin{document}
%
\psframebox[framesep=0]{
\begin{pspicture}(-1,-0.5)(1.5,1)
 \psaxes[labels=none]{->}(0,0)(-1,-0.5)(1.5,1)
\end{pspicture}}
%
\end{document}

但最后我收到以下错误信息:

..
Current allocation mode is local
Last OS error: Permission denied
Current file position is 69
GPL Ghostscript 9.53.3: Unrecoverable error, exit code 1
)

并且 PDF 是空的。如果我XeLaTeX在终端中运行,也会发生同样的情况。我查了一下网络,找到了一些来自 2016 年或 2019 年的提示,但我都看不懂。

如果我这样做:latex mwe -> drips mwe我会得到一个 mwe.ps 文件。现在如果我在 Finder 中打开此文件,它将转换为带有预期图表的 mwe.pdf 文件。

XeLaTeX 提示符下显示:

This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021) (preloaded format=xelatex)

OS X:11.2.3 TeXShop:4.64

乌尔里希

答案1

Ghostscript 9.53.x 需要一些特殊的参数来处理该问题。您使用的是哪个前端?如果是较新的 TeXShop(4.64 是最新版本),请转到~/Library/TeXShop/Engines/Inactive/GhostscriptTransparencyEngines并阅读那里的示例文档以安装 latexTRmk 和 xelatexTRmk 引擎。然后使用 xelatexTRmk 引擎而不是 xelatexmk 引擎,文件应该可以正常编译。PS:您可以使用菜单项TeXShop->Open ~/Library/TeXShop开始。PPS:您需要重新启动 TeXShop,以便 TeXShop 能够看到新激活的引擎。

答案2

在文件中/...tex-distro.../dvipdfmx/dvipdfmx-unsafe.cfg,你只会找到重要的一行和一些文档说明如何使用此文件xe(La)tex。这一重要的行以以下内容开头:

D  "rungs -q -dALLOWPSTRANSPARENCY -dNOSAFER ...

在主配置文件dvipdfmx.cfg(在同一目录中)中,您将找到类似的行,您应该将其替换为上面的行。

Ghostscript 改变了其行为,默认情况下不允许透明度和不允许运行外部文件。这两者都是 PSTricks 文件的默认设置。

答案3

我对上述更改 dvipdfmx.cfg 的解决方案不满意,因为此文件应该由包管理器管理。但是,事实证明,您可以使用以下命令让 xelatex 使用dvipdfmx-unsafe.cfg-output-driver

xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" ...

这帮我解决了 pstricks 的问题。

答案4

我遇到了类似的问题。在终端中,Chris Down 建议的方法确实有效:我可以编译并生成我想要的 PDF。但它无法通过 TeXShop 工作:我编辑了 TeXShop 首选项,检查了路径并修改了 Engine>TeX+dvips+distiller,将

xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" 

但是当我通过 TeXShop 和 XeLaTeX 编辑器进行编译时,它一开始似乎工作正常(并且它生成完全相同的 .log 和 .aux),但它没有生成正确的 pdf,并且出现与 Ulrich 报告相同的错误(/invalidfaccess in --run-- 由 pstricks.pro 调用)。

我不明白在 TeXShop 偏好设置中要放些什么才能让它真正做与终端完全相同的事情,不多也不少……

谢谢,谨致问候,克里斯蒂安(这是给朋友的,我个人在我的 Mac 上使用 emacs 和终端)。

相关内容