1

Since updating to MacTeX 2021 my pstricks files don't compile anymore. I've been searching for the solution but the ones suggested don't seem to work (e. g. using xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" in TeXShop).

For example, MWE from A ruler symbol in 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}

gives the error

Dictionary stack: --dict:756/1123(ro)(G)-- --dict:0/20(G)--
--dict:75/200(L)-- 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 Error: /invalidfileaccess in --run-- Operand stack:
(/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro) (r) Execution stack: %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 Dictionary stack: --dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 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 Error: /invalidfileaccess in --run-- Operand stack: (/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro) (r) Execution stack: %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 Dictionary stack: --dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 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 Error: /invalidfileaccess in --run-- Operand stack: (/usr/local/texlive/2021/texmf-dist/dvips/pstricks/pstricks.pro) (r) Execution stack: %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 Dictionary stack: --dict:756/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)-- 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 ) Output written on testint2021.pdf (1 page). SyncTeX written on testint2021.synctex.gz. Transcript written on testint2021.log.

All packages are up to date.

Any help would be greatly appreciated.

7
  • Have you updated your MacTeX 2021 since then?
    – daleif
    Commented Oct 11, 2021 at 9:50
  • The issue started when I updated to MacTeX 2021. In 2020 they worked.
    – kariuolevi
    Commented Oct 11, 2021 at 12:38
  • That is not what I asked. MacTeX 2021 needs to be updated, have you updated it?
    – daleif
    Commented Oct 11, 2021 at 12:52
  • Yes, I have updated all packages with TeXLive.
    – kariuolevi
    Commented Oct 11, 2021 at 14:49
  • 1
    using lualatex instead of xelatex is much more easier
    – user187802
    Commented Oct 15, 2021 at 11:46

1 Answer 1

1

I think the problem is now solved. I was able to modify the textindy.engine part at Adding a new engine in TeXShop and do the following:

I saved the text below as ~/Library/TeXShop/Engines/XeLaTeXNew.engine on my Mac

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

Then, in the terminal, I run the command

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

to set the executable bit on the file.

Finally, I restarted TexShop, and everything runs fine again.

I would like to thank everybody who helped to solve the problem, but especially Herbert Voss for giving the advice of using xelatex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" to fix the original issue.

3
  • Welcome to TeX.SE!
    – Mensch
    Commented Oct 12, 2021 at 11:01
  • Hope you should say special thanks to Herbert Voss who is the main person of PsTricks
    – MadyYuvi
    Commented Oct 12, 2021 at 15:00
  • It is also possible to copy the file /.../texlive/2023/texmf-dist/dvipdfmx/dvipdfmx.cfg. into a local directory /.../texlive/texmf-local/dvipdfmx/ and then replace the only valid line from dvipdfmx-unsafe.cfg into the local dvipdfmx.cfg. Then you can use xetex as usual and no changes to the editor are needed.
    – user187802
    Commented Nov 2, 2023 at 7:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .