\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%\usepackage{geometry}
%
\usepackage{pstricks}
\let\PSTfiledate\filedate
\let\PSTfileversion\fileversion
\usepackage{pst-node}
\let\NODEfiledate\filedate
\let\NODEfileversion\fileversion
\usepackage{pst-plot}
\let\PLOTfiledate\filedate
\let\PLOTfileversion\fileversion
\usepackage{pst-tree}
\let\TREEfiledate\filedate
\let\TREEfileversion\fileversion
%
\usepackage{showexpl}
\usepackage{tabularx,array,longtable}
\SpecialCoor
\usepackage[colorlinks,linktocpage]{hyperref}
\def\UrlFont{\small\ttfamily}
\makeatletter
\def\verbatim@font{\small\normalfont\ttfamily}
\let\Oldpart\part
\renewcommand\part[1]{\clearpage\Oldpart{#1}}
\makeatother
%\usepackage{color}
\definecolor{hellgelb}{rgb}{1,1,0.8}
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{rgb}{1,0,0}
\definecolor{colString}{rgb}{0,0.5,0}
%
\usepackage{listings}
\lstset{%
    language=PSTricks,%
    float=hbp,%
    basicstyle=\ttfamily\small, %
    identifierstyle=\color{colIdentifier}, %
    keywordstyle=\color{colKeys}, %
    stringstyle=\color{colString}, %
    commentstyle=\color{colComments}, %
    columns=flexible, %
    tabsize=4, %
    frame=single, %
    extendedchars=true, %
    showspaces=false, %
    showstringspaces=false, %
    numbers=left, %
    numberstyle=\tiny, %
    breaklines=true, %
%    backgroundcolor=\color{hellgelb}, %
    breakautoindent=true, %
    captionpos=b,%
	xleftmargin=0pt%
}

%\parindent=0pt
\newcommand\verbI[1]{{\small\texttt{#1}}}
\newcommand\CMD[1]{{\texttt{\textbackslash#1}}}
\let\Lcs\CMD
%
%\psset{subgriddiv=0,griddots=5,gridlabels=7pt}
%
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\def\PS{PostScript}
%
\begin{document}
\title{\texttt{PSTricks -- 2008}\\ new macros and bugfixes for the
basic packages \Lcs{pstricks}, \Lcs{pst-plot}, \Lcs{pst-tree},\\ and \Lcs{pst-node}}
\author{Herbert Voß\thanks{%
\url{Herbert.Voss@pstricks.de}}}
\date{\today}

\maketitle

\clearpage
\tableofcontents

\clearpage
\part{\texttt{pstricks} -- package}

%--------------------------------------------------------------------------------------
\section{\texttt{pstricks.sty}}
%--------------------------------------------------------------------------------------

\begin{itemize}
\item Loading the package \texttt{pstricks} by \LaTeX\ will now write a message
into the file list of file version and date for the file \texttt{pstricks.pro}.
\item A frequently done error is choosing a file name for the document, which is
already a name of one PSTricks package, e.\,g. \verb=pstricks.tex=. The error
message in the log file was not really helpful. There is now an extended message:
{\small\begin{verbatim}
! LaTeX Error: Two \documentclass or \documentstyle commands 
               or `pstricks.tex' is a forbidden name for your document,
               it is already a name of a PSTricks package! 
               Choose another name for your document!
\end{verbatim}
}
\end{itemize}

%--------------------------------------------------------------------------------------
\section{\texttt{pstricks.tex} (\PSTfileversion -- \PSTfiledate)}
%--------------------------------------------------------------------------------------


\subsection{Option \texttt{gridfont}}
By default the grid labels were printed always in Helvetica. With the new option \verb+gridfont+
one can define another PostScript Font. Available are

\medskip
{\ttfamily\noindent
Helvetica (default) -- Helvetica-Narrow -- Times-Roman -- Courier -- AvantGard --NewCenturySchlbk -- 
Palatino-Roman -- Bookman-Demi -- \linebreak Zapf-Dingbats -- Symbol}

\begin{LTXexample}[width=4cm]
\usepackage{pstricks}
\begin{pspicture}[showgrid=true](3,2)
\end{pspicture}\\[20pt]
\begin{pspicture}(3,2)
  \psgrid[style=gridstyle,gridfont=AvantGard-Demi]
\end{pspicture}
\end{LTXexample}
 

\clearpage
\subsection{\texttt{linejoin}}
Connecting lines can be done in several ways and is controlled on PS level
by the \verb+setlinejoin+ command. With this version of PSTricks it is
possible to controll this by an optional argument, called \verb+linejoin+.
It is preset by 0 and can take values of 0,1,2. Other values jave
no effect.

\begin{LTXexample}[width=4cm]
\psset{linewidth=3mm,unit=0.8}
\begin{pspicture}[showgrid=true](3,2)
  \psline(0,0)(1,2)(2,0)(3,2)
\end{pspicture}\\[10pt]
\begin{pspicture}[showgrid=true](4,2)
  \psline[linejoin=1](0,0)(1,2)(2,0)(3,2)(4,0)%
\end{pspicture}\\[10pt]
\begin{pspicture}[showgrid=true](3,2)
  \psline[linejoin=2](0,0)(1,2)(2,0)(3,2)%
\end{pspicture}
\end{LTXexample}

\clearpage
\subsection{\texttt{setlinecap}}
The value of \texttt{linecap} determines how the line ends are drawn:

\begin{description}
\item[0] lines are cut (default)
\item[1] lines are ended by a filled semicircle of radius 0.5$\cdot$\verb+\pslinewidth+
\item[2] lines are ended by a filled half square of radius 0.5$\cdot$\verb+\pslinewidth+
\end{description}
 
The following example shows that using \texttt{linecap} for lines is the same
than using the arrow option.

\begin{LTXexample}[width=4cm]
\begin{pspicture}[showgrid=true](4,4)% 
  \psset{linewidth=5mm}
  \psline[arrows=C-C](0,3.75)(4,3.75)
  \psline[linecap=2](0,3)(4,3)
  \psline[arrows=c-c](0,2.25)(4,2.25)
  \psline[linecap=1](0,1.5)(4,1.5)
  \psline[arrows=-](0,0.75)(4,0.75)
  \psline(4,0)
\end{pspicture} 
\end{LTXexample}

Using this optional argument makes only sense in some special cases, because
it is the same as the arrow type \verb+c-c+. But the arrows are not part 
of the current path and filling an open curve with the \texttt{linecap} option
is different to a curve using the \verb+c-c+ arrow.

\begin{LTXexample}[width=3cm,wide]
\psset{unit=5cm,linewidth=5mm}
\begin{pspicture}(-0.2,-0.6)(0.2,0.5)% 
\def\curve{\pscurve(-.1,.1)(-.15,.15)(0,.2)(.15,.15)(.1,.1)}
\rput(0,.2){\psset{arrows=c-c}\curve}
\rput(0,-.2){%
  \psset{fillstyle=solid,fillcolor=red,arrows=c-c}
  \curve}
\rput(0,-.6){%
  \psset{fillstyle=solid,fillcolor=red,linecap=1}
  \curve}
\end{pspicture} 
\end{LTXexample}


\clearpage
\subsection{New arrowtype \texttt{D>} and \texttt{D>D>}}
All arrows are drawn as polygons. The new arrow type \verb+D>+ or \verb+<D+ for the other way round,
draws it lines as bezier curves, which looks nicer for big arrows.

\begin{LTXexample}[width=4cm,wide]
\psset{arrowscale=5}
\begin{pspicture}(4,2) 
\psline{<D<D-D>D>}(0,2)(4,2)
\psline[arrows=<-D>,arrowlength=2](0,1)(4,1)
\psline[arrowinset=0]{<D-D>}(0,0.25)(4,0.25)
\end{pspicture} 
\end{LTXexample}



\clearpage
\subsection{Transparent colors}
The package \texttt{pstricks-add} already defined a fillstyle for
transparency colors by using the GhostScripts blendmode. 
It now moves into the main \texttt{PSTricks} package, together with
another possibility for creating transparent colors.
Transparency is only seen with the PDF output (version 1.4 or greater), 
nearly all PostScript viewer cannot show transparencies. 

Loading the \verb+pstricks+ package with the option \verb=vtex=, disables
the transparency effekts and everything works as before.

\subsubsection{Options \texttt{strokeopacity} and \texttt{opacity}}
For the existing fill style \verb+solid+ the new option \verb+opacity+ 
can be used to get also transparent colors. It is predefined by 1 ($0\ldots1$), which
is the old behaviour, no transpareny. The option is valid only for PostScripts 
fill commands. Lines and curves can be trabsparent with setting the option 
\verb+strokeopacity+, which can have a different value as for the \verb+opacity+ option.

\begin{LTXexample}[width=4cm,wide]
\begin{pspicture}[linewidth=1cm](4,4)
  \psline[linecolor=red](0,0)(4,4)
  \psline[linecolor=blue,strokeopacity=0.5](0,4)(4,0)
  \psline[linecolor=green,strokeopacity=0.5](0,3.5)(4,3.5)
  \psline[linecolor=yellow,strokeopacity=0.5](0,0.5)(4,0.5)
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=4cm,wide]
\begin{pspicture}[linewidth=1cm](4,4)
\psline[linecolor=red](0,0)(4,4)
\pscircle*[opacity=0.5](2,2){2}
\psline[linecolor=blue,strokeopacity=0.6](0,4)(4,0)
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=4cm,wide]
\begin{pspicture}[linewidth=3mm](4,5.5)
  \multido{\rA=0.0+0.5}{9}{%
    \psline[linecolor=red!40](\rA,0)(\rA,5)}
  \multido{\rA=0.0+0.5,\rB=0.0+0.1}{11}{%
    \psline[arrows=<D-D>,linecolor=blue,
      linewidth=5pt,arrowscale=1.5,
       strokeopacity=\rB](0,\rA)(4,\rA)}
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=5cm,wide]
\begin{pspicture}(5,5)
  \psset{fillstyle=solid}
  \psframe[fillcolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,opacity=0.7](2,2)(5,5)
  \psframe[fillcolor=green,opacity=0.7](1,0)(4,3)
  \pscircle[fillcolor=cyan,
    opacity=0.5](1.5,3.5){1.25}
\end{pspicture}
\end{LTXexample}

\begin{LTXexample}[width=5cm,wide]
\begin{pspicture}(5,5)
  \psset{fillstyle=solid}
  \psframe[fillcolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,opacity=0.3](2,2)(5,5)
  \psframe[fillcolor=green,opacity=0.3](1,0)(4,3)
  \pscircle[fillcolor=cyan,
    opacity=0.5](1.5,3.5){1.25}
\end{pspicture}
\end{LTXexample}


\clearpage
\subsubsection{Fill style \texttt{shape}}
There is now one more fill style for transparent colors: \verb+shape+ 
with using the \verb+shapealpha+ value and one of the possible blendmodes:
\begin{verbatim}
 /Normal     ->0
 /Compatible ->1
 /Screen     ->2
 /Multiply   ->3
\end{verbatim}


The fill style \verb+solid+  uses
GhostScripts \verb+.setopacityalpha+ function
and the new style \verb+shape+ the \verb+blendmode+ together with \verb+.setshapealpha+.
\verb+shapealpha+ is predefined 
with 0.6 and both alpha values can be chosen from the range $0\le\alpha\le1$.

\begin{pspicture}(5,5)% default blendmode
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{0}}
\end{pspicture}
\hfill
\begin{pspicture}(5,5)
  \psset{blendmode=1}% type /Compatible
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{1}}
\end{pspicture}

\begin{pspicture}(5,5)
  \psset{blendmode=2}% type /Screen
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{2}}
\end{pspicture}
\hfill
\begin{pspicture}(5,5)
  \psset{blendmode=3}% type /Multiply
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{3}}
\end{pspicture}

\begin{lstlisting}
\begin{pspicture}(5,5)% default blendmode
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{0}}
\end{pspicture}
\hfill
\begin{pspicture}(5,5)
  \psset{blendmode=1}% type /Compatible
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{1}}
\end{pspicture}

\begin{pspicture}(5,5)
  \psset{blendmode=2}% type /Screen
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{2}}
\end{pspicture}
\hfill
\begin{pspicture}(5,5)
  \psset{blendmode=3}% type /Multiply
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
  \rput(1.5,3.5){\huge\textbf{3}}
\end{pspicture}
\end{lstlisting}


\iffalse
\begin{LTXexample}[width=5cm,wide]
\begin{pspicture}(5,5)
  \psset{blendmode=4}% type /Hardlight
  \psframe*[linecolor=red](0,1)(3,4)
  \psframe[fillcolor=blue,fillstyle=shape](2,2)(5,5)
  \psframe[fillcolor=green,fillstyle=shape](1,0)(4,3)
  \pscircle[fillcolor=cyan,fillstyle=shape,
    shapealpha=0.3](1.5,3.5){1.25}
\end{pspicture}
\end{LTXexample}

\fi

\clearpage

\subsection{\CMD{addtopsstyle}}
\begin{verbatim}
\addtopsstyle{style-name}{settings}
\end{verbatim}

This macro allows to add some more settings to an existing style.
If the style is not defined, then \verb+\addtopsstyle+ behaves like the
already defined \verb+\newpsstyle+ macro.

\begin{LTXexample}[width=5cm,wide]
\newpsstyle{Fiber}{linewidth=2pt}
\begin{pspicture}(5,5)
   \psline[style=Fiber](0,0)(5,1)
   \addtopsstyle{Fiber}{linecolor=green}
   \psline[style=Fiber](0,1)(5,2)
   \addtopsstyle{Fiber}{linestyle=dotted}
   \psline[style=Fiber](0,2)(5,3)
   \addtopsstyle{Fiber}{}
   \psline[style=Fiber](0,3)(5,4)
   \addtopsstyle{Fibber}{linecolor=red}
   \psline[style=Fibber](0,4)(5,5)
\end{pspicture}
\end{LTXexample}


\subsection{\CMD{psTextFrame}}
\begin{verbatim}
\psTextFrame[settings](x1,y1)(x2,y2){Text}
\end{verbatim}

The \emph{Text} cannot have a linebreak. In case it is needed, put the \emph{Text}
into a \verb+minipage+ or \CMD{parbox}, as seen in the following example. The
\verb+ref+-option allows different placing and the \verb+rot+-option allows
the rotating of the \emph{Text}. The macro itself first uses the
\CMD{psframe} and then \CMD{rput} with calculated coordinates.

  
\begin{LTXexample}[pos=t]
\begin{pspicture}[showgrid=true](0,-0.5)(10,10)
 \psTextFrame[linecolor=lightgray,ref=l](0,0.5)(4,1.5){Hallo}
 \psTextFrame[linecolor=blue](2,4)(4,7){\color{blue}Hallo}
 \psTextFrame[linestyle=dashed](9,9)(10,10){\huge H}
 \psTextFrame*[linecolor=red,linestyle=dashed](7,7)(9,9){\Huge H}  
 \psTextFrame*[linecolor=red!40,ref=lB](7,4)(9,6){\Huge H}  
 \psTextFrame*[linecolor=blue!40,ref=rt](7,1)(9,3){\Huge H}  
 \psTextFrame[linestyle=dashed](4.5,0)(6.5,10){%
  \parbox{2cm}{\centering Here comes some more text over several 
	lines, which is also horizontally and vertically centered and 
	written in a parbox.}}
 \psTextFrame*[linecolor=cyan!20,rot=90](.5,2)(1.5,10){%
  \parbox{8cm}{\centering Here comes some more text over several 
	lines and rotated by 90 degrees.}}
\end{pspicture}
\end{LTXexample}

\subsection{Special coordinates}

Additionally to the existing !-operator for PostScript coordinates,
there is new a *-operator, which invokes the algebraic parser before
the coordinates are passed to the default !-operator. The syntax 
is pretty easy: \verb=(<value> {f(x)})=. In the following example the
predefined value of Pi from pstricks.pro is used. The function must be enclosed
in braces when itself contains round braces.  

\begin{LTXexample}[width=5cm,wide]
\SpecialCoor
\begin{pspicture}(0,-1)(5,1)
  \psaxes{->}(0,0)(0,-1)(5,1)
  \psline(0,0)(*Pi {sqrt(abs(cos(x)))})
  \psline{<->}(*Pi {cos(x)})(*5 {sin(x)*cos(x)})
\end{pspicture}
\end{LTXexample}




\subsection{Code changes}

\begin{verbatim}
% hv 2007-10-16 to fix the bug in pst-node with \\[name=...]
\def\ps@ifnextchar#1#2#3{%
  \let\reserved@d= #1%
  \def\reserved@a{#2}\def\reserved@b{#3}%
  \futurelet\@let@token\ps@ifnch}
\def\ps@ifnch{%
  \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi
  \reserved@b
}
\end{verbatim}




%--------------------------------------------------------------------------------------
\section{\texttt{pstricks.pro}}
%--------------------------------------------------------------------------------------

\begin{verbatim}
/Pyth2 {					% Pythagoras, xA yA xB yB
  3 -1 roll 		% xA xB yB yA
  sub			% xA xB yB-yA
  3 1 roll 		% yB-yA xA xB
  sub			% yB-yA xA-xB
  Pyth } def
\end{verbatim}

This new PostScript function allows to calculate the distance
between two points, given by their coordinates whereas the
existing /Pyth does ist for two values.


\part{\texttt{pst-node} -- package}

\section{\texttt{pst-node.tex} (\NODEfileversion -- \NODEfiledate)}

\subsection{Bugfix for \texttt{psmatrix}}
A long standing bug with psmatrix and using the \texttt{name} option is now fixed.
The following now works as expected:

\begin{LTXexample}[width=2cm]
\begin{psmatrix}[rowsep=5mm]
[name=a]a\\
[name=b]b\\[1cm]
[name=c]c\\
\end{psmatrix}
\ncline{a}{b}
\ncarc{a}{c}
\end{LTXexample}

An optional argument after \verb+\\+ is now scanned in the correct way.


\subsection{New option \texttt{pcRef}}
There is a new option \texttt{pcRef} for the \Lcs{ncangles} connection. By default,
the reference point for the \texttt{armA} option is the border of the node. This makes
it difficult, to get horizontically aligned lines for different node images. 
With \texttt{pcRef=true} the node center is the reference point and the connection is
still drawn from the border of the node.

The first three images show the default behaviour:

\makebox[\linewidth]{%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.2}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=0.5cm}
  \ncangles{A}{B1}
  \ncangles{A}{B2}
  \ncangles{A}{B3}
  \ncangles{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.4}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=0.5cm}
  \ncangles{A}{B1}
  \ncangles{A}{B2}
  \ncangles{A}{B3}
  \ncangles{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.8}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=0.5cm}
  \ncangles{A}{B1}
  \ncangles{A}{B2}
  \ncangles{A}{B3}
  \ncangles{A}{B4}
\end{pspicture}
}

The next three one the influence of \texttt{pcRef=true}; the horizontal line
for the three examples is on the same height:

\makebox[\linewidth]{%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.2}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.4}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.8}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
}

\begin{lstlisting}
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.2}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.4}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
%
\begin{pspicture}(5,4)
  \cnode(2.5,3.5){0.8}{A}
  \cnode(0.5,1){0.2}{B1}
  \cnode(1.5,1){0.4}{B2}
  \cnode(2.6,1){0.6}{B3}
  \cnode(4,1){0.8}{B4}
  \psset{angleB=90,angleA=-90,armA=1cm}
  \ncangles[pcRef=true]{A}{B1}
  \ncangles[pcRef=true]{A}{B2}
  \ncangles[pcRef=true]{A}{B3}
  \ncangles[pcRef=true]{A}{B4}
\end{pspicture}
\end{lstlisting}

\part{\texttt{pst-plot} -- package}

\section{\texttt{pst-plot.tex} (\PLOTfileversion -- \PLOTfiledate)}
\subsection{New options \texttt{LineToXAxis} and \texttt{LineToYAxis}}

  
\psset{xunit=0.0333cm,yunit=2.5cm}
\begin{pspicture}(0,-1)(400,1)
  \psline{->}(0,0)(400,0)
  \psline{->}(0,-1)(0,1)
  \psplot[plotstyle=LineToXAxis,linestyle=dashed,plotpoints=50,
	    linecolor=red!40,
            showpoints=true,dotstyle=o,dotsize=0.2]{0}{360}{x sin}
\end{pspicture}

\begin{lstlisting}
\psset{xunit=0.0333cm,yunit=2.5cm}
\begin{pspicture}(0,-1)(400,1)
  \psline{->}(0,0)(400,0)
  \psline{->}(0,-1)(0,1)
  \psplot[plotstyle=LineToXAxis,linestyle=dashed,plotpoints=50,
	    linecolor=red!40,
            showpoints=true,dotstyle=o,dotsize=0.2]{0}{360}{x sin}
\end{pspicture}
\end{lstlisting}



\psset{xunit=0.0333cm,yunit=2.5cm}
\begin{pspicture}(0,-1.2)(400,1.4)
  \psline{->}(0,0)(390,0)
  \psline{->}(0,-1.1)(0,1.2)
  \psplot[plotstyle=LineToYAxis,linestyle=dashed,plotpoints=50,
	    linecolor=blue!40,
            showpoints=true]{0}{360}{x cos}
\end{pspicture}

\begin{lstlisting}
\psset{xunit=0.0333cm,yunit=2.5cm}
\begin{pspicture}(0,-1.2)(400,1.4)
  \psline{->}(0,0)(390,0)
  \psline{->}(0,-1.1)(0,1.2)
  \psplot[plotstyle=LineToYAxis,linestyle=dashed,plotpoints=50,
	    linecolor=blue!40,
            showpoints=true]{0}{360}{x cos}
\end{pspicture}
\end{lstlisting}


\part{\texttt{pst-tree} -- package}
\section{\texttt{pst-tree.tex} (\TREEfileversion -- \TREEfiledate)}

There was a bug with \texttt{style=...} in fact of a missing \Lcs{use@par} in
\Lcs{pstree@ii}.


\end{document}
