PSTricks 绘图无法与 XeLaTeX 配合使用

PSTricks 绘图无法与 XeLaTeX 配合使用

考虑以下(非最小)示例test.tex

\documentclass{article}

\usepackage{xfp}
\usepackage{multido}
\usepackage{pst-slpe}

% Atommodel.
\psset{dimen = m}
\newcommand*\bane[1]{%
  \rput{#1}(3.15,3.55){%
    \psellipse[
      linestyle = dashed,
      linewidth = \pslinewidth
    ](0,0)(3.55,1.05)}}
\def\elektron(#1,#2){%
  \rput(#1,#2){\psBall{white}{0.7ex}}
  \rput(#1,#2){\psBall{green!70!black}{0.5ex}}
  \rput(#1,#2){\tiny$-$}}
\def\proton#1#2{%
  \rput(\fpeval{3.15+#1*cosd(#2)},\fpeval{3.55+#1*sind(#2)}){\psBall{red}{2ex}}
  \rput(\fpeval{3.15+#1*cosd(#2)},\fpeval{3.55+#1*sind(#2)}){$+$}}
\def\neutron#1#2{%
  \rput(\fpeval{3.15+#1*cosd(#2)},\fpeval{3.55+#1*sind(#2)}){\psBall{blue}{2ex}}}

\begin{document}

\begin{figure}[htbp]
  \begin{pspicture}(6.3,7.1)
   % Elektronbaner.
   \bane{30}
   \elektron(5.07,5.48)
   \bane{90}
   \elektron(3.94,1.24)
   \bane{150}
   \elektron(0.75,4)
   % Kerne.
   \multido{\iA = 30+120, \iB = 90+120}{3}{%
     \neutron{0.5}{\iA}
     \proton{0.5}{\iB}}
   \neutron{0}{0}
   % Betegnelser.
  {\psset{linecolor = orange}
   \pscircle[
     linewidth = 1.5\pslinewidth
   ](3.15,3.55){0.95}
   \rput(1.3,6.5){%
     \shortstack[c]{%
       Atomkerne/\strut\\[-0.75ex]
       nukleon\strut}}
   \psline{->}(1.3,6)(2.5,4.2)}
   \rput(0.9,0.6){Elektron}
   \psline[linecolor = green!70!black]{->}(1.8,0.6)(3.8,1.2)
   \rput(5.5,0.6){Proton}
   \psline[linecolor = red]{->}(5.5,0.85)(3.65,3.25)
   \rput(5.5,6.5){Neutron}
   \psline[linecolor = blue]{->}(5.5,6.25)(3.6,3.8)
  \end{pspicture}
\end{figure}

\end{document}

latex test.tex当我使用--> dvips test.tex-->编译它时,p2pdf -dALLOWPSTRANSPARENCY test.ps一切都很好。但是,当我使用 编译它时,xelatex test.tex绘图被“破坏”。

我需要使用xelatex或类似的东西,可以与pdfpages包。我该如何解决这个问题?

更新

在 Ulrike 的帮助下,它现在开始为我工作了。

答案1

更新 2021-09-12

该错误已在 2021/09/10 v3.08 `PSTricks' 中得到解决。


带有 XeLaTeX 的 PSTricks 目前已损坏,但维护人员已经知道这一点。

另外,你可以尝试使用 LuaLaTeX实验 luapstrickshttps://github.com/zauguin/luapstricks。您举的例子对我来说很好用。

相关内容