PSTricks 和颜色不能在 Plain TeX 中一起使用吗?

PSTricks 和颜色不能在 Plain TeX 中一起使用吗?
% Plain LuaTeX
\input luaotfload.sty
\input pstricks
\input pst-circ
\input color% destroys everything

\pspicture(-1, 0)(3.5, 4.5)
\circledipole[labeloffset = 0](0, 3)(3, 3){V}
\coil[dipolestyle=curved](0, 1)(3, 1){}
\wire(0, 1)(0, 3)
\wire(3, 1)(3, 3)
\endpspicture

\bye

当我使用 Plain LuaTeX 编译此 MWE 时,\input color会破坏\pspicture。当我color在 之前加载 时pstricks,它就会崩溃。

如何在 Plain TeX 中使用这两个包?为什么它们会互相干扰?

编辑:与 Plain XeTeX 的结果相同。

答案1

这有效:

% Plain LuaTeX
\input luaotfload.sty
%\input pstricks
\input pst-circ

\newrgbcolor{myCol}{0.2 0.5 0.8}

\pspicture(-1, 0)(3.5, 4.5)
\circledipole[labeloffset = 0](0, 3)(3, 3){V}
\coil[dipolestyle=curved](0, 1)(3, 1){}
\wire[linecolor=red](0, 1)(0, 3)
\wire(3, 1)(3, 3)
\endpspicture

{\red foo} {\myCol bar} baz
\bye

在此处输入图片描述

但是,您不能确定 是否luapstricks.lua总是与 一起使用luatex。使用lualatex更有意义。

答案2

我找到了另一个解决方案,它增加了xcolor对 Plain TeX 的支持。该color软件包做了一些破坏性的事情PSTrticks,我找不到原因。但 xcolor经过一些修改后就可以正常工作了。

\input luaotfload.sty

\catcode`\@=11

\csname pgfkeysloaded\endcsname% `pgfkeys` loads the Plain TeX color
                               % support by TikZ which does not
                               % even work here and is incompatible!

%\input pstricks
\input pst-circ

\suppressoutererror = 1% \outer
\input miniltx
\let\+\@undefined% defined by `plain.tex`
\def\XC@tgt@mod#1{#1}% to get package option `natural` (default)
\input xcolor.sty

\pspicture(-1, 0)(3.5, 4.5)
\circledipole[labeloffset = 0](0, 3)(3, 3){V}
\coil[dipolestyle=curved](0, 1)(3, 1){}
\wire[linecolor=blue](0, 1)(0, 3)
\wire(3, 1)(3, 3)
\endpspicture

\color{violet}

Test

\bye

相关内容