PSTricks 和 XeLateX 问题

PSTricks 和 XeLateX 问题

自从更新到 MacTeX 2021 后,我的 pstricks 文件就无法再编译了。我一直在寻找解决方案,但建议的解决方案似乎不起作用(例如在 TeXShop 中使用 xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E")。

例如,来自LaTeX 中的标尺符号

\documentclass[pstricks,margin=1mm]{standalone}

\begin{document}
\begin{pspicture}(-.2,1.5)(10.2,3)
    \psframe[linecolor=lightgray](-.2,1.5)(10.2,3)
    \multips(0,3)(0.1,0){101}{\psline(0,-.1)}
    \multips(0,3)(0.5,0){21}{\psline(0,-.2)}
    \foreach \x in {0,...,10}{\rput(\x,3){\psline(0,-.3)}\uput{4mm}[-90](\x,3){\scriptsize$\x$}}
    \rput[r](10,1.8){\scriptsize Made in Japan}
\end{pspicture}
\end{document}

给出错误

字典堆栈:--dict:756/1123(ro)(G)-- --dict:0/20(G)--
--dict:75/200(L)-- 当前分配模式为本地 上一个操作系统错误:权限被拒绝 当前文件位置为 69 GPL Ghostscript 9.53.3:无法恢复的错误,退出代码 1 错误:/invalidfileaccess in --run-- 操作数堆栈:
(/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro)(r)执行堆栈:%interp_exit .runexec2 --nostringval-- run
--nostringval-- 2 %stopped_push --nostringval-- run run false 1 %stopped_push 1974 1 3 %oparray_pop 1973 1 3 %oparray_pop 1961 1 3 %oparray_pop 1817 1 3
%oparray_pop --nostringval-- %errorexec_pop .runexec2
--nostringval-- run --nostringval-- 2 %stopped_push --nostringval-- 1974 1 3 %oparray_pop run 字典堆栈:--dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 当前分配模式为本地 最后一个操作系统错误:权限被拒绝 当前文件位置为 69 GPL Ghostscript 9.53.3:无法恢复的错误,退出代码 1 错误:--run-- 中的 /invalidfileaccess 操作数堆栈:(/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro)(r) 执行堆栈:%interp_exit .runexec2 --nostringval-- run
--nostringval-- 2 %stopped_push --nostringval-- run run false 1 %stopped_push 1974 1 3 %oparray_pop 1973 1 3 %oparray_pop 1961 1 3 %oparray_pop 1817 1 3
%oparray_pop --nostringval-- %errorexec_pop .runexec2
--nostringval-- run --nostringval-- 2 %stopped_push --nostringval-- 1974 1 3 %oparray_pop run 字典堆栈:--dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 当前分配模式为本地 上一个操作系统错误:权限被拒绝 当前文件位置为 69 GPL Ghostscript 9.53.3:无法恢复的错误,退出代码 1 错误:/invalidfileaccess in --run-- 操作数堆栈:(/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro)(r)执行堆栈:%interp_exit .runexec2 --nostringval-- run
--nostringval-- 2 %stopped_push --nostringval-- run run false 1 %stopped_push 1974 1 3 %oparray_pop 1973 1 3 %oparray_pop 1961 1 3 %oparray_pop 1817 1 3
%oparray_pop --nostringval-- %errorexec_pop .runexec2
--nostringval-- run --nostringval-- 2 %stopped_push --nostringval-- 1974 1 3 %oparray_pop 运行 字典堆栈: --dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 当前分配模式为本地 最后一个操作系统错误:权限被拒绝 当前文件位置为 69 GPL Ghostscript 9.53.3:无法恢复的错误,退出代码 1) 输出写在 testint2021.pdf (1 页) 上。 SyncTeX 写在 testint2021.synctex.gz 上。 成绩单写在 testint2021.log 上。

所有软件包都是最新的。

任何帮助将不胜感激。

答案1

我认为问题现在已经解决了。我能够修改 textindy.engine 部分在 TeXShop 中添加新引擎并执行以下操作:

我将以下文本保存为 Mac 上的 ~/Library/TeXShop/Engines/XeLaTeXNew.engine

#!/bin/bash PATH=/Library/TeX/texbin:/usr/local/bin:${PATH} bfname=${1%.*} xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" "$bfname"

然后,在终端中运行命令

sudo chmod +x ~/Library/TeXShop/Engines/XeLaTeXNew.engine

设置文件的可执行位。

最后,我重新启动了 TexShop,一切又正常运行。

我要感谢所有帮助解决问题的人,特别是 Herbert Voss,他建议使用 xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" 来解决原始问题。

相关内容