如何让 \psframe 与 LuaLatex 一起工作?

如何让 \psframe 与 LuaLatex 一起工作?

当我尝试在 Overlef 中编译下面的代码时,如果我设置LuaLaTeX为 ,则会出现错误LaTeX Engine,但如果我设置为 ,则不会出现错误Choose Automatically

\documentclass[a4paper,10pt]{book}

\usepackage{pst-electricfield,multido} % campos elétricos

\begin{document}

\begin{pspicture*}(-6,-6)(6,6)
 \psframe*[linecolor=lightgray!50](-6,-6)(6,6)
 \psgrid[subgriddiv=0,gridcolor=gray,griddots=10]
 \psElectricfield[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 -2]},linecolor=red]
 \psEquipotential[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 -2]},linecolor=blue](-6.1,-6.1)(6.1,6.1)
 \psEquipotential[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 -2]}, linecolor=green, linewidth=2\pslinewidth, Vmax=0, Vmin=0](-6.1,-6.1)(6.1,6.1)
\end{pspicture*}

\end{document}

这是我收到的错误:

./main.tex:8: Undefined control sequence.
<recently read> \c@lor@to@ps          
l.8  \psframe*[linecolor=lightgray!50](-6,-6)(6,6)
Here is how much of LuaTeX's memory you used:  8148 strings out of 494688 ...

答案1

运行lualatex --shell-escape <file>

\documentclass[a4paper,10pt]{book}
\usepackage{auto-pst-pdf}
\ifpdf\else
  \usepackage{pst-electricfield}
\fi
\begin{document}

\begin{pspicture*}(-6,-6)(6,6)
    \psframe*[linecolor=lightgray!50](-6,-6)(6,6)
    \psgrid[subgriddiv=0,gridcolor=gray,griddots=10]
    \psElectricfield[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 -2]},linecolor=red]
    \psEquipotential[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 
    -2]},linecolor=blue](-6.1,-6.1)(6.1,6.1)
    \psEquipotential[Q={[-1 -2 2][1 2 2][-1 2 -2][1 -2 -2]}, linecolor=green, 
    linewidth=2\pslinewidth, Vmax=0, Vmin=0](-6.1,-6.1)(6.1,6.1)
\end{pspicture*}

\end{document}

在此处输入图片描述

相关内容