使用 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}