showgrid=true または showgrid=top によってクリップが右に移動する理由は何ですか?

showgrid=true または showgrid=top によってクリップが右に移動する理由は何ですか?

次のコードは些​​細なものです。しかし、問題を示す上で重要です。 または オプションを有効にするとshowgrid、次のアニメーションに示すように、グラフィック オブジェクトが右に移動します。truetop

ここに画像の説明を入力してください

\documentclass[pstricks,border=12pt]{standalone}

\def\Atom{\psframe(1,2)(2,3)}

\begin{document}

% NO problem WITHOUT showgrid or with showgrid=bottom
\begin{pspicture}[showgrid=bottom](2,4)
    \begin{psclip}{\Atom}
        \psframe*(2,4)
    \end{psclip}
\end{pspicture}

% get shifted to the right with showgrid=true or showgrid=top
\begin{pspicture}[showgrid=true](2,4)
    \begin{psclip}{\Atom}
        \psframe*(2,4)
    \end{psclip}
\end{pspicture}

\end{document}

警告:

  • showgrid=trueshowgrid=topは ではなくに等しいですshowgrid=bottom
  • 4 ページの記述がpst-news12.pdf誤って入力されている可能性があります。

この変位は何によって生じるのでしょうか?

答え1

このバージョンを使用してください:http://texnik.dante.de/tex/generic/pstricks/pstricks.tex これにはバグ修正が含まれています。

答え2

上記の私のコメントに注目してください:

何がshowgrid=top原因でしょうか?それは\psgrid次のようになります終わり-環境のpspicture。最後にグリッドを描画することですべてがシフトされるため、これが問題になる場合があります...

このソリューションでは、正しいバージョンが生成されます (最初にグリッドを描画してすべてを正しく設定し、最後に別のグリッドを描画して上部に配置します)。

\begin{pspicture}[showgrid=bottom](2,4)
    \begin{psclip}{\Atom}
        \psframe*(2,4)
    \end{psclip}
    \psgrid[style=gridstyle]
\end{pspicture}

最後に空白があります

      \ifx#1t

次のコード スニペットを参照してください。

% -----------  hv 20120219 -------------------
\newpsstyle{gridstyle}{subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt}
%\define@boolkey[psset]{pstricks}[]{showgrid}[true]{}
\newif\ifshowgrid
\define@key[psset]{pstricks}{showgrid}[b]{\pst@@showgrid#1\@nil}
\def\pst@@showgrid#1#2\@nil{%
  \ifx#1b\showgridtrue\def\showgridp@s{0}\else%            bottom
    \ifx#1f\showgridfalse\else
      \ifx#1t
        \ifx#2r\showgridtrue\def\showgridp@s{0}\else%      true->bottom
               \showgridtrue\def\showgridp@s{1}\fi%        top
  \fi\fi\fi%
}

関連情報