¿Qué hace que showgrid=true o showgrid=top desplacen mi clip hacia la derecha?

¿Qué hace que showgrid=true o showgrid=top desplacen mi clip hacia la derecha?

El siguiente código es trivial pero importante para mostrar el problema. Cuando activo la opción showgridcon trueo top, mi objeto gráfico se desplaza hacia la derecha como se muestra en la siguiente animación.

ingrese la descripción de la imagen aquí

\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}

Advertencia:

  • showgrid=truees igual a showgrid=topen lugar de showgrid=bottom.
  • La declaración en la página 4 de pst-news12.pdfpodría estar escrita incorrectamente.

¿Qué provoca este desplazamiento?

Respuesta1

usa esta versión:http://texnik.dante.de/tex/generic/pstricks/pstricks.tex Tiene una corrección de errores para eso.

Respuesta2

Observe mi comentario anterior:

¿A qué showgrid=topconduce? Incluirá\psgrid alfindel pspicturemedio ambiente. Este puede ser el problema, ya que todo se desplaza al dibujar la cuadrícula al final...

Esta solución producirá una versión correcta (dibuje la cuadrícula primero para configurar todo correctamente y dibuje otra al final para colocarla en la parte superior):

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

Hay un espacio en blanco al final de

      \ifx#1t

en el siguiente fragmento de código.

% -----------  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%
}

información relacionada