
O código a seguir é trivial, mas importante para mostrar o problema. Quando eu ativo a opção showgrid
with true
ou top
, meu objeto gráfico é deslocado para a direita, conforme mostrado na animação a seguir.
\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}
Aviso:
showgrid=true
é igual ashowgrid=top
em vez deshowgrid=bottom
.- A declaração na página 4
pst-news12.pdf
pode ter sido digitada incorretamente.
O que causa esse deslocamento?
Responder1
use esta versão:http://texnik.dante.de/tex/generic/pstricks/pstricks.tex Tem uma correção de bug para isso.
Responder2
Observe meu comentário acima:
A que isso
showgrid=top
leva? Incluirá\psgrid
nofimdopspicture
ambiente. Este pode ser o problema, já que tudo muda desenhando a grade bem no final...
Esta solução produzirá uma versão correta (desenhe a grade primeiro para acertar tudo e desenhe outra no final para colocá-la no topo):
\begin{pspicture}[showgrid=bottom](2,4)
\begin{psclip}{\Atom}
\psframe*(2,4)
\end{psclip}
\psgrid[style=gridstyle]
\end{pspicture}
Há um espaço em branco no final de
\ifx#1t
no seguinte trecho 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%
}