\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage{geometry}
\usepackage{pst-all,pst-news}
\let\CMD\cs
\usepackage{showexpl}
\usepackage{tabularx,array,longtable}
\SpecialCoor
\usepackage[colorlinks,linktocpage]{hyperref}
\def\UrlFont{\small\ttfamily}
\makeatletter
\def\verbatim@font{\small\normalfont\ttfamily}
\makeatother
\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%
}
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\def\PS{PostScript}
%
\begin{document}
\title{\texttt{PSTricks -- 2006}\\ new macros and bugfixes for the
basic packages \Lcs{pstricks}, \Lcs{pst-tree}, and \Lcs{pst-node}}
\author{Herbert Vo�\thanks{%
\url{
[email protected]}}}
\date{\today}
\maketitle
\begin{abstract}
This new version of \LFile{pstricks.tex} depends on the also new prologue file
\LFile{pstricks.pro} (v 1.01) and \LFile{pst-dots.pro} (v. 2.00), which should go into
the local \TeX-directory \url{$TEXMFLOCAL/dvips/}.
\end{abstract}
\tableofcontents
\clearpage
%--------------------------------------------------------------------------------------
\section{linecap}
%--------------------------------------------------------------------------------------
This was already introduced with version 1.14, but I forgot to mentioned it.
For the line ends one can use the ,,arrows``{} \texttt{c-c}, but only for the ends. For dashed
lines the option \verb+linecap+ can be set to the value 1 to get the dashes with
rounded ends, too.
\begin{pspicture}(5,3)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=2](0,2.5)(5,2.5)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=1](0,1.5)(5,1.5)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm](0,0.5)(5,0.5)
\end{pspicture}
\begin{lstlisting}
\begin{pspicture}(5,3)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=2](0,2.5)(5,2.5)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm,linecap=1](0,1.5)(5,1.5)
\psline[linestyle=dashed,linewidth=8pt,dash=5mm 5mm](0,0.5)(5,0.5)
\end{pspicture}
\end{lstlisting}
It is obvious that only the value 1 makes sense for the dashed lines.
\section{Dots}
Long time ago, Etienne Riga sent the code for some new dotstyles
which are now part of pstricks.
\psset{dotscale=1.5}
\let\Loption\texttt
\def\multiDot#1{\multido{\nA=0+1}{3}{\psdot[dotstyle=#1]\kern1em}}
\def\cmultiDot#1{\multido{\nA=0+1}{3}{\psdot*[dotstyle=#1]\kern1em}}%}
\begin{longtable}{@{}l@{\kern2em}>{\ttfamily}c>{\ttfamily}c|
l@{\kern2em}>{\ttfamily}c>{\ttfamily}c@{}}
\emph{Name} & \Lcs{psdot} & \Lcs{psdot*} &
\emph{Name} & \Lcs{psdot} & \Lcs{psdot*} \\\hline
\endhead
\Loption{*} & \multiDot{*} & \cmultiDot{*} &%\\
\Loption{o} & \multiDot{o} & \cmultiDot{o}\\
\Loption{Bo} & \multiDot{Bo} & \cmultiDot{Bo}&%\\
\Loption{x} & \multiDot{x} & \cmultiDot{x}\\
\Loption{+} & \multiDot{+} & \cmultiDot{+}&%\\
\Loption{B+} & \multiDot{B+} & \cmultiDot{B+}\\
\Loption{Add} & \multiDot{Add} & \cmultiDot{Add}&%\\
\Loption{BoldAdd} & \multiDot{BoldAdd} & \cmultiDot{BoldAdd}\\
\Loption{Oplus} & \multiDot{Oplus} & \cmultiDot{Oplus}&%\\
\Loption{BoldOplus} & \multiDot{BoldOplus} & \cmultiDot{BoldOplus}\\
\Loption{SolidOplus} & \multiDot{SolidOplus} & \cmultiDot{SolidOplus} &
\Loption{Hexagon} & \multiDot{Hexagon} & \cmultiDot{Hexagon}\\
\Loption{BoldHexagon} & \multiDot{BoldHexagon} & \cmultiDot{BoldHexagon}&
\Loption{SolidHexagon} & \multiDot{SolidHexagon} & \cmultiDot{SolidHexagon}\\
\Loption{asterisk} & \multiDot{asterisk} & \cmultiDot{asterisk}&%\\
\Loption{Basterisk} & \multiDot{Basterisk} & \cmultiDot{Basterisk}\\
\Loption{Asterisk} & \multiDot{Asterisk} & \cmultiDot{Asterisk}&%\\
\Loption{BoldAsterisk} & \multiDot{BoldAsterisk} & \cmultiDot{BoldAsterisk}\\
\Loption{SolidAsterisk} & \multiDot{SolidAsterisk} & \cmultiDot{SolidAsterisk}&
\Loption{oplus} & \multiDot{oplus} & \cmultiDot{oplus}\\
\Loption{otimes} & \multiDot{otimes} & \cmultiDot{otimes}&
\Loption{Otimes} & \multiDot{Otimes} & \cmultiDot{Otimes}\\
\Loption{BoldOtimes} & \multiDot{BoldOtimes} & \cmultiDot{BoldOtimes}&
\Loption{SolidOtimes} & \multiDot{SolidOtimes} & \cmultiDot{SolidOtimes}\\
\Loption{Mul} & \multiDot{Mul} & \cmultiDot{Mul}&%\\
\Loption{BoldMul} & \multiDot{BoldMul} & \cmultiDot{BoldMul}\\
\Loption{|} & \multiDot{|} & \cmultiDot{|}&%\\
\Loption{B|}\iffalse\index{B*@\texttt{B}|}\fi & \multiDot{B|} & \cmultiDot{B|}\\
\Loption{Bar} & \multiDot{Bar} & \cmultiDot{Bar}&%\\
\Loption{BoldBar} & \multiDot{BoldBar} & \cmultiDot{BoldBar}\\
\Loption{Bullet} & \multiDot{Bullet} & \cmultiDot{Bullet}&%\\
\Loption{Circle} & \multiDot{Circle} & \cmultiDot{Circle}\\
\Loption{BoldCircle} & \multiDot{BoldCircle} & \cmultiDot{BoldCircle}&%\\
\Loption{square} & \multiDot{square} & \cmultiDot{square}\\
\Loption{Bsquare} & \multiDot{Bsquare} & \cmultiDot{Bsquare} &
\Loption{square*} & \multiDot{square*} & \cmultiDot{square*}\\
\Loption{Square} & \multiDot{Square} & \cmultiDot{Square}&%\\
\Loption{BoldSquare} & \multiDot{BoldSquare} & \cmultiDot{BoldSquare}\\
\Loption{SolidSquare} & \multiDot{SolidSquare} & \cmultiDot{SolidSquare}&
\Loption{diamond} & \multiDot{diamond} & \cmultiDot{diamond}\\
\Loption{Bdiamond} & \multiDot{Bdiamond} & \cmultiDot{Bdiamond}&%\\
\Loption{diamond*} & \multiDot{diamond*} & \cmultiDot{diamond}\\
\Loption{Diamond} & \multiDot{Diamond} & \cmultiDot{Diamond}&%\\
\Loption{BoldDiamond} & \multiDot{BoldDiamond} & \cmultiDot{BoldDiamond}\\
\Loption{SolidDiamond} & \multiDot{SolidDiamond} & \cmultiDot{SolidDiamond}&
\Loption{triangle} & \multiDot{triangle} & \cmultiDot{triangle}\\
\Loption{Btriangle} & \multiDot{Btriangle} & \cmultiDot{Btriangle}&
\Loption{triangle*} & \multiDot{triangle*} & \cmultiDot{triangle*}\\
\Loption{Triangle} & \multiDot{Triangle} & \cmultiDot{Triangle}&%\\
\Loption{BoldTriangle} & \multiDot{BoldTriangle} & \cmultiDot{BoldTriangle}\\
\Loption{SolidTriangle} & \multiDot{SolidTriangle} & \cmultiDot{SolidTriangle}&
\Loption{pentagon} & \multiDot{pentagon} & \cmultiDot{pentagon}\\
\Loption{Bpentagon} & \multiDot{Bpentagon} & \cmultiDot{Bpentagon}&%\\
\Loption{pentagon*} & \multiDot{pentagon*}& \cmultiDot{pentagon*}\\
\Loption{Pentagon} & \multiDot{Pentagon} & \cmultiDot{Pentagon}&%\\
\Loption{BoldPentagon} & \multiDot{BoldPentagon} & \cmultiDot{BoldPentagon}\\
\Loption{SolidPentagon} & \multiDot{SolidPentagon} & \cmultiDot{SolidPentagon}&
\Loption{Hexagon} & \multiDot{Hexagon} & \cmultiDot{Hexagon}\\
\Loption{BoldHexagon} & \multiDot{BoldHexagon} & \cmultiDot{BoldHexagon}&
\Loption{SolidHexagon} & \multiDot{SolidHexagon} & \cmultiDot{SolidHexagon}
\end{longtable}
\section{\texttt{pstricks.pro}}
The PostScript header file defines the following functions and constants, which
can be used
in arguments for \CMD{psplot} or any other macro, which reads PostScript code.
\begin{lstlisting}[basicstyle=\ttfamily\footnotesize]
/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def% return 0 for negative arguments
/Atan { /atan load stopped { pop pop 0 } if } def% return 0 if atan not known
/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
/Div { dup 0 eq { pop } { div } ifelse } def % control the division
/NET { neg exch neg exch T } def % change coordinate system to the negative one
/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, epects 2 parameter
/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
%----------------- hv added 20050516 ---------------
/Pi 3.14159265359 def
/TwoPi 6.28318530718 def
/Euler 2.71828182846 def
/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
/DegtoRad { Pi mul 180 div } bind def % viceversa
\end{lstlisting}
\section{Packages}
The package \texttt{pst-char} is now part of \texttt{pst-text} and the
package \texttt{pst-ghsb} is now part of \texttt{pst-grad}. The macros
and enviroments will work in the same way.
The documented source code of \texttt{pstricks} and \texttt{pst-node} is
now available as a pdf file with a source which can be run by pdf\LaTeX.
Rolf Niepraschk modified the old sources from Timothy Van Zandt for
running with \LaTeX\ and/or pdf\LaTeX.
\end{document}