\psrotate 在 XeLaTeX 下的行为有所不同

\psrotate 在 XeLaTeX 下的行为有所不同

使用 XeLaTeX 编译以下 mwe 时,\psrotate 命令不会产生旋转 90 度的预期效果。另一方面,使用 LaTeX 编译可以实现。

这是已知问题还是我做错了?如果是错误,我应该在哪里报告?

\documentclass{article}
\usepackage{
    pstricks,
    pst-eucl,
    pstricks-add
}

\begin{document}

\begin{pspicture}(-2,-3.5)(2,3.5)
\newcommand{\f}[1]{#1 dup mul .1 \space mul 1 \space add}
\newcommand{\g}[1]{#1 dup mul .1 \space mul 1 \space add neg}

\psrotate(0,0){90}
{
\psplot{-3}{3}{\f{x}}
\psplot{-3}{3}{\g{x}}
\psellipse(3,0)(! .2 \f{3})
\psellipticarc(-3,0)(! .2 \f{-3}){90}{270}
\psellipse[fillstyle=solid,fillcolor=blue!60](-2,0)(! .2 \f{-2})
\pscustom[fillstyle=solid,fillcolor=blue!20]
{
\psplot{-3}{-2}{\f{x}}
\psellipticarc(-2,0)(! .2 \f{-2}){90}{270}
\psplot{-2}{-3}{\g{x}}
\psellipticarc(-3,0)(! .2 \f{-3}){90}{270}
}
\psline[linecolor=blue!20,linewidth=.9pt](! -3 \f{-3})(! -3 \g{-3})
} 
\end{pspicture}

\end{document}

答案1

使用简单的\psrotatebox

\documentclass{article}
\usepackage{pstricks-add}
\usepackage{graphicx}

\begin{document}

\psrotatebox{90}{%
  \begin{pspicture}(-2,-3.5)(2,3.5)
  \newcommand{\f}[1]{#1 dup mul .1 \space mul 1 \space add}
  \newcommand{\g}[1]{#1 dup mul .1 \space mul 1 \space add neg} 
  \psplot{-3}{3}{\f{x}}
  \psplot{-3}{3}{\g{x}}
  \psellipse(3,0)(! .2 \f{3})
  \psellipticarc(-3,0)(! .2 \f{-3}){90}{270}
  \psellipse[fillstyle=solid,fillcolor=blue!60](-2,0)(! .2 \f{-2})
  \pscustom[fillstyle=solid,fillcolor=blue!20]
        {
            \psplot{-3}{-2}{\f{x}}
            \psellipticarc(-2,0)(! .2 \f{-2}){90}{270}
            \psplot{-2}{-3}{\g{x}}
            \psellipticarc(-3,0)(! .2 \f{-3}){90}{270}
        }
  \psline[linecolor=blue!20,linewidth=.9pt](! -3 \f{-3})(! -3 \g{-3})
\end{pspicture}%
}

\end{document}

相关内容