1XETEX-UNSAFE(1) General Commands Manual XETEX-UNSAFE(1)
2
3
4
6 xetex-unsafe, xelatex-unsafe - run xe(la)latex unsafely
7
9 xetex-unsafe [xetex-options] xelatex-unsafe [xetex-options]
10
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
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
51 All command-line arguments except --help and --version are passed to
52 Xe(La)TeX.
53
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)