\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage{geometry}
\usepackage{pst-all}
\usepackage{showexpl}
\SpecialCoor
%\usepackage[ps2pdf,colorlinks,linktocpage]{hyperref}
\usepackage[colorlinks,linktocpage]{hyperref}
\def\UrlFont{\small\ttfamily}
\makeatletter
\def\verbatim@font{\small\normalfont\ttfamily}
\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]TEX,%
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}}}
%
%\psset{subgriddiv=0,griddots=5,gridlabels=7pt}
%
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\def\PS{PostScript}
%
\begin{document}
\title{\texttt{PSTricks -- version 1.10}\\new macros and bugfixes for \texttt{pstricks}}
\author{Herbert Vo�\thanks{%
\url{
[email protected]}}}
\date{\today}
\maketitle
\begin{abstract}
This new version 1.10 has some minor but important changes; it is not compatible
to older versions when using the vertical shift option for the \verb+pspicture+
environment.
\end{abstract}
\clearpage
\tableofcontents
\clearpage
\section{New and modified option for {pspicture}}\label{sec:option}
Table~\ref{tab:pspicture} shows the two new options for the \verb+pspicture+ environment.
\begin{table}[htb]
\caption{Optionen der \texttt{pspicture}-Umgebung}\label{tab:pspicture}
\centering
\begin{tabular}{@{}lll@{}}
\textrm{\emph{name}} & \emph{meaning} & \emph{default}\\\hline
\verb+shift+ & vertical shift & $0$ \\
\verb+showgrid+ & show grid & \verb+false+\\
\end{tabular}
\end{table}
% ---------------------------------------------------------------------------------------
\subsection{\texttt{shift}}\label{subsubsec:shift}
% ---------------------------------------------------------------------------------------
This option is the known one from older \texttt{PSTricks} version, but now with the
usual syntax for options. The shift is relative to the height of the defined \verb+pspicture+
environment, its lower left corner is by deafult on the base line. For older versions
the shift depends with its value to the baseline, a negative value raised up the \verb+pspicture+
box. Now the \verb+shift+ option works similiar to the known \CMD{raisebox} makro, except that
\verb+shift+ is relative to the box height. A positive \verb+shift+ value raises up the box
and vice versa for a negative value.
\begin{figure}[htb]
\centering
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5}
\end{pspicture}%
\textcolor{red}{\rule{5mm}{1pt}}
\hspace{1cm}%
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}(-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0}
\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}}
\hspace{1cm}%
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5}
\end{pspicture}%
\textcolor{red}{\rule{5mm}{1pt}}
\caption{Meaning of the \texttt{shift} option}\label{fig:baseline}
\end{figure}
%\begin{lstlisting}[caption={Vertikale Verschiebung der Baseline}]
\begin{lstlisting}
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}[shift=0.5](-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){-0.5}
\end{pspicture}%
\textcolor{red}{\rule{5mm}{1pt}}
\hspace{1cm}%
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}(-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0}
\end{pspicture}\textcolor{red}{\rule{5mm}{1pt}}
\hspace{1cm}%
\textcolor{red}{\rule{5mm}{1pt}}%
\begin{pspicture}[shift=-0.5](-0.5,-0.5)(0.5,0.5)
\psframe[linecolor=blue](-0.5,-0.5)(0.5,0.5)\rput(0,0){0.5}
\end{pspicture}%
\textcolor{red}{\rule{5mm}{1pt}}
\end{lstlisting}
% ---------------------------------------------------------------------------------------
\subsection{\texttt{showgrid}}\label{subsubsec:showgrid}
% ---------------------------------------------------------------------------------------
This new version of \texttt{PSTricks} defines internally a special grid style
\begin{lstlisting}
\newpsstyle{gridstyle}{%
subgriddiv=0,gridcolor=lightgray,griddots=10,gridlabels=8pt}
\end{lstlisting}
which can be overwritten by the user. This style is only used for the \verb+showgrid+
option of the \verb+pspicture+ environment. The macro \verb+\psgrid+ doesn't use this predefined
style and works in the usual way. However, the user can use it like all
other self defined styles: \verb+\psgrid[style=gridstyle]+.
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}[showgrid=true](-1,0)(2,1)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=3.5cm]
\newpsstyle{gridstyle}{%
subgriddiv=2,subgridcolor=lightgray}
\begin{pspicture}[showgrid=true](-1,0)(2,1)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=3.5cm]
\newpsstyle{gridstyle}{}
\begin{pspicture}[showgrid=true](-1,0)(2,1)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(-1,0)(2,1)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(-1,0)(2,1)
\psgrid
\end{pspicture}
\end{LTXexample}
Depending to the internal structure of the \verb+pspicture+ environment it is not possible
to set the \verb+shift+ option global by \CMD{psset}, it must always be locally defined
with optional part of the parameter, as seen in the above examples.
\section{Bugfixes}
\subsection{\texttt{origin}}
There were several mailings in the past to the \verb+origin+ option, which worked the other
way round than expected. Now the coordinates work realtive to the current origin.
\begin{LTXexample}[width=3cm]
\begin{pspicture}(-1,-1)(2,1.25)
\psaxes{->}(0,0)(-1,-1)(2,1.25)
\psset{linewidth=1.5pt}
\parabola[linestyle=dashed](-1,1)(0,0)
\parabola[origin={0.5,-0.5}](-1,1)(0,0)
\qdisk(0.5,-0.5){2pt}
\end{pspicture}
\end{LTXexample}
\subsection{Empty parameter}
\sloppy
To prevent some problems with empty arrow definitions in macros like \verb+\psline[...]{}(..)(...)+,
which makes no sense, but should be possible, there is now a check before setting the values.
\subsection{\CMD{nccircle}}
With some modification to \CMD{psarc\@iv} it is now possible to get the loops in any direction
and above or below the node.
\begin{LTXexample}[width=.35\linewidth]
\psscalebox{1.5}{%
\circlenode{A}{A}
\nccircle{->}{A}{1.5em} \nbput{foo}
\nccircle{<-}{A}{-1.5em}\naput{bar}}
%
\hspace{1cm}
\psscalebox{1.5}{%
\circlenode{A}{A}
\nccircle{<-}{A}{1.5em} \nbput{foo}
\nccircle{->}{A}{-1.5em}\naput{bar}}
\end{LTXexample}
\subsection{\CMD{psscalebox} and \CMD{psscaleboxto}}
To prevent clashes with the \verb+graphicx+ package, which also defines a \CMD{scalebox} macro
with different syntax,
\verb+PSTricks+ now defines \CMD{psscalebox} and \CMD{psscaleboxto}. For some compatibility reasons the old
names are still supported. With the new names it doesn'r matter if \verb+pstricks+ is loaded before or after
\verb+graphicx+.
\end{document}