[pstricks] Rotate Text on PS side

Herbert Voss Herbert.Voss at fu-berlin.de
Mon Aug 13 22:32:56 CEST 2007


Christoph Bersch wrote:
> Herbert Voss wrote:
>   
>> Christoph Bersch wrote:
>>     
>>>    \ncput[nrot=:U]{Flipped}
>>>   
>>>       
>>    \ncput[nrot=:D]{Flipped}
>>
>> see page 94 in the PSTricks book
>>     
>
> I think, I didn't explain it good enough:
>
> The problem is, that I have a macro containing the
> \ncline and \ncput stuff. Within this macro the text should be flipped
> if necessary (based only on the node coordinates).
>   

possible with modifying the PostScript procedure


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pst-node}

\makeatletter
\pst at def{InitNC}<
  /b ED /a ED % second and first node
  /NodeSepTypeB ED /NodeSepTypeA ED
  /NodeSepB ED /NodeSepA ED
  /OffsetB ED /OffsetA ED
  tx at NodeDict a known tx at NodeDict b known and dup {
    /NodeA a load def /NodeB b load def
    NodeA GetCenter NodeB GetCenter % xA yA xB yB
    4 copy pop exch pop lt % xA xB
      { /yB ED /xB ED /yA ED /xA ED }
      { /yA ED /xA ED /yB ED /xB ED } ifelse
     } if >
\makeatother

\def\testput(#1)(#2)#3{%
  \ncline{#1}{#2}\ncput[nrot=:U]{#3}}
\begin{document}
\begin{pspicture}[showgrid=true](5,4)
   \pnode(0,0){A}
   \pnode(2,4){B}
   \pnode(5,0){C}
   \pnode(3,4){D}
   \testput(A)(B){Normal}
   \testput(C)(D){Flipped}
%
\end{pspicture}
\end{document}

Herbert




More information about the PSTricks mailing list