
El siguiente código es trivial pero importante para mostrar el problema. Cuando activo la opción showgrid
con true
o top
, mi objeto gráfico se desplaza hacia la derecha como se muestra en la siguiente animación.
\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=true
es igual ashowgrid=top
en lugar deshowgrid=bottom
.- La declaración en la página 4 de
pst-news12.pdf
podrí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=top
conduce? Incluirá\psgrid
alfindelpspicture
medio 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%
}