1XETEX-UNSAFE(1)             General Commands Manual            XETEX-UNSAFE(1)
2
3
4

NAME

6       xetex-unsafe, xelatex-unsafe - run xe(la)latex unsafely
7

SYNOPSIS

9       xetex-unsafe [xetex-options] xelatex-unsafe [xetex-options]
10

DESCRIPTION

12       xetex-unsafe  (xelatex-unsafe)  runs XeTeX (XeLaTeX) unsafely; specifi‐
13       cally, using the dvipdfmx-unsafe.cfg configuration file.
14
15       As of TeX Live 2022, doing this is necessary only when running XeTeX on
16       documents  using  PSTricks  features  which  require  transparency.  We
17       strongly recommend using Lua(La)TeX with PSTricks instead of  XeTeX  in
18       this case.
19
20       At  all  costs,  avoid using this, or any, unsafe invocation with docu‐
21       ments off the net or that are otherwise untrusted in any way.
22

WHY?

24       You might well ask why using transparency features is unsafe in  XeTeX.
25       The  answer lies in the implementation history of Ghostscript, starting
26       as a PostScript interpreter before PDF was invented, when  it  was  ac‐
27       ceptable  to  abort  on an error, whereas with PDF, it must keep going.
28       The transparency operators, if abused in relation to this error  recov‐
29       ery, can cause internal inconsistencies in Ghostscript's state.
30
31       Thus, to be safe, we must disallow transparency with Ghostscript by de‐
32       fault. The xdvipdfmx backend for XeTeX calls Ghostscript under  certain
33       circumstances,  notably when using PSTricks.  (x)dvipdfmx itself is not
34       a PostScript interpreter, which is exactly what PSTricks requires.
35
36       Thus, to enable transparency, xe(la)tex-unsafe run XeTeX with arguments
37       to  the  xdvipdfmx  backend  (-output-driver="xdvipdfmx -i dvipdfmx-un‐
38       safe.cfg -q -E") to use dvipdfmx-unsafe.cfg, which in turn tells Ghost‐
39       script  to  enable  the transparency operators (-dALLOWPSTRANSPARENCY).
40       They're disabled by default.
41
42       There have been further  complications  related  to  reading  from  the
43       filesystem,  but  as  of TL22, these have been solved. The transparency
44       issue cannot be solved without a different Ghostscript  implementation,
45       and the Ghostscript developers say they have no timeline for this.
46
47       To  repeat the above: when using PSTricks and transparency, we strongly
48       recommend playing it safe and using Lua(La)TeX instead of Xe(La)TeX.
49

OPTIONS

51       All command-line arguments except --help and --version  are  passed  to
52       Xe(La)TeX.
53

BUGS

55       For more about XeTeX: https://tug.org/xetex
56
57       For more about PSTricks: https://tug.org/PSTricks
58
59       Email for xe(la)tex-unsafe specifically: https://lists.tug.org/dvipdfmx
60
61
62
63                               20 November 2021                XETEX-UNSAFE(1)
Impressum