diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pstricks/pstnews97-15.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/pstnews97-15.tex | 470 |
1 files changed, 470 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/pstnews97-15.tex b/Master/texmf-dist/doc/generic/pstricks/pstnews97-15.tex new file mode 100644 index 00000000000..f870ba62b38 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/pstnews97-15.tex @@ -0,0 +1,470 @@ +\documentclass[12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage{geometry} +\usepackage{url,calc} +\usepackage{pstricks} +\usepackage{pst-plot} +\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=[LaTeX]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 -- patch 15}\\new macros and bugfixes for \texttt{pstricks}} +\author{Herbert Voß\thanks{% +\url{Herbert.Voss@perce.de}} \and Rolf Niepraschk\thanks{\url{Rolf.Niepraschk@ptb.de}}} +\date{2004/05/12} + +\maketitle + +\begin{abstract} +It is long time ago since \verb+pstricks.tex patch 14+ came out. The new version +\verb+patch 15+ fixes some bugs and provides three new elliptic macros, which were +already present in the old beta version of \verb+PSTricks+. + +There is also a new \verb+pstricks.sty+, which makes the \verb+\pstcol+ package +obsolete. It uses the new color package \verb+xcolor+, which provides a much more +powerful color management than \verb+color.sty+ does. The \verb+pstricks.sty+ is +a real \LaTeX{} package, it makes no sense for \TeX{} users. Nevertheless, using +of \verb+pstcol+ or package \verb+color+ is still possible. + +Timothy Van Zandt was the one, who creates \verb+PSTricks+, but Denis Girou was +the one who makes it run over many years. Needless to say, how important his work is +for \verb+PSTricks+. Since more than nine month we are unable to get in touch with +Denis, which is the reason why this update of \verb+PSTricks+ comes without any +comments from Denis. +\end{abstract} + +\clearpage +\tableofcontents + +\clearpage + +\section{New fill style \texttt{eofill}} +\PS\ has a special fillstyle, called \verb|eofill|, which is now available +with the option +\verb|fillstyle=eofill|. The following two images show the difference, +the first one is filled with +\verb|fillstyle=solid| and the second one with the new option \verb|fillstyle=eofill|. + +\begin{minipage}{5.5cm} +\begin{pspicture}(5,2.5) +\pspolygon[unit=0.5cm,% + fillstyle=solid,% + fillcolor=yellow](7,3)(0,0)(1,3) + (5,5)(10,3)(2,2)(7,5)(7,3) +\end{pspicture} +\end{minipage}\hfill% +\begin{minipage}{\linewidth-6cm} +\begin{lstlisting} +\begin{pspicture}(5,2.5) +\pspolygon[unit=0.5cm,% + fillstyle=solid,% + fillcolor=yellow](7,3)(0,0)(1,3) + (5,5)(10,3)(2,2)(7,5)(7,3) +\end{pspicture} +\end{lstlisting} +\end{minipage} + + +\begin{minipage}{5.5cm} +\begin{pspicture}(5,2.5) +\pspolygon[unit=0.5cm,% + fillstyle=eofill,% + fillcolor=yellow](7,3)(0,0)(1,3)% + (5,5)(10,3)(2,2)(7,5)(7,3) +\end{pspicture} +\end{minipage}\hfill% +\begin{minipage}{\linewidth-6cm} +\begin{lstlisting} +\begin{pspicture}(5,2.5) +\pspolygon[unit=0.5cm,% + fillstyle=eofill,% + fillcolor=yellow](7,3)(0,0)(1,3)% + (5,5)(10,3)(2,2)(7,5)(7,3) +\end{pspicture} +\end{lstlisting} +\end{minipage} + +\section{Dashed lines} +By default a dash line can be set with the option \verb+dash=<black> <white>+, +e.g. \verb+dash=10pt 5pt+. This definition makes it impossible to define a +dashed/dotted line. \verb+pstricks-add+ redefines this option for a use with +four parameters \verb+dash=<black> <white> <black> <white>+, +where the last two can be omit. The following examples show different values for these +parameters: + + +\medskip +\begin{center} +\begin{minipage}{10.5cm}% +\psset{linestyle=dashed,dashadjust=false} +\noindent +\psline[dash=1 1](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 0.5](0,0)(10,0)\\ +\psline[dash=1 0.2 0.05 0.2](0,0)(10,0)\\ +\psline[dash=0.05 0.2 1 0.2](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 1 1 2](0,0)(10,0)\\ + +\psset{dashadjust=true} +\noindent +\psline[dash=1 1](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 0](0,0)(10,0)\\ +\psline[dash=1 0.2 0.05 0.2](0,0)(10,0)\\ +\psline[dash=0.05 0.2 1 0.2](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 1 1 2](0,0)(10,0) +\end{minipage} +\end{center} + + +\medskip +\begin{lstlisting} +{\psset{linestyle=dashed,dashadjust=false} +\psline[dash=1 1](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 0.5](0,0)(10,0)\\ +\psline[dash=1 0.2 0.05 0.2](0,0)(10,0)\\ +\psline[dash=0.05 0.2 1 0.2](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 1 1 2](0,0)(10,0)\\ + +\psset{dashadjust=true} +\psline[dash=1 1](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 0](0,0)(10,0)\\ +\psline[dash=1 0.2 0.05 0.2](0,0)(10,0)\\ +\psline[dash=0.05 0.2 1 0.2](0,0)(10,0)\\ +\psline[linewidth=1mm,dash=2 1 1 2](0,0)(10,0)} +\end{lstlisting} + + +As seen in the above code, it is no problem to use dashed lines in the usual way +with two parameters. + + +\section{Ellipses} +\verbI{pstricks - patch 14} has only the following macro for drawing an ellipse: + +{\small\begin{verbatim} +\psellipse[<option>](x,y)(a,b) +\psellipse*[<option>](x,y)(a,b) +\end{verbatim}} + +\noindent whith \verbI{(x,y)} as the center and \verbI{(a,b)} as the two radians +(figure \ref{pstricks}). + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(0,-0.25)(5,3.25) + \psgrid + \psellipse[% + linewidth=0.2,% + linecolor=red](2.5,1.5)(2,1) + \psellipse*[% + linecolor=blue](2.5,1.5)(0.5,1.5) +\end{pspicture}% +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(0,-0.25)(5,3.25) + \psgrid + \psellipse[% + linewidth=0.2,% + linecolor=red](2.5,1.5)(2,1) + \psellipse*[% + linecolor=blue](2.5,1.5)(0.5,1.5) +\end{pspicture}% +\end{lstlisting} +\end{minipage}% +\caption{The \verbI{pstricks} macro \CMD{psellipse}}\label{pstricks} +\end{figure} + +\subsection{Ellipse based on \texttt{pst-plot}} + +With the \CMD{parametricplot} macro from \verbI{pst-plot} we can define a new macro for +drawing ellipses: + +\begin{lstlisting} +% #1 options +% #2 a +% #3 b +% #4 start angle +% #5 end angle +\newcommand{\pstEllipse}[5][]{% + \psset{#1} + \parametricplot{#4}{#5}{#2\space t cos mul #3\space t sin mul}} +\end{lstlisting} + +\noindent which has the syntax + +{\small\begin{verbatim} +\pstEllipse[<options>]{a}{b}{start angle}{end angle} +\end{verbatim}} + +This macro is not part of of \verb|pstricks.tex|, it is only defined for some demonstration. + +\newcommand*{\pstEllipse}[5][]{% + \psset{#1} + \parametricplot{#4}{#5}{#2\space t cos mul #3\space t sin mul}% +} + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(-2.25,-1.75)(2.25,1.75) + \psgrid + \pstEllipse[% + linewidth=0.2,% + linecolor=red]{2}{1}{0}{360} + \pstEllipse[% + linewidth=0.1,% + arrows=|->,% + arrowsize=0.5,% + linecolor=blue]{1}{2}{-30}{250} +\end{pspicture}% +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(-2.25,-1.75)(2.25,1.75) + \psgrid + \pstEllipse[% + linewidth=0.2,% + linecolor=red]{2}{1}{0}{360} + \pstEllipse[% + linewidth=0.1,arrows=|->,% + arrowsize=0.5,% + linecolor=blue]{1}{2}{-30}{250} +\end{pspicture}% +\end{lstlisting} +\end{minipage}% +\caption{The macro \CMD{pstEllipse} which uses the \CMD{parametricplot} macro +from \verbI{pst-plot}}\label{parametric} +\end{figure} + +As seen in figure \ref{parametric} it is no problem to draw arcs of an ellipse. +The center of these ellipses are by default $(0,0)$, with the \CMD{rput} macro +it is also not a problem to put the ellipse anywhere in the coordinate system with +any angle of rotating. + + +\subsubsection{Wedge of an ellipse} +To define a macro for a wedge of an ellipse (figure \ref{parametric-wedge}) is also easy with +the \verb+\pscustom+ macro. which uses the following code: + + +% +\newcommand*{\pstEllipseWedge}[5][]{% + \psset{#1}% + \pscustom{% + \parametricplot{#4}{#5}{#2\space t cos mul #3\space t sin mul}% + \psline(! #2\space #5\space cos mul #3\space #5\space sin mul)% + (0,0)% + (! #2\space #4\space cos mul #3\space #4\space sin mul)% + }% +} +% + +\begin{lstlisting} +% #1 options +% #2 a +% #3 b +% #4 start angle +% #5 end angle +\newcommand{\pstEllipseWedge}[5][]{% + \psset{#1} + \pscustom{% + \parametricplot{#4}{#5}{#2\space t cos mul #3\space t sin mul}% + \psline(! #2\space #5\space cos mul #3\space #5\space sin mul)% + (0,0)% + (! #2\space #4\space cos mul #3\space #4\space sin mul)% + }% +} +\end{lstlisting} + +This macro is also not part of of \verb|pstricks.tex|, it is only defined for some +demonstration. + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(-2.25,-1.75)(2.25,1.75) + \psgrid + \pstEllipseWedge[% + linewidth=0.05,linecolor=red,% + fillstyle=hlines,% + fillcolor=red]{2}{1}{0}{130} + \pstEllipseWedge[% + linewidth=0.1,% + linecolor=blue,% + fillstyle=vlines,% + fillcolor=blue]{1}{2}{-30}{190} +\end{pspicture}% +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(-2.25,-1.75)(2.25,1.75) + \psgrid + \pstEllipseWedge[% + linewidth=0.05,linecolor=red,% + fillstyle=hlines,% + fillcolor=red]{2}{1}{0}{130} + \pstEllipseWedge[% + linewidth=0.1,linecolor=blue,% + fillstyle=vlines,% + fillcolor=blue]{1}{2}{-30}{190} +\end{pspicture}% +\end{lstlisting} +\end{minipage}% +\caption{The macro \CMD{pstEllipseWedge} which uses the \CMD{parametricplot} +macro from \verbI{pst-plot}}\label{parametric-wedge} +\end{figure} + +\subsection{New ellipse macros} + +All macros defined in this package are original from Timothy Van Zandt and Denis Girou and +modified by several other authors. The available macros are + +{\small\begin{verbatim} +\psellipticarc[<options>] + {<arrows>}(<center>)(a,b){start angle}{end angle} +\psellipticarcn[<options>] + {<arrows>}(<center>)(a,b){start angle}{end angle} +\psellipticwedge[<options>] + {<arrows>}(<center>)(a,b){start angle}{end angle} +\end{verbatim}} + +\subsubsection{Arc of an ellipse} + +Figure \ref{pst-ellipse-arc} shows different examples for this macro. + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psgrid + \psellipticarc[linewidth=0.1]{|->}(0,0)(1.5,1){0}{180} + \psellipticarc[linecolor=red](0,0)(0.5,1.5){30}{320} +\end{pspicture} +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psellipticarc[linewidth=0.1]{|->}(0,0)(1.5,1){0}{180} + \psellipticarc[linecolor=red](0,0)(0.5,1.5){30}{320} +\end{pspicture} +\end{lstlisting} +\end{minipage}% +\caption{The macro \CMD{psellipticarc}}\label{pst-ellipse-arc} +\end{figure} + +\subsection{Arc of an ellipse with anti clockwise direction} + +Figure \ref{pst-ellipse-arcN} shows different examples for this macro which is the same than the one figure \ref{{pst-ellipse-arc}} only drawn anti clockwise. + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psgrid + \psellipticarcn[linewidth=0.1]{|->}(0,0)(1.5,1){0}{180} + \psellipticarcn[linecolor=red](0,0)(0.5,1.5){30}{320} +\end{pspicture} +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psellipticarcn[linewidth=0.1]{|->}(0,0)(1.5,1){0}{180} + \psellipticarcn[linecolor=red](0,0)(0.5,1.5){30}{320} +\end{pspicture} +\end{lstlisting} +\end{minipage}% +\caption{The macro \CMD{psellipticarcn}}\label{pst-ellipse-arcN} +\end{figure} + + +\subsubsection{Wedge of an ellipse} + +Figure \ref{pst-ellipse-wedge} shows different examples for this macro. + +\begin{figure}[htb] +\begin{minipage}{0.39\columnwidth} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psgrid + \psellipticwedge[% + fillstyle=vlines,% + linewidth=0.1](0,0)(1.5,1){0}{200} + \psellipticwedge[% + fillstyle=hlines,% + linecolor=red](0,0)(0.5,1.5){30}{220} +\end{pspicture} +\end{minipage}% +\hfill% +\begin{minipage}{0.59\columnwidth} +\begin{lstlisting} +\begin{pspicture}(-2.25,-2.25)(2.25,2.25) + \psgrid + \psellipticwedge[% + fillstyle=vlines,% + linewidth=0.1](0,0)(1.5,1){0}{200} + \psellipticwedge[% + fillstyle=hlines,% + linecolor=red](0,0)(0.5,1.5){30}{220} +\end{pspicture} +\end{lstlisting} +\end{minipage}% +\caption{The macro \CMD{psellipticwedge}}\label{pst-ellipse-wedge} +\end{figure} + +\section{\texttt{pstricks.sty}} +In the past there were some problems with \verb+pstricks.tex+ and the package \verb+color.sty+. +\verb+pstcol.sty+ tried to get rid of them but not with success in any case. The +new package \verb+pstricks.sty+ loads first \verb+pstricks.tex+, does some modifcation +to \verb+pstricks+, loads \verb+xcolor.sty+ and some more modifications to the the code to +get \verb+pstricks+ and colors work in a right way. It also renames the \verb+\scalebox+ +macro to \verb+\psscalebox+ to prevend clashes with the one from the package \verb+graphicx.sty+ which has the +same name but another syntax. If you want to use the macro from \verb+graphicx+, then load this +package as the last one. + + +\end{document}
\ No newline at end of file |