summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-07-02 18:05:35 +0000
committerKarl Berry <karl@freefriends.org>2008-07-02 18:05:35 +0000
commit19f58e5098cf443de58d21c46f277ff489457c4b (patch)
tree0b004bdf085fe1c098de0f03a219ec92bd6d1654 /Master/texmf-dist/source
parent0877203879f5740a1fe1f5ca82680de5e1200be4 (diff)
pstricks update (1jul08)
git-svn-id: svn://tug.org/texlive/trunk@9169 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/generic/pstricks/Makefile97
-rw-r--r--Master/texmf-dist/source/generic/pstricks/defaults.pst149
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-3d.tex12
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-basi.tex648
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-cove.tex108
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-cust.tex406
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-esse.tex392
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-fill.tex12
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-help.tex332
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-node.tex1279
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-para.tex345
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-pict.tex500
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-spec.tex500
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-text.tex260
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-tree.tex816
-rw-r--r--Master/texmf-dist/source/generic/pstricks/pst-user.cls1111
-rw-r--r--Master/texmf-dist/source/generic/pstricks/pst-user.ist7
-rw-r--r--Master/texmf-dist/source/generic/pstricks/pst-user.tex87
18 files changed, 0 insertions, 7061 deletions
diff --git a/Master/texmf-dist/source/generic/pstricks/Makefile b/Master/texmf-dist/source/generic/pstricks/Makefile
deleted file mode 100644
index ce772c9e8cd..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/Makefile
+++ /dev/null
@@ -1,97 +0,0 @@
-
-# Rolf Niepraschk, niepraschk@ptb.de, 2003-02-23
-
-.SUFFIXES : .tex .dvi .ps .pdf .eps
-
-MAIN = pst-user
-
-# D.G. modification begin - Feb. 28, 2003
-#LATEX = elatex
-LATEX = latex
-# D.G. modification end
-PDFLATEX = pdfelatex
-PS2PDF = ps2pdf
-
-# D.G. modification begin - Feb. 28, 2003
-PS2PDF_OPT1 = -sPAPERSIZE=letter
-#PS2PDF_OPT1 = -sPAPERSIZE=a4
-# D.G. modification end
-PS2PDF_OPT2 = -sPAPERSIZE=letter
-
-DVIPSFLAGS1 = -Ppdf -G0
-DVIPSFLAGS2 = -Pwww -E
-#GSOPT = GS_OPTIONS=-dAutoRotatePages=/None
-GSOPT = GS_OPTIONS=-dPDFSETTINGS=/prepress
-
-PICS := $(PICS:.eps=.pdf)
-
-# D.G. modification begin - Mar. 7, 2003
-#ADDINPUTS = pst-user.cls defaults.pst
-ADDINPUTS = pst-user.cls defaults.pst \
- psd-cove.tex psd-esse.tex psd-basi.tex psd-para.tex psd-cust.tex \
- psd-pict.tex psd-text.tex psd-node.tex psd-tree.tex psd-fill.tex \
- psd-3d.tex psd-spec.tex psd-help.tex
-# D.G. modification end
-
-ARCHNAME = $(MAIN)-$(shell date +%y%m%d).zip
-
-# D.G. modification begin - Mar. 7, 2003
-TARNAME = $(MAIN)-$(shell date +%y%m%d).tar
-# D.G. modification end
-
-# D.G. modification begin - Feb. 28, 2003
-#all : $(MAIN).pdf $(MAIN)-old.pdf
-all : $(MAIN).pdf
-# D.G. modification end
-
-
-$(MAIN).dvi : $(MAIN).tex $(ADDINPUTS)
- $(LATEX) $<
-# D.G. modification begin - Feb. 28, 2003
-# makeindex -t $(basename $<).ilg $(basename $<)
-# D.G. modification end
- makeindex -t $(basename $<).ilg -s pst-user.ist $(basename $<)
- $(LATEX) $<
-
-$(MAIN).pdf : $(MAIN).ps
- $(PS2PDF) $(PS2PDF_OPT1) $< $@
-
-%.ps : %.dvi
- dvips $(DVIPSFLAGS1) $< -o $@
-
-pst-user-old.pdf : pst-user-old.tex pst-usr1.pdf pst-usr2.pdf pst-usr3.pdf \
- pst-usr4.pdf
- $(PDFLATEX) $<
-
-pst-usr%.pdf : pst-usr%.ps.gz
- zcat $< | $(PS2PDF) $(PS2PDF_OPT2) - > $@
-
-clean :
- $(RM) $(addprefix $(MAIN), .aux .ilg .ind .idx .log .out .tmp .toc)
-# D.G. modification begin - Mar. 7, 2003
-# $(RM) $(addprefix $(MAIN)-old, .log .aux)
-# $(RM) pst-usr?.pdf
-# D.G. modification end
-
-veryclean : clean
- $(RM) $(addprefix $(MAIN), .ps .dvi .pdf)
-# D.G. modification begin - Mar. 7, 2003
-# $(RM) $(MAIN)-old.pdf
- $(RM) *.aux
-# D.G. modification end
-
-arch :
- zip $(ARCHNAME) $(MAIN).tex $(ADDINPUTS) pst-user-old.tex Makefile
- @ echo ; echo $(ARCHNAME) ; echo
-
-# D.G. modification begin - Mar. 7, 2003
-tar:
- tar -cf $(TARNAME) $(MAIN).tex $(ADDINPUTS) \
- pst-user.ist pst-user.idx \
- CHANGES VERSIONS TODO \
- Makefile artistic.txt defaults.pst \
- pstricks.tex pst-eps.tex pst-node.tex pst-tree.tex \
- *.sty pst-user.pdf
- gzip --force $(TARNAME)
- ls -l $(TARNAME).gz
-# D.G. modification end
diff --git a/Master/texmf-dist/source/generic/pstricks/defaults.pst b/Master/texmf-dist/source/generic/pstricks/defaults.pst
deleted file mode 100644
index 4e3ba5f27f2..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/defaults.pst
+++ /dev/null
@@ -1,149 +0,0 @@
-%% defaults.pst
-%% Created with unix shell commands:
-%% grep ^.psset\@ pstricks.tex > defaults.pst
-%% grep ^.psset\@ pst-node.tex >> defaults.pst
-%% grep ^.psset\@ pst-grad.tex >> defaults.pst
-%% grep ^.psset\@ pst-coil.tex >> defaults.pst
-%% grep ^.psset\@ pst-eps.tex >> defaults.pst
-%% grep ^.psset\@ pst-plot.tex >> defaults.pst
-%% grep ^.psset\@ pst-tree.tex >> defaults.pst
-%% Input by pst-user.tex
-\psset@swapaxes{false}
-\psset@showpoints{false}
-\psset@border{0pt}
-\psset@bordercolor{white}
-\psset@doubleline{false}
-\psset@doublesep{1.25\pslinewidth}
-\psset@doublecolor{white}
-\psset@shadow{false}
-\psset@shadowsize{3pt}
-\psset@shadowangle{-45}
-\psset@shadowcolor{darkgray}
-\psset@linewidth{.8pt}
-\psset@linecolor{black}
-\psset@dash{5pt 3pt}
-\psset@dashadjust{true}
-\psset@dotsep{3pt}
-\psset@linestyle{solid}
-\psset@fillcolor{white}
-\psset@hatchwidth{.8pt}
-\psset@hatchsep{4pt}
-\psset@hatchcolor{black}
-\psset@hatchangle{45}
-\psset@fillstyle{none}
-\psset@arrowscale{1}
-\psset@arrowsize{1.5pt 2}
-\psset@arrowlength{1.4}
-\psset@arrowinset{.4}
-\psset@tbarsize{2pt 5}
-\psset@bracketlength{.15}
-\psset@rbracketlength{.15}
-\psset@arrows{-}
-\psset@liftpen{0}
-\psset@linetype{0}
-\psset@gangle{0}
-\psset@curvature{1 .1 0}
-\psset@dotsize{2pt 2}
-\psset@dotscale{1}
-\psset@dotangle{0}
-\psset@dotstyle{*}
-\psset@linearc{0pt}
-\psset@framearc{0}
-\psset@cornersize{relative}
-\psset@dimen{outer}
-\psset@gridwidth{.8pt}
-\psset@griddots{0}
-\psset@gridcolor{black}
-\psset@subgridwidth{.4pt}
-\psset@subgridcolor{gray}
-\psset@subgriddots{0}
-\psset@subgriddiv{5}
-\psset@gridlabels{10pt}
-\psset@gridlabelcolor{black}
-\psset@framesep{3pt}
-\psset@boxsep{true}
-\psset@trimode{U}
-\psset@arcsep{0}
-\psset@radius{.25cm}
-\psset@ref{c}
-\psset@rot{0}
-\psset@labelsep{5pt}
-\psset@refangle{0}
-\psset@nodealign{false}
-\psset@href{0}
-\psset@vref{.7ex}
-\psset@framesize{10pt}
-\psset@nodesep{0pt}
-\psset@arm{10pt}
-\psset@offset{0pt}
-\psset@angle{0}
-\psset@arcangle{8}
-\psset@ncurv{.67}
-\psset@loopsize{1cm}
-\psset@boxsize{.4cm}
-\psset@nrot{0}
-\psset@npos{}
-\psset@tpos{.5}
-\psset@shortput{none}
-\psset@colsep{1.5cm}
-\psset@rowsep{1.5cm}
-\psset@mcol{c}
-\psset@mnodesize{-1pt}
-\psset@mnode{R}
-\psset@emnode{none}
-\psset@gradbegin{gradbegin}
-\psset@gradend{gradend}
-\psset@gradlines{500}
-\psset@gradmidpoint{.9}
-\psset@gradangle{0}
-\psset@coilwidth{1cm}
-\psset@coilheight{1}
-\psset@coilarm{.5cm}
-\psset@coilaspect{45}
-\psset@coilinc{10}
-\psset@bbllx{0pt}
-\psset@bblly{0pt}
-\psset@bburx{0pt}
-\psset@bbury{0pt}
-\psset@headers{none}
-\psset@checkfile{true}
-\psset@makeeps{new}
-\psset@headerfile{}
-\psset@plotstyle{line}
-\psset@plotpoints{50}
-\psset@ticksize{3pt}
-\psset@tickstyle{full}
-\psset@ticks{all}
-\psset@labels{all}
-\psset@Ox{0}
-\psset@Dx{1}
-\psset@dx{0}
-\psset@Oy{0}
-\psset@Dy{1}
-\psset@dy{0}
-\psset@showorigin{true}
-\psset@axesstyle{axes}
-\psset@treemode{D}
-\psset@treeflip{false}
-\psset@root{\TC}
-\psset@treesep{.75cm}
-\psset@xtreesep{0pt}
-\psset@treenodesize{-1pt}
-\psset@treefit{tight}
-\psset@treerep{1}
-\psset@showbbox{false}
-\psset@levelsep{2cm}
-\psset@varlevelsep{false}
-\psset@treeshift{0}
-\psset@skiplevels{0}
-\psset@unary{middle}
-\psset@leafalign{false}
-\psset@edge{\ncline}
-\psset@skipedge{}
-\psset@fansize{1cm}
-\psset@tnsep{}
-\psset@tnyref{}
-\psset@tnheight{\ht\strutbox}
-\psset@tndepth{\dp\strutbox}
-\psset@tnpos{}
-\endinput
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-3d.tex b/Master/texmf-dist/source/generic/pstricks/psd-3d.tex
deleted file mode 100644
index 9837db6e91f..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-3d.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-%% BEGIN psd-3d.tex
-
-\part{Three Dimensional Graphics\label{P-threeD}}
-
-\Section{Overview}
-
-\File{pst-3d}
-The...
-
-\endinput
-
-%% END psd-3d.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-basi.tex b/Master/texmf-dist/source/generic/pstricks/psd-basi.tex
deleted file mode 100644
index 0d9f5ccea8b..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-basi.tex
+++ /dev/null
@@ -1,648 +0,0 @@
-%% BEGIN psd-basi.tex
-
-\part{Basic graphics objects\label{P-graphics}}
-
-\Section{Lines and polygons\label{S-lines}}
-
-The objects in this section also use the following parameters:
-\begin{description}
- \pitem[linearc=dim] The radius of arcs drawn at the corners of lines by the
- \n\psline{} and \n\pspolygon{} graphics objects. <dim> should be positive.
- \pitem[framearc=num] In the \n\psframe{} and the related box framing macros,
- the radius of rounded corners is set, by default, to one-half <num> times
- the width or height of the frame, whichever is less. <num> should be between
- 0 and 1.
- \pitem[cornersize=relative/absolute] If \p{cornersize} is "relative", then
- the \p{framearc} parameter determines the radius of the rounded corners for
- \n\psframe, as described above (and hence the radius depends on the size of
- the frame). If \p{cornersize} is "absolute", then the \p{linearc} parameter
- determines the radius of the rounded corners for \n\psframe{} (and hence the
- radius is of constant size).
-\end{description}
-
-
-Now here are the lines and polygons:
-\begin{description}
-
-\oitem \psline`{arrows}(\x0,\y0)'(\x1,\y1)`\ldots(\x n,\y n)'
-
- This draws a line through the list of coordinates. For example:
-\begin{MEx*}(4,2)
- \psline[linewidth=2pt,linearc=.25]{->}(4,2)(0,1)(2,0)
-\end{MEx*}
-
-\mitem \qline(coor0)(coor1)
-
- This is a streamlined version of \n\psline{} that does not pay attention to
-the \p{arrows} parameter, and that can only draw a single line segment. Note
-that both coordinates are obligatory, and there is no optional argument for
-setting parameters (use \n\psset{} if you need to change the \p{linewidth}, or
-whatever). For example:
-\begin{MEx*}(2,1)
- \qline(0,0)(2,1)
-\end{MEx*}
-
-\oitem \pspolygon`(\x0,\y0)'(\x1,\y1)(\x2,\y2)`\ldots(\x n,\y n)'
-
- This is similar to \n\psline, but it draws a closed path. For example:
-\begin{MEx*}(4,2)
- \pspolygon[linewidth=1.5pt](0,2)(1,2)
- \pspolygon*[linearc=.2,linecolor=darkgray](1,0)(1,2)(4,0)(4,2)
-\end{MEx*}
-
-\oitem \psframe`(\x0,\y0)'(\x1,\y1)
-
- \n\psframe{} draws a rectangle with opposing corners \c0 and \c1. For
-example:
-\begin{MEx*}(4,2)
- \psframe[linewidth=2pt,framearc=.3,fillstyle=solid,
- fillcolor=lightgray](4,2)
- \psframe*[linecolor=white](1,.5)(2,1.5)
-\end{MEx*}
-
-\oitem \psdiamond`\c0'\c1
-
- \n\psdiamond{} draws a diamond centered at \c0, and with the half width and
-height equal to \x1\ and \y1, respectively.
-\begin{MEx*}(4,2)
- \psdiamond[framearc=.3,fillstyle=solid,
- fillcolor=lightgray](2,1)(1.5,1)
-\end{MEx*}
-
-The diamond is rotated about the center by
-\begin{Ex}
- \Par{gangle=gangle}
-\end{Ex}
-
-\oitem \pstriangle`\c0'\c1
-
- \n\pstriangle{} draws an isosceles triangle with the base centered at \c0,
-and with width (base) and height equal to \x1{} and \y1, respectively.
-\begin{MEx*}(4,2)
- \pstriangle*[gangle=10](2,.5)(4,1)
-\end{MEx*}
-
-\end{description}
-
-\Section{Arcs, circles and ellipses}
-
-\begin{description}
-
-\oitem \pscircle`(\x0,\y0)'{radius}
-
-This draws a circle whose center is at \c0 and that has radius <radius>. For
-example:
-\begin{MEx*}[-1,-1](2,2)
- \pscircle[linewidth=2pt](.5,.5){1.5}
-\end{MEx*}
-
-\mitem \qdisk(coor){radius}
-
- This is a streamlined version of \n{\pscircle*}. Note that the two arguments
-are obligatory and there is no parameters arguments. To change the color of
-the disks, you have to use \n\psset:
-\begin{MEx}[1.9,2.9](2.1,3.1)
- \psset{linecolor=gray}
- \qdisk(2,3){4pt}
-\end{MEx}
-
-\oitem \pswedge`(\x0,\y0)'{radius}{angle1}{angle2}
-
- This draws a wedge whose center is at \c0, that has radius <radius>, and
-that extends counterclockwise from <angle1> to <angle2>. The angles must be
-specified in degrees. For example:
-\begin{MEx*}(2,2)
- \pswedge[linecolor=gray,linewidth=2pt,fillstyle=solid]{2}{0}{70}
-\end{MEx*}
-
-\oitem \psellipse`(\x0,\y0)'(\x1,\y1)
-
-\c0 is the center of the ellipse, and \x1 and \y1 are the horizontal and
-vertical radii, respectively. For example:
-% D.G. modification begin - Mar. 3, 2003
-%\begin{MEx*}[-1,-1.5](2,1)
-% D.G. modification end
-\begin{MEx*}[-1,-1](2,1)
- \psellipse[fillcolor=lightgray](.5,0)(1.5,1)
-\end{MEx*}
-
-\oitem \psarc`{arrows}\c~'{radius}{angleA}{angleB}
-
- This draws an arc from <angleA> to <angleB>, going counter clockwise, for a
-circle of radius <radius> and centered at \c{}. You must include either the
-{arrows} argument or the \c{} argument. For example:
-\begin{MEx*}(3,2)
- \psarc*[showpoints=true](1.5,1.5){1.5}{215}{0}
-\end{MEx*}
-See how \p{showpoints=true} draws a dashed line from the center to the arc;
-this is useful when composing pictures.
-
-\n\psarc{} also uses the parameters:
-\begin{description}
-
-\pitem[arcsepA=dim](0pt)
-
- <angleA> is adjusted so that the arc would just touch a line of width <dim>
-that extended from the center of the arc in the direction of <angleA>.
-
-\pitem[arcsepB=dim](0pt) This is like \p{arcsepA}, but <angleB> is adjusted.
-
-\pitem[arcsep=dim] This just sets both \p{arcsepA} and \p{arcsepB}.
-\end{description}
-These parameters make it easy to draw two intersecting lines and then use
-\n\psarc{} with arrows to indicate the angle between them. For example:
-\begin{MEx*}(4,3)
- \SpecialCoor
- \psline[linewidth=2pt](4;50)(0,0)(4;10)
- \psarc[arcsepB=2pt]{->}{3}{10}{50}
-\end{MEx*}
-
-\oitem \psarcn`{arrows}\c~'{radius}{angleA}{angleB}
-
- This is like \n\psarc, but the arc is drawn \emph{clockwise}. You can achieve
-the same effect using \n\psarc{} by switching <angleA> and <angleB> and the
-arrows.\footnote{%
-However, with \n\pscustom{} graphics object, described in Part \ref{P-custom},
-\n\psarcn{} is not redundant.}
-
-\oitem \psellipticarc`{arrows}(\x0,\y0)'(\x1,\y1){angleA}{angleB}
-
- This draws an elliptic from <angleA> to <angleB>, going counter clockwise,
-with \c0 the center of the ellipse and \x1 and \y1 the horizontal and
-vertical radii, respectively. For example:
-\begin{MEx*}[-1,-1](2,1)
- \psellipticarc[showpoints=true,arrowscale=2]{->}(.5,0)(1.5,1){215}{0}
-\end{MEx*}
-See how \p{showpoints=true} draws a dashed line from the center to the arc;
-this is useful when composing pictures.
-
-Like \n\psarc, \n\psellipticarc{} use the \p{arcsep}/\p{arcsepA}/\p{arcsepB}
-parameters.
-
-Unlike \n\psarc, \n\psellipticarc use the
-\p{dimen}=\p{inner}/\p{middle}/\p{outer} parameter.
-
-\oitem \psellipticarcn`{arrows}(\x0,\y0)'(\x1,\y1){angleA}{angleB}
-
- This is like \n\psellipticarc, but the arc is drawn \emph{clockwise}. You can
-achieve the same effect using \n\psellipticarc{} by switching <angleA> and
-<angleB> and the arrows.\footnote{%
-However, with \n\pscustom{} graphics object, described in Part \ref{P-custom},
-\n\psellipticarcn{} is not redundant.}
-
-\end{description}
-
-
-\Section{Curves}
-
-\begin{description}
-
-\oitem \psbezier`{arrows}(\x0,\y0)'(\x1,\y1)(\x2,\y2)(\x3,\y3)
-
- \n\psbezier{} draws a bezier curve with the four control points. The curve
-starts at the first coordinate, tangent to the line connecting to the second
-coordinate. It ends at the last coordinate, tangent to the line connecting to
-the third coordinate. The second and third coordinates, in addition to
-determining the tangency of the curve at the endpoints, also ``pull'' the
-curve towards themselves. For example:
-\begin{MEx}(4,4)
- \psbezier[linewidth=2pt,showpoints=true]{->}(0,0)(1,4)(2,1)(4,3.5)
-\end{MEx}
-\p{showpoints=true} puts dots in all the control points, and connects them by
-dashed lines, which is useful when adjusting your bezier curve.
-
-\oitem \parabola`{arrows}'\c0\c1
-
- Starting at \c0, \n\parabola{} draws the parabola that passes through \c0 and
-whose maximum or minimum is \c1. For example:
-\begin{MEx*}(4,3)
- \parabola*(1,1)(2,3)
- \psset{xunit=.01}
- \parabola{<->}(400,3)(200,0)
-\end{MEx*}
-\end{description}
-
-The next three graphics objects interpolate an open or closed curve through
-the given points. The curve at each interior point is perpendicular to the
-line bisecting the angle ABC, where B is the interior point, and A and C are
-the neighboring points. Scaling the coordinates \emph{does not} cause the curve
-to scale proportionately.
-
-The curvature is controlled by the following parameter:
-\begin{description}
-\pitem[curvature=num1 num2 num3]
-
- You have to just play around with this parameter to get what you want.
-Individual values outside the range -1 to 1 are either ignored or are for
-entertainment only. Below is an explanation of what each number does. A, B and
-C refer to three consecutive points.
-
- Lower values of <num1> make the curve tighter.
-
- Lower values of <num2> tighten the curve where the angle ABC is greater than
-45 degrees, and loosen the curve elsewhere.
-
- <num3> determines the slope at each point. If <num3>=0, then the curve is
-perpendicular at B to the bisection of ABC. If <num3>=-1, then the curve at B
-is parallel to the line AC. With this value (and only this value), scaling the
-coordinates causes the curve to scale proportionately. However, positive
-values can look better with irregularly spaced coordinates. Values less than
--1 or greater than 2 are converted to -1 and 2, respectively.
-\end{description}
-
-Here are the three curve interpolation macros:
-\begin{description}
-
-\oitem \pscurve`{arrows}'\c1`\ldots\cn'
-
- This interpolates an open curve through the points. For example:
-\begin{MEx*}(4,2)
- \pscurve[showpoints=true]{<->}(0,1.3)(0.7,1.8)
- (3.3,0.5)(4,1.6)(0.4,0.4)
-\end{MEx*}
-Note the use of \p{showpoints=true} to see the points. This is helpful when
-constructing a curve.
-
-\oitem \psecurve`{arrows}'\c1`\ldots\cn']
-
- This is like \n\pscurve, but the curve is not extended to the first and last
-points. This gets around the problem of trying to determine how the curve
-should join the first and last points. The "e" has something to do with
-``endpoints''. For example:
-% D.G. modification begin - Mar. 3, 2003
-%\begin{MEx*}[0,-.9](4,4)
-% D.G. modification end
-\begin{MEx*}(4,4)
- \psecurve[showpoints=true](.125,8)(.25,4)(.5,2)
- (1,1)(2,.5)(4,.25)(8,.125)
-\end{MEx*}
-
-\oitem \psccurve`{arrows}'\c1`\ldots\cn'
-
-This interpolates a closed curve through the points. "c" stands for
-``closed''. For example:
-\begin{MEx*}(4,1)
- \psccurve[showpoints=true]
- (.5,0)(3.5,1)(3.5,0)(.5,1)
-\end{MEx*}
-\end{description}
-
-\Section{Dots\label{S-dots}}
-
-The graphics objects
-\begin{Ex}
- \object \psdot`*[par](\x1,y1)'
- \object \psdots`*[par]'(\x1,\y1)`(\x2,\y2)\ldots(\x n,\y n)'
-\end{Ex}
-put a dot at each coordinate.
-
-What a ``dot'' is depends on the value of the
-\begin{Ex}
- \Par{dotstyle=style}
-\end{Ex}
-parameter. This also determines the dots you get when \p{showpoints=true}.
-
-The dot styles are also pretty intuitive:%
-\newbox\dottable
-\setbox\dottable=\hbox{%
- \psset{fillcolor=lightgray}
- \def\mydots#1{%
- \psdots[dotstyle=#1](.1,1ex)(.55,1ex)(1,1ex)(1.45,1ex)(1.9,1ex)}%
- \hfill
- \begin{tabular}{cl}%
- \emph{Style} & \hbox to 2cm{\emph{Example}\hss} \\[2pt]
- "*" & \mydots{*}\\
- "o" & \mydots{o}\\
- "Bo" & \mydots{Bo}\\
- "x" & \mydots{x}\\
- "+" & \mydots{+}\\
- "B+" & \mydots{B+}\\
- "asterisk" & \mydots{asterisk}\\
- "Basterisk" & \mydots{Basterisk}\\
- "oplus" & \mydots{oplus}\\
- "otimes" & \mydots{otimes}\\
- "|" & \mydots{|}\\
- "B|" & \mydots{B|}
- \end{tabular}%
- \hfill
- \begin{tabular}{cl}
- \emph{Style} & \hbox to 2cm{\emph{Example}\hss} \\[2pt]
- "square" & \mydots{square}\\
- "Bsquare" & \mydots{Bsquare}\\
- "square*" & \mydots{square*}\\
- "diamond" & \mydots{diamond}\\
- "diamond*" & \mydots{diamond*}\\
- "triangle" & \mydots{triangle}\\
- "Btriangle" & \mydots{Btriangle}\\
- "triangle*" & \mydots{triangle*}\\
- "pentagon" & \mydots{pentagon}\\
- "Bpentagon" & \mydots{Bpentagon}\\
- "pentagon*" & \mydots{pentagon*}\\
- \end{tabular}%
- \hfill}%
-\addtoquickref{center}{%
- {\large\textbf{Dot styles}}\par
- \leavevmode\hbox to \hsize{\unhbox\dottable}}
-\begin{center}
- \leavevmode
- \hbox to \hsize{\unhcopy\dottable}%
-\end{center}
-
-Except for "diamond", the center of dot styles with a hollow center is colored
-\p{fillcolor}.
-
-Here are the parameters for changing the size and orientation of the dots:
-\begin{description}
-
-\pitem[dotsize=dim `num']
- The diameter of a circle or disc is <dim> plus <num> times \p{linewidth}
-(if the optional <num> is included). The size of the other dots styles is
-similar (except for the size of the "|" dot style, which is set by the
-\p{tbarsize} parameter described on page \pageref{p+tbarsize}).
-
-\pitem[dotscale=num1 `num2']
-The dots are scaled horizontally by <num1> and vertically by <num2>. If you
-only include <num1>, the arrows are scaled by <num1> in both directions.
-
-\pitem[dotangle=angle]
- After setting the size and scaling the dots, the dots are rotated by <angle>.
-
-\end{description}
-
-
-\Section{Grids\label{S-grids}}
-
-PSTricks has a powerful macro for making grids and graph paper:
- \Mac \psgrid`(\x0,\y0)(\x1,\y1)(\x2,\y2)'
-\n\psgrid{} draws a grid with opposing corners \c1 and \c2. The intervals are
-numbered, with the numbers positioned at \x0 and \y0. The coordinates are
-always interpreted as Cartesian coordinates. For example:
-\begin{MEx}[-1,-1](3,2)
- \psgrid(0,0)(-1,-1)(3,2)
-\end{MEx}
-(Note that the coordinates and label positioning work the same as with
-\n\psaxes.)
-
-The main grid divisions occur on multiples of \p{xunit} and \p{yunit}.
-Subdivisions are allowed as well. Generally, the coordinates would be given as
-integers, without units.
-
-If the \c0 coordinate is omitted, \c1 is used. The default for \c1 is "(0,0)".
-If you don't give any coordinates at all, then the coordinates of the current
-\n\pspicture{} environment are used or a 10x10 grid is drawn. Thus, you can
-include a \n\psgrid{} command without coordinates in a \n\pspicture\
-environment to get a grid that will help you position objects in the picture.
-
-The main grid divisions are numbered, with the numbers drawn next to the
-vertical line at \x0 (away from \x2) and next to the horizontal line at \x1
-(away from \y2). \c1 can be any corner of the grid, as long as \c2 is the
-opposing corner, you can position the labels on any side you want. For
-example, compare
-\begin{MEx}(4,1)
- \psgrid(0,0)(4,1)
-\end{MEx}
-and
-\begin{MEx}(4,1)
- \psgrid(4,1)(0,0)
-\end{MEx}
-
-The following parameters apply only to \n\psgrid:
-\begin{description}
-
-\pitem[gridwidth=dim]
- The width of grid lines.
-
-\pitem[gridcolor=color]
- The color of grid lines.
-
-\pitem[griddots=num]
- If <num> is positive, the grid lines are dotted, with <num> dots per
-division.
-
-\pitem[gridlabels=dim]
- The size of the numbers used to mark the grid.
-
-\pitem[gridlabelcolor=color]
- The color of the grid numbers.
-
-\pitem[subgriddiv=int]
- The number of grid subdivisions.
-
-\pitem[subgridwidth=dim]
- The width of subgrid lines.
-
-\pitem[subgridcolor=color]
- The color of subgrid lines.
-
-\pitem[subgriddots=num]
- Like \p{griddots}, but for subdivisions.
-
-\end{description}
-
-Here is a familiar looking grid which illustrates some of the parameters:
-\begin{MEx}[-1,-1](3,1)
- \psgrid[subgriddiv=1,griddots=10,gridlabels=7pt](-1,-1)(3,1)
-\end{MEx}
-
-Note that the values of \p{xunit} and \p{yunit} are important parameters for
-\n\psgrid, because they determine the spacing of the divisions. E.g., if the
-value of these is "1pt", and then you type
-\begin{LVerb}
- \psgrid(0,0)(10in,10in)
-\end{LVerb}
-you will get a grid with 723 main divisions and 3615 subdivisions! (Actually,
-\n\psgrid{} allows at most 500 divisions or subdivisions, to limit the damage
-done by this kind of mistake.) Probably you want to set \p{unit} to ".5in" or
-"1in", as in
-\begin{LVerb}
- \psgrid[unit=.5in](0,0)(20,20)
-\end{LVerb}
-
-
-\Section{Plots}
-
-\File{pst-plot}
-The plotting commands described in this part are defined in
-"pst-plot.tex" / "pst-plot.sty", which you must load first.
-
-The \n\psdots, \n\psline, \n\pspolygon, \n\pscurve, \n\psecurve{} and
-\n\psccurve{} graphics objects let you plot data in a variety of ways. However,
-first you have to generate the data and enter it as coordinate pairs \c{}.
-The plotting macros in this section give you other ways to get and use the
-data. (Section \ref{S-axes} tells you how to generate axes.)
-
-To parameter
-\begin{Ex}
- \Par{plotstyle=style}
-\end{Ex}
-determines what kind of plot you get. Valid styles are "dots", "line",
-"polygon", "curve", "ecurve", "ccurve". E.g., if the \p{plotstyle} is
-"polygon", then the macro becomes a variant of the \n\pspolygon{} object.
-
-You can use arrows with the plot styles that are open curves, but there is no
-optional argument for specifying the arrows. You have to use the \p{arrows}
-parameter instead.
-
-\begin{Warning}
-No PostScript error checking is provided for the data arguments. Read Appendix
-\ref{S-raw} before including PostScript code in the arguments.
-
-There are system-dependent limits on the amount of data \TeX{} and PostScript
-can handle. You are much less likely to exceed the PostScript limits when you
-use the "line", "polygon" or "dots" plot style, with \p{showpoints=false},
-\p{linearc=0pt}, and no arrows.
-\end{Warning}
-
-Note that the lists of data generated or used by the plot commands cannot
-contain units. The values of \n\psxunit{} and \n\psyunit{} are used as the unit.
-
-
-\begin{description}
-
-\oitem \fileplot{file}
-
-\n\fileplot{} is the simplest of the plotting functions to use. You just need a
-file that contains a list of coordinates (without units), such as generated by
-Mathematica or other mathematical packages. The data can be delimited by curly
-braces "{"~"}", parentheses "("~")", commas, and/or white space. Bracketing
-all the data with square brackets "[ ]" will significantly speed up the rate
-at which the data is read, but there are system-dependent limits on how much
-data \TeX{} can read like this in one chunk. (The "[" \emph{must} go at the
-beginning of a line.) The file should not contain anything else (not even
-"\endinput"), except for comments marked with "%".
-
-\n\fileplot{} only recognizes the "line", "polygon" and "dots" plot styles, and
-it ignores the \p{arrows}, \p{linearc} and \p{showpoints} parameters. The
-\n\listplot{} command, described below, can also plot data from file, without
-these restrictions and with faster \TeX{} processing. However, you are less
-likely to exceed PostScript's memory or operand stack limits with \n\fileplot.
-
-If you find that it takes \TeX{} a long time to process your \n\fileplot\
-command, you may want to use the \n\PSTtoEPS{} command described on page
-\pageref{+PSTtoEPS}. This will also reduce \TeX's memory requirements.
-
-\oitem \dataplot{commands}
-
-\n\dataplot{} is also for plotting lists of data generated by other programs,
-but you first have to retrieve the data with one of the following commands:
-\begin{Ex}
- \object \savedata{command}[data]
- \object \readdata{command}{file}
-\end{Ex}
-<data> or the data in <file> should conform to the rules described above for
-the data in \n\fileplot{} (with \n\savedata, the data must be delimited by
-"["~"]", and with \n\readdata, bracketing the data with "["~"]" speeds things
-up). You can concatenate and reuse lists, as in
-\begin{LVerb}
- \readdata{\foo}{foo.data}
- \readdata{\bar}{bar.data}
- \dataplot{\foo\bar}
- \dataplot[origin={0,1}]{\bar}
-\end{LVerb}
-
-The \n\readdata{} and \n\dataplot{} combination is faster than \n\fileplot{}
-if you reuse the data. \n\fileplot{} uses less of \TeX's memory than
-\n\readdata{} and \n\dataplot{} if you are also use \n\PSTtoEPS.
-
-Here is a plot of "Integral(sin(x))". The data was generated by Mathematica,
-with
-\begin{LVerb}
- Table[{x,N[SinIntegral[x]]},{x,0,20}]
-\end{LVerb}
-and then copied to this document.
-\begin{MEx}(4,3)
- \psset{xunit=.2cm,yunit=1.5cm}
- \savedata{\mydata}[
- {{0, 0}, {1., 0.946083}, {2., 1.60541}, {3., 1.84865}, {4., 1.7582},
- {5., 1.54993}, {6., 1.42469}, {7., 1.4546}, {8., 1.57419},
- {9., 1.66504}, {10., 1.65835}, {11., 1.57831}, {12., 1.50497},
- {13., 1.49936}, {14., 1.55621}, {15., 1.61819}, {16., 1.6313},
- {17., 1.59014}, {18., 1.53661}, {19., 1.51863}, {20., 1.54824}}]
- \dataplot[plotstyle=curve,showpoints=true,
- dotstyle=triangle]{\mydata}
- \psline{<->}(0,2)(0,0)(20,0)
-\end{MEx}
-
-\oitem \listplot{list}
-
-\n\listplot{} is yet another way of plotting lists of data. This time, <list>
-should be a list of data (coordinate pairs), delimited only by white space.
-<list> is first expanded by \TeX{} and then by PostScript. This means that
-<list> might be a PostScript program that leaves on the stack a list of data,
-but you can also include data that has been retrieved with \n\readdata{} and
-\n\dataplot. However, when using the "line", "polygon" or "dots" plotstyles
-with \p{showpoints=false}, \p{linearc=0pt} and no arrows, \n\dataplot{} is much
-less likely than \n\listplot{} to exceed PostScript's memory or stack limits.
-In the preceding example, these restrictions were not satisfied, and so the
-example is equivalent to when \n\listplot{} is used:
-\begin{LVerb}
- ...
- \listplot[plotstyle=curve,showpoints=true,
- dotstyle=triangle]{\mydata}
- ...
-\end{LVerb}
-
-\oitem \psplot{$x_!\min@$}{$x_!\max@$}{function}
-
- \n\psplot{} can be used to plot a function $f(x)$, if you know a little
-PostScript. <function> should be the PostScript code for calculating $f(x)$.
-Note that you must use $x$ as the dependent variable. PostScript is not
-designed for scientific computation, but \n\psplot{} is good for graphing
-simple functions right from within \TeX. E.g.,
-\begin{LVerb}
- \psplot[plotpoints=200]{0}{720}{x sin}
-\end{LVerb}
-plots $\sin(x)$ from 0 to 720 degrees, by calculating $\sin(x)$ roughly every
-3.6 degrees and then connecting the points with \n\psline. Here are plots of
-$\sin(x)\cos((x/2)^2)$ and $\sin^2(x)$:
-\begin{MEx}[0,-1](4,1)
- \psset{xunit=1.2pt}
- \psplot[linecolor=gray,linewidth=1.5pt,plotstyle=curve]%
- {0}{90}{x sin dup mul}
- \psplot[plotpoints=100]{0}{90}{x sin x 2 div 2 exp cos mul}
- \psline{<->}(0,-1)(0,1)
- \psline{->}(100,0)
-\end{MEx}
-
-\oitem \parametricplot{$t_!\min@$}{$t_!\max@$}{function}
-
-This is for a parametric plot of $(x(t),y(t))$. <function> is the PostScript
-code for calculating the pair $x(t)$ $y(t)$.
-
-For example,
-\begin{MEx*}(3,3)
- \parametricplot[plotstyle=dots,plotpoints=13]%
- {-6}{6}{1.2 t exp 1.2 t neg exp}
-\end{MEx*}
-plots 13 points from the hyperbola $xy=1$, starting with $(1.2^{-6},1.2^6)$
-and ending with $(1.2^6,1.2^{-6})$.
-
-Here is a parametric plot of $(\sin(t),\sin(2t))$:
-\begin{MEx}[-2,-1](2,1)
- \psset{xunit=1.7cm}
- \parametricplot[linewidth=1.2pt,plotstyle=ccurve]%
- {0}{360}{t sin t 2 mul sin}
- \psline{<->}(0,-1.2)(0,1.2)
- \psline{<->}(-1.2,0)(1.2,0)
-\end{MEx}
-
-\end{description}
-
-The number of points that the \n\psplot{} and \n\parametricplot{} commands
-calculate is set by the
-\begin{Ex}
- \Par{plotpoints=int}
-\end{Ex}
-parameter. Using "curve" or its variants instead of "line" and increasing the
-value of \p{plotpoints} are two ways to get a smoother curve. Both ways
-increase the imaging time. Which is better depends on the complexity of the
-computation. (Note that all PostScript lines are ultimately rendered as a
-series (perhaps short) line segments.) Mathematica generally uses "lineto" to
-connect the points in its plots. The default minimum number of plot points for
-Mathematica is 25, but unlike \n\psplot{} and \n\parametricplot, Mathematica
-increases the sampling frequency on sections of the curve with greater
-fluctuation.
-
-\endinput
-
-%% END psd-basi.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-cove.tex b/Master/texmf-dist/source/generic/pstricks/psd-cove.tex
deleted file mode 100644
index 177e0bff2c1..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-cove.tex
+++ /dev/null
@@ -1,108 +0,0 @@
-%% BEGIN psd-cove.tex
-
-\begingroup
-\evensidemargin \paperwidth\relax
-\advance\evensidemargin -2in
-\advance\evensidemargin -\textwidth
-\divide\evensidemargin 2
-\oddsidemargin\evensidemargin
-
-\begin{titlepage}
-
-\let\footnotesize\small
-\let\footnoterule\relax
-\setcounter{page}{0}
-
-\null
-\vfil
-\vskip 25pt
-\begin{center}
- {\LARGE\textbf{PSTricks}}:\\[5pt]
- {\large\textbf{PostScript macros for Generic TeX}.}\\
-\end{center}
-
-\bigskip\bigskip
-\hbox to \hsize{%
- \hss
- \psset{unit=.4cm}
- \begin{pspicture}(0,-2)(31,12)
- \catcode`\<=12
- \rput(1.5,0){%
- \psellipse[linewidth=1pt](8,7)(1,3)
- \psframe[linecolor=white,fillstyle=solid,fillcolor=white]
- (6.4,6.5)(8,7.5)
- \psline[linearc=.3,linewidth=1pt](8,8)(8,7.5)(4,7.5)
- \psbezier[linewidth=1pt](4,7.5)(3,7.5)(3,6.5)(3,5.5)
- \psline[linearc=.3,linewidth=1pt](8,6)(8,6.5)(5,6.5)
- \psbezier[linewidth=1pt](5,6.5)(4,6.5)(4,6.5)(4,5.5)
- \psline[linewidth=1pt](3,5.5)(4,5.5)
- \psline[linearc=.3,linewidth=1pt](5,7.5)(5,8)(6,8)(6,7.5)
- \psframe[linewidth=1pt](5.3,8)(5.7,8.7)
- \psframe[linewidth=1pt,framearc=1,fillstyle=solid,
- fillcolor=white](4,8.7)(7,9)
- \multirput(3.5,4.8)(0,-1){4}{%
- \psbezier[linewidth=.5pt](0,0)(.25,-.4)(-.25,-.4)(0,0)}
- \rput[t](5.5,0){Dripping Faucet}}
- \rput(20,5){%
- \pspolygon[linecolor=white,fillstyle=vlines,
- fillcolor=darkgray,hatchsep=.2](1,4.5)(1,4)(4,4)(4,4.5)
- \psline[linewidth=2pt](1,4)(4,4)
- \psline[linewidth=1.5pt](2.5,4)(2.5,3.5)(2.9,3.3)(2.1,2.9)
- (2.9,2.5)(2.1,2.1)(2.9,1.7)(2.1,1.3)(2.5,1.1)(2.5,0.6)
- \psframe[linecolor=black,linewidth=1.5pt,fillstyle=solid,
- fillcolor=lightgray](1.8,-1)(3.2,.6)
- \rput(2.5,-.2){$M$}
- \psline{<->}(3.7,-.9)(3.7,.5)
- \psframe[linecolor=black,linewidth=1.5pt,fillstyle=solid,
- fillcolor=lightgray](1.8,-3.5)(3.2,-1.9)
- \rput(2.5,-2.7){$m$}
- \psline{->}(5,1)(5,-1)
- \rput[l](5.5,0){$g$}
- \psline{->}(3.7,-2)(3.7,-3.4)
- \rput[t](2.5,-4){Mathematical Model for}
- \rput[t](2.5,-5){a Dripping Faucet}
- \rput(-6,-2){%
- \psset{linewidth=2pt}
- \psline(0,.5)(2,.5)
- \psline(0,-.5)(2,-.5)
- \psline(1.5,1)(2.5,0)(1.5,-1)}}
- \psframe[linewidth=2pt,framearc=.05,linecolor=gray](0,-2.5)(31,12)
- \uput[l]{90}(0,4.75){\texttt{leecheng}}
- \end{pspicture}%
- \hss}
-\bigskip
-\bigskip
-
-\begin{center}
-{\LARGE\textbf{User's Guide}}\par
-\vskip 3em
-{\large \lineskip .75em Timothy Van Zandt}\par
-\vskip 1.5em
-{\large \thefiledate\\[2pt]
- Version \Version%
- \footnote{Documentation edited and repacked at \today\ by Rolf Niepraschk
- \url{niepraschk@gmx.de}
- and Herbert Vo\ss\ \url{voss@pstricks.de}.}}\par
-% \Verb[codes={\catcode`\<=12}]+<niepraschk@ptb.de>+
-% and Herbert Voß \Verb[codes={\catcode`\<=12}]+<voss@perce.de>+.}}\par
-\end{center}
-\vfil
-\small
-Author's address:\\
- Department of Economics and Political Science\\
- INSEAD\\
- Boulevard de Constance\\
- 77305 Fontainebleau Cedex\\
- France\\[3mm]
- Internet: \Verb[codes={\catcode`\<=12}]+<tvz@econ.insead.fr>+
-\end{titlepage}
-
-\endgroup
-
-\setcounter{footnote}{0}
-\tableofcontents
-\pagenumbering{arabic}
-
-\endinput
-
-%% END psd-cove.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-cust.tex b/Master/texmf-dist/source/generic/pstricks/psd-cust.tex
deleted file mode 100644
index 03441baca4f..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-cust.tex
+++ /dev/null
@@ -1,406 +0,0 @@
-%% BEGIN psd-cust.tex
-
-\part{Custom graphics\label{P-custom}}
-
-\Section{The basics}
-
-PSTricks contains a large palette of graphics objects, but sometimes you need
-something special. For example, you might want to shade the region between two
-curves. The
- \Mac \pscustom`*[par]'{commands}
-command lets you ``roll you own'' graphics object.
-
-Let's review how PostScript handles graphics. A \emph{path} is a line, in the
-mathematical sense rather than the visual sense. A path can have several
-disconnected segments, and it can be open or closed. PostScript has various
-operators for making paths. The end of the path is called the \emph{current
-point}, but if there is no path then there is no current point. To turn the
-path into something visual, PostScript can \emph{fill} the region enclosed by
-the path (that is what \p{fillstyle} and such are about), and \emph{stroke} the
-path (that is what \p{linestyle} and such are about).
-
-At the beginning of \n\pscustom, there is no path. There are various commands
-that you can use in \n\pscustom{} for drawing paths. Some of these (the open
-curves) can also draw arrows. \n\pscustom{} fills and strokes the path at the
-end, and for special effects, you can fill and stroke the path along the way
-using \n\fill{} and \n\stroke{} (see below).
-
-\begin{drivers}
-\n\pscustom{} uses \n\pstverb{} and \n\pstunit. There are system-dependent
-limits on how long the argument of "\special" can be. You may run into this
-limit using \n\pscustom{} because all the PostScript code accumulated by
-\n\pscustom{} is the argument of a single "\special" command.
-\end{drivers}
-
-\Section{Parameters}
-
-You need to keep the separation between drawing, stroking and filling paths in
-mind when setting graphics parameters. The \p{linewidth} and \p{linecolor}
-parameters affect the drawing of arrows, but since the path commands do not
-stroke or fill the paths, these parameters, and the \p{linestyle},
-\p{fillstyle} and related parameters, do not have any other effect (except
-that in some cases \p{linewidth} is used in some calculations when drawing the
-path). \n\pscustom{} and \n\fill{} make use of \p{fillstyle} and related
-parameters, and \n\pscustom{} and \n\stroke{} make use of p{linestyle} and
-related parameters.
-
-For example, if you include
-\begin{LVerbatim}
- \psline[linewidth=2pt,linecolor=blue,fillstyle=vlines]{<-}(3,3)(4,0)
-\end{LVerbatim}
-in \n\pscustom, then the changes to \p{linewidth} and \p{linecolor} will
-affect the size and color of the arrow but not of the line when it is stroked,
-and the change to \p{fillstyle} will have no effect at all.
-
-The \p{shadow}, \p{border}, \p{doubleline} and \p{showpoints} parameters are
-disabled in \n\pscustom, and the \p{origin} and \p{swapaxes} parameters only
-affect \n\pscustom{} itself, but there are commands (described below) that let
-you achieve these special effects.
-
-The \p{dashed} and \p{dotted} line styles need to know something about the
-path in order to adjust the dash or dot pattern appropriately. You can give
-this information by setting the
-\begin{Ex}
- \Par{linetype=int}
-\end{Ex}
-parameter. If the path contains more than one disconnected segment, there is
-no appropriate way to adjust the dash or dot pattern, and you might as well
-leave the default value of \p{linetype}. Here are the values for simple paths:
-\begin{center}
-\begin{tabular}{cl}
- \emph{Value} & \emph{Type of path}\\
- 0 & Open curve without arrows.\\
- -1 & Open curve with an arrow at the beginning.\\
- -2 & Open curve with an arrow at the end.\\
- -3 & Open curve with an arrow at both ends.\\
- 1 & Closed curve with no particular symmetry.\\
- $n$\textgreater 1 & Closed curve with $n$ symmetric segments.
-\end{tabular}
-\end{center}
-
-\Section{Graphics objects}
-
-You can use most of the graphics objects in \n\pscustom. These draw paths and
-making arrows, but do not fill and stroke the paths.
-
-There are three types of graphics objects:
-\begin{description}
-\item[Special]
- Special graphics objects include \n\psgrid, \n\psdots, \n\qline{} and
-\n\qdisk. You cannot use special graphics objects in \n\pscustom.
-
-\item[Closed]
- You are allowed to use closed graphics objects in \n\pscustom, but their
-effect is unpredictable.\footnote{%
-The closed objects never use the current point as an coordinate, but typically
-they will close any existing paths, and they might draw a line between the
-currentpoint and the closed curved.}
-Usually you would use the open curves plus \n\closepath{} (see below) to draw
-closed curves.
-
-\item[Open]The open graphics objects are the most useful commands for drawing
-paths with \n\pscustom. By piecing together several open curves, you can draw
-arbitrary paths. The rest of this section pertains to the open graphics
-objects.
-\end{description}
-
- By default, the open curves draw a straight line between the current point,
-if it exists, and the beginning of the curve, except when the curve begins
-with an arrow. For example
-\begin{MEx*}(3,3)
- \pscustom{%
- \psarc(0,0){1.5}{5}{85}
- \psarcn{->}(0,0){3}{85}{5}}
-\end{MEx*}
-
-Also, the following curves make use of the current point, if it exists, as a
-first coordinate:
-\begin{quote}
- \n\psline{} and \n\pscurve.\\
- The plot commands, with the "line" or "curve" \p{plotstyle}.\\
- \n\psbezier\, if you only include three coordinates.\\
-\end{quote}
-For example:
-\begin{MEx*}(4,3)
- \pscustom[linewidth=1.5pt]{%
- \psplot[plotstyle=curve]{.67}{4}{2 x div}
- \psline(4,3)}
-\end{MEx*}
-We'll see later how to make that one more interesting. Here is another example
-\begin{MEx*}(4,3)
- \pscustom{%
- \psline[linearc=.2]{|-}(0,2)(0,0)(2,2)
- \psbezier{->}(2,2)(3,3)(1,0)(4,3)}
-\end{MEx*}
-
-However, you can control how the open curves treat the current point with the
-\begin{Ex}
- \Par{liftpen=0/1/2}
-\end{Ex}
-parameter.
-
-If \p{liftpen=0}, you get the default behavior described above. For example
-\begin{MEx*}(4,3)
- \pscustom[linewidth=2pt,fillstyle=solid,fillcolor=gray]{%
- \pscurve(0,2)(1,2.5)(2,1.5)(4,3)
- \pscurve(4,1)(3,0.5)(2,1)(1,0)(0,.5)}
-\end{MEx*}
-
-If \p{liftpen=1}, the curves do not use the current point as the first
-coordinate (except \n\psbezier, but you can avoid this by explicitly including
-the first coordinate as an argument). For example:
-\begin{MEx*}(4,3)
- \pscustom[linewidth=2pt,fillstyle=solid,fillcolor=gray]{%
- \pscurve(0,2)(1,2.5)(2,1.5)(4,3)
- \pscurve[liftpen=1](4,1)(3,0.5)(2,1)(1,0)(0,.5)}
-\end{MEx*}
-
-If \p{liftpen=2}, the curves do not use the current point as the first
-coordinate, and they do not draw a line between the current point and the
-beginning of the curve. For example
-\begin{MEx*}(4,3)
- \pscustom[linewidth=2pt,fillstyle=solid,fillcolor=gray]{%
- \pscurve(0,2)(1,2.5)(2,1.5)(4,3)
- \pscurve[liftpen=2](4,1)(3,0.5)(2,1)(1,0)(0,.5)}
-\end{MEx*}
-
-Later we will use the second example to fill the region between the two
-curves, and then draw the curves.
-
-\Section{Safe tricks}
-
-The commands described under this heading, which can only be used in
-\n\pscustom, do not run a risk of PostScript errors (assuming your document
-compiles without \TeX{} errors).
-
-Let's start with some path, fill and stroke commands:
-\begin{description}
-
-\mitem \newpath
-
-Clear the path and the current point.
-
-\mitem \moveto(coor)
-
- This moves the current point to \c{}.
-
-\mitem \closepath
-
- This closes the path, joining the beginning and end of each piece (there may
-be more than one piece if you use \n\moveto).\footnote{%
-Note that the path is automatically closed when the region is filled. Use
-\n\closepath{} if you also want to close the boundary.}
-
-\mitem \stroke`[par]'
-
- This strokes the path (non-destructively). \n\pscustom{} automatically
-strokes the path, but you might want to stroke it twice, e.g., to add a
-border. Here is an example that makes a double line and adds a border (this
-example is kept so simple that it doesn't need \n\pscustom{} at all):
-\begin{MEx*}(4,3)
- \psline(0,3)(4,0)
- \pscustom[linecolor=white,linewidth=1.5pt]{%
- \psline(0,0)(4,3)
- \stroke[linewidth=5\pslinewidth]
- \stroke[linewidth=3\pslinewidth,linecolor=black]}
-\end{MEx*}
-
-\mitem \fill`[par]'
-
- This fills the region (non-destructively). \n\pscustom{} automatically fills
-the region as well.
-
-\mitem \gsave
-
- This saves the current graphics state (i.e., the path, color, line width,
-coordinate system, etc.) \n\grestore{} restores the graphics state. \n\gsave{}
-and \n\grestore{} must be used in pairs, properly nested with respect to \TeX{}
-groups. You can have have nested \n\gsave-\n\grestore{} pairs.
-
-\mitem \grestore
-
- See above.
-
-Here is an example that fixes an earlier example, using \n\gsave{} and
-\n\grestore:
-\begin{MEx}(4,3)
- \psline{<->}(0,3)(0,0)(4,0)
- \pscustom[linewidth=1.5pt]{
- \psplot[plotstyle=curve]{.67}{4}{2 x div}
- \gsave
- \psline(4,3)
- \fill[fillstyle=solid,fillcolor=gray]
- \grestore}
-\end{MEx}
-Observe how the line added by "\psline(4,3)" is never stroked, because it is
-nested in "\gsave" and "\grestore".
-
-Here is another example:
-\begin{MEx*}(4,3)
- \pscustom[linewidth=1.5pt]{
- \pscurve(0,2)(1,2.5)(2,1.5)(4,3)
- \gsave
- \pscurve[liftpen=1](4,1)(3,0.5)(2,1)(1,0)(0,.5)
- \fill[fillstyle=solid,fillcolor=gray]
- \grestore}
- \pscurve[linewidth=1.5pt](4,1)(3,0.5)(2,1)(1,0)(0,.5)
-\end{MEx*}
-Note how I had to repeat the second \n\pscurve{} (I could have repeated it
-within \n\pscustom, with \p{liftpen=2}), because I wanted to draw a line
-between the two curves to enclose the region but I didn't want this line to be
-stroked.
-\end{description}
-
-The next set of commands modify the coordinate system.
-\begin{description}
-
-\mitem \translate(coor)
-
- Translate coordinate system by \c{}. This shifts everything that comes later
-by \c{}, but doesn't affect what has already been drawn.
-
-\mitem \scale{num1 `num2'}
-
- Scale the coordinate system in both directions by <num1>, or horizontally by
-<num1> and vertically by <num2>.
-
-\mitem \rotate{angle}
-
- Rotate the coordinate system by <angle>.
-
-\mitem \swapaxes
-
- Switch the x and y coordinates. This is equivalent to
-\begin{LVerb}
- \rotate{-90}
- \scale{-1 1 scale}
-\end{LVerb}
-
-\mitem \msave
-
- Save the current coordinate system. You can then restore it with
-\n\mrestore. You can have nested \n\msave-\n\mrestore{} pairs. \n\msave{} and
-\n\mrestore{} do not have to be properly nested with respect to \TeX{} groups or
-\n\gsave{} and \n\grestore. However, remember that \n\gsave{} and \n\grestore
-also affect the coordinate system. \n\msave-\n\mrestore{} lets you change the
-coordinate system while drawing part of a path, and then restore the old
-coordinate system without destroying the path. \n\gsave-\n\grestore, on the
-other hand, affect the path and all other componments of the graphics state.
-
-\mitem \mrestore
-
- See above.
-\end{description}
-
-And now here are a few shadow tricks:
-\begin{description}
-\mitem \openshadow`[par]'
-
-Strokes a replica of the current path, using the various shadow parameters.
-
-\mitem \closedshadow`[par]'
-
-Makes a shadow of the region enclosed by the current path as if it were opaque
-regions.
-
-\mitem \movepath(coor)
-
-Moves the path by \c{}. Use \n\gsave-\n\grestore{} if you don't want to lose
-the original path.
-\end{description}
-
-\Section{Pretty safe tricks}
-
-The next group of commands are safe, \emph{as long as there is a current
-point}!
-
-\begin{description}
-\mitem \lineto(coor)
-
- This is a quick version of "\psline(<coor>)".
-
-\mitem \rlineto(coor)
-
- This is like \n\lineto, but \c{} is interpreted relative to the current
-point.
-
-\mitem \curveto\c1\c2\c3
-
- This is a quick version of "\psbezier"\c1\c2\c3.
-
-\mitem \rcurveto\c1\c2\c3
-
- This is like \n\curveto, but \c1, \c2 and \c3 are interpreted relative to
-the current point.
-\end{description}
-
-\Section{For hackers only}
-
-For PostScript hackers, there are a few more commands. Be sure to read
-Appendix \ref{S-raw} before using these. Needless to say:
-\begin{Warning}
-Misuse of the commands in this section can cause PostScript errors.
-\end{Warning}
-
- The PostScript environment in effect with \n\pscustom{} has one unit equal to
-one \TeX{} "pt".
-
-\begin{description}
-
-\mitem \code{code}
- Insert the raw PostScript code.
-
-\mitem \dim{dim}
-
- Convert the PSTricks dimension to the number of "pt"'s, and inserts it in
-the PostScript code.
-
-\mitem \coor\c1`\c2...\cn'
-
-Convert one or more PSTricks coordinates to a pair of numbers (using "pt"
-units), and insert them in the PostScript code.
-
-\mitem \rcoor\c1`\c2...\cn'
-
-Like \n\coor, but insert the coordinates in reverse order.
-
-\mitem \file{file}
-
- This is like \n\code, but the raw PostScript is copied verbatim (except
-comments delimited by "%") from <file>.
-
-\mitem \arrows{arrows}
-
- This defines the PostScript operators "ArrowA" and "ArrowB" so that
-\begin{LVerb}
- x2 y2 x1 y1 ArrowA
- x2 y2 x1 y1 ArrowB
-\end{LVerb}
-each draws an arrow(head) with the tip at \c1 and pointing from \c2. "ArrowA"
-leaves the current point at end of the arrowhead, where a connect line should
-start, and leaves \c2 on the stack. "ArrowB" does not change the current
-point, but leaves
-\begin{LVerb}
- x2 y2 x1' y1'
-\end{LVerb}
-on the stack, where \c{1'} is the point where a connecting line should join.
-To give an idea of how this work, the following is roughly how PSTricks draws
-a bezier curve with arrows at the end:
-\begin{MEx*}(4,3)
- \pscustom{
- \arrows{|->}
- \code{
- 80 140 5 5 ArrowA
- 30 -30 110 75 ArrowB
- curveto}}
-\end{MEx*}
-
-\mitem \setcolor{color}
-
- Set the color to <color>.
-
-\end{description}
-
-\endinput
-
-%% END psd-cust.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-esse.tex b/Master/texmf-dist/source/generic/pstricks/psd-esse.tex
deleted file mode 100644
index a76636d0d3b..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-esse.tex
+++ /dev/null
@@ -1,392 +0,0 @@
-%% BEGIN psd-esse.tex
-
-\part*{Welcome to PSTricks}
-
-PSTricks is a collection of PostScript-based \TeX{} macros that is compatible
-with most \TeX{} macro packages, including Plain \TeX, \LaTeX{} and \ConTeXt,
-PSTricks gives you color, graphics, rotation, trees and overlays. PSTricks
-puts the icing (PostScript) on your cake (\TeX)!
-
-To install PSTricks, follow the instructions in the file "read-me.pst" that
-comes with the PSTricks package. Even if PSTricks has already been installed
-for you, give "read-me.pst" a look over.
-
-This \emph{User's Guide} verges on being a reference manual, meaning that it is
-not designed to be read linearly. Here is a recommended strategy: Finish
-reading this brief overview of the features in PSTricks. Then thumb through
-the entire \emph{User's Guide} to get your own overview. Return to
-Part~\ref{P-essentials} (Essentials) and read it carefully. Refer to the
-remaining sections as the need arises.
-
-When you cannot figure out how to do something or when trouble arises, check
-out the appendices (Help). You just might be lucky enough to find a solution.
-There is also a \LaTeX{} file "samples.pst" of samples that is distributed with
-PSTricks. Look to this file for further inspiration.
-
-This documentation is written with \LaTeX. Some examples use \LaTeX{} specific
-constructs and some don't. However, there is nothing \LaTeX{} specific about
-any of the macros, nor is there anything that does not work with \LaTeX. This
-package has been tested with Plain \TeX, \LaTeX{} and \ConTeXt{} and
-should work with other \TeX{} macro packages as well.
-
-\File{pstricks}
-The main macro file is "pstricks.tex"/"pstricks.sty". Each of the PSTricks
-macro files comes with a ".tex" extension and a ".sty" extension; these are
-equivalent, but the ".sty" extension means that you can include the file name
-as a \LaTeX{} package.
-
-There are numerous supplementary macro files. A file, like the one above and
-the left, is used in this \emph{User's Guide} to remind you that you must input
-a file before using the macros it contains.
-
-For most PSTricks macros, even if you misuse them, you will not get PostScript
-errors in the output. However, it is recommended that you resolve any \TeX{}
-errors before attempting to print your document. A few PSTricks macros pass on
-PostScript errors without warning. Use these with care, especially if you are
-using a networked printer, because PostScript errors can cause a printer to
-bomb. Such macros are pointed out in strong terms, using a warning like this
-one:
-
-\begin{Warning}
-Use macros that do not check for PostScript errors with care. PostScript
-errors can cause a printer to bomb!
-\end{Warning}
-
-Keep in mind the following typographical conventions in this User's Guide.
-\begin{itemize}
- \item All literal input characters, i.e., those that should appear verbatim
- in your input file, appear in upright "Helvetica" and {\UsageFont
- Helvetica-Bold} fonts.
- \item Meta arguments, for which you are supposed to substitute a value
- (e.g., <angle>) appear in slanted <Helvetica-Oblique> and
- {\UsageFont\MetaFont Helvetica-BoldOblique} fonts.
- \item The main entry for a macro or parameter that states its syntax appears
- in a large bold font, \emph{except for the optional arguments, which are in
- medium weight}. This is how you can recognize the optional arguments.
- \item References to PSTricks commands and parameters within paragraphs are
- set in {\UsageFont Helvetica-Bold}.
-
-\end{itemize}
-
-\part{The Essentials\label{P-essentials}}
-
-
-\section{Arguments and delimiters}
-
-Here is some nitty-gritty about arguments and delimiters that is really
-important to know.
-
-The PSTricks macros use the following delimiters:
-\begin{center}
-%% DG: to do
-% Begin modification RN, 2002-12-29
-\iffalse
-\begin{tabular}{rl}
-Curly braces & "{<arg>}" \\
-Brackets (only for optional arguments) & "[<arg>]" \\
-Parentheses and commas for coordinates & \c{} \\
-"=" and "," for parameters & "<par1>=<val1>," \ldots\\
-\end{tabular}
-\fi
-\begin{tabular}{rl}
-Curly braces & "{"<arg>"}" \\
-Brackets (only for optional arguments) & "["<arg>"]" \\
-Parentheses and commas for coordinates & \c{} \\
-"=" and "," for parameters & <par1>"="<val1>"," \ldots\\
-\end{tabular}
-% End modification RN
-\end{center}
-Spaces and commas are also used as delimiters within arguments, but in this
-case the argument is expanded before looking for the delimiters.
-
-Always use a period rather than a comma to denote the decimal point, so that
-PSTricks doesn't mistake the comma for a delimiter.
-
-The easiest mistake to make with the PSTricks macros is to mess up the
-delimiters. This may generate complaints from \TeX{} or PSTricks about bad
-arguments, or other unilluminating errors such as the following:
-\begin{description}\itemsep=0pt\parsep=0pt
-\item[] "! Use of \get@coor doesn't match its definition."
-\item[] "! Paragraph ended before \pst@addcoor was complete."
-\item[]
-"! Forbidden control sequence found while scanning use of \check@arrow."
-\item[] "! File ended while scanning use of \lput."
-\end{description}
-Delimiters are generally the first thing to check when you get errors with a
-PSTricks macro.
-
-Since PSTricks macros can have many arguments, it is useful to know that you
-can leave a space or new line between any arguments, except between arguments
-enclosed in curly braces. If you need to insert a new line between arguments
-enclosed in curly braces, put a comment character "%" at the end of the line.
-
-As a general rule, the first non-space character after a PSTricks macro should
-not be a "[" or "(". Otherwise, PSTricks might think that the "[" or "(" is
-actually part of the macro. You can always get around this by inserting a pair
-"{}" of braces somewhere between the macro and the "[" or "(".
-
-
-\Section{Color\label{S-color}}
-
-The grayscales
-\begin{quote}
- "black", "darkgray", "gray", "lightgray", and "white",
-\end{quote}
-and the colors
-\begin{quote}
- "red", "green", "blue", "cyan", "magenta", and "yellow"
-\end{quote}
-are predefined in PSTricks.
-
-This means that these names can be used with the graphics objects that are
-described in later sections. This also means that the command \n\gray{} (or
-\n\red, etc.) can be used much like "\rm" or "\tt", as in
-\begin{Ex}
- \gray\Large"{\gray This stuff should be gray.}"
-\end{Ex}
-The commands \n\gray, \n\red, etc. can be nested like the font commands as
-well. There are a few important ways in which the color commands differ from
-the font commands:
-\begin{enumerate}
- \item The color commands can be used in and out of math mode (there are no
- restrictions, other than proper \TeX{} grouping).
- \item The color commands affect whatever is in their scope (e.g., lines),
- not simply characters.
- \item The scope of the color commands does not extend across pages.
- \item The color commands are not as robust as font commands when used inside
- box macros. See page \pageref{colorboxproblems} for details. You can avoid
- most problems by explicitly grouping color commands (e.g., enclosing the
- scope in braces "{}") whenever these are in the argument of another
- command.\footnote{%
-However, this is not necessary with the PSTricks LR-box commands, expect when
-\n\psverbboxtrue{} is in effect. See Section \ref{S-boxes}.}
-
-\end{enumerate}
-
-You can define or redefine additional colors and grayscales with the following
-commands. In each case, <numi> is a number between 0 and 1. Spaces are used as
-delimiters---don't add any extraneous spaces in the arguments.
-
-\begin{description}
-
-\mitem \newgray{color}{num}
-
- <num> is the gray scale specification, to be set by PostScript's "setgray"
-operator. 0 is black and 1 is white. For example:
-\begin{LVerb}
- \newgray{darkgray}{.25}
-\end{LVerb}
-
-\mitem \newrgbcolor{color}{num1 num2 num3}
-
- <num1 num2 num3> is a \emph{red-green-blue} specification, to be set by
-PostScript's "setrgbcolor" operator. For example,
-\begin{LVerb}
- \newrgbcolor{green}{0 1 0}
-\end{LVerb}
-
-\mitem \newhsbcolor{color}{num1 num2 num3}
-
- <num1 num2 num3> is an \emph{hue-saturation-brightness} specification, to be
-set by PostScript's "sethsbcolor" operator. For example,
-\begin{LVerb}
- \newhsbcolor{mycolor}{.3 .7 .9}
-\end{LVerb}
-
-\mitem \newcmykcolor{color}{num1 num2 num3 num4}
-
- <num1 num2 num3 num4> is a \emph{cyan-magenta-yellow-black} specification, to
-be set by PostScript's "newcmykcolor" operator. For example,
-\begin{LVerb}
- \newcmykcolor{hercolor}{.5 1 0 .5}
-\end{LVerb}
-
-\end{description}
-
-For defining new colors, the \emph{rbg} model is a sure thing. \emph{hsb} is not
-recommended. \emph{cmyk} is not supported by all Level 1 implementations of
-PostScript, although it is best for color printing. For more information on
-color models and color specifications, consult the \emph{PostScript Language
-Reference Manual}, 2nd Edition (Red Book), and a color guide.
-
-\begin{drivers} The command \n\pstVerb{} must be defined.\end{drivers}
-
-
-\Section{Setting graphics parameters\label{S-par}}
-
-PSTricks uses a key-value system of graphics parameters to customize the
-macros that generate graphics (e.g., lines and circles), or graphics combined
-with text (e.g., framed boxes). You can change the default values of
-parameters with the command \n\psset, as in
-\begin{LVerb}
- \psset{fillcolor=yellow}
- \psset{linecolor=blue,framearc=.3,dash=3pt 6pt}
-\end{LVerb}
-The general syntax is:
- \Mac \psset{par1=value1`,par2=value2,\ldots'}
-As illustrated in the examples above, spaces are used as delimiters for some
-of the values. Additional spaces are allowed only following the comma that
-separates <par>"="<value> pairs (which is thus a good place to start a new
-line if there are many parameter changes). E.g., the first example is
-acceptable, but the second is not:
-\begin{LVerb}
- \psset{fillcolor=yellow, linecolor=blue}
- \psset{fillcolor= yellow,linecolor =blue }
-\end{LVerb}
-The parameters are described throughout this \emph{User's Guide}, as they are
-needed.
-
-Nearly every macro that makes use of graphics parameters allows you to include
-changes as an optional first argument, enclosed in square brackets.
-For example,
-\begin{LVerb}
- \psline[linecolor=green,linestyle=dotted](8,7)
-\end{LVerb}
-draws a dotted, green line. It is roughly equivalent to
-\begin{LVerb}
- {\psset{linecolor=green,linestyle=dotted}\psline(8,7)}
-\end{LVerb}
-
-For many parameters, PSTricks processes the value and stores it in a peculiar
-form, ready for PostScript consumption. For others, PSTricks stores the value
-in a form that you would expect. In the latter case, this \emph{User's Guide}
-will mention the name of the command where the value is stored. This is so
-that you can use the value to set other parameters. E.g.,
-\begin{LVerb}
- \psset{linecolor=\psfillcolor,doublesep=.5\pslinewidth}
-\end{LVerb}
-However, even for these parameters, PSTricks may do some processing and
-error-checking, and you should always set them using \n\psset{} or as optional
-parameter changes, rather than redefining the command where the value is
-stored.
-
-\Section{Dimensions, coordinates and angles\label{S-coor}}
-
-Whenever an argument of a PSTricks macro is a dimension, the unit is optional.
-The default unit is set by the
-\begin{Ex}
- \Par{unit=dim} (1cm)
-\end{Ex}
-parameter. For example, with the default value of "1cm", the following are
-equivalent:
-\begin{LVerb}
- \psset{linewidth=.5cm}
- \psset{linewidth=.5}
-\end{LVerb}
-By never explicitly giving units, you can scale graphics by changing the value
-of \p{unit}.
-
-You can use the default coordinate when setting non-PSTricks dimensions as
-well, using the commands
-\begin{Ex}
- \object \pssetlength{cmd}{dim}
- \object \psaddtolength{cmd}{dim}
-\end{Ex}
-where <cmd> is a dimension register (in \LaTeX{} parlance, a ``length''), and
-<dim> is a length with optional unit. These are analogous to \LaTeX's
-"\setlength" and "\addtolength".
-
-Coordinate pairs have the form \c{}. The origin of the coordinate system is at
-\TeX's currentpoint. The command \n\SpecialCoor{} lets you use polar
-coordinates, in the form "(<r>;<a>)", where <r> is the radius (a dimension)
-and <a> is the angle (see below). You can still use Cartesian coordinates. For
-a complete description of \n\SpecialCoor, see Section \ref{S-SpecialCoor}.
-
-The \p{unit} parameter actually sets the following three parameters:
-\begin{Ex}
- \Par{xunit=dim} (1cm)
- \Par{yunit=dim} (1cm)
- \Par{runit=dim} (1cm)
-\end{Ex}
-These are the default units for x-coordinates, y-coordinates, and all other
-coordinates, respectively. By setting these independently, you can scale the x
-and y dimensions in Cartesian coordinate unevenly. After changing \p{yunit} to
-"1pt", the two \n\psline's below are equivalent:
-\begin{LVerb}
- \psset{yunit=1pt}
- \psline(0cm,20pt)(5cm,80pt)
- \psline(0,20)(5,80)
-\end{LVerb}
-
-The values of the \p{runit}, \p{xunit} and \p{yunit} parameters are stored in
-the dimension registers \n\psunit{} (also \n\psrunit), \n\psxunit{} and
-\n\psyunit.
-
-Angles, in polar coordinates and other arguments, should be a number giving
-the angle in degrees, by default. You can also change the units used for
-angles with the command
- \Mac \degrees`[num]'
-<num> should be the number of units in a circle. For example, you might use
-\begin{LVerb}
- \degrees[100]
-\end{LVerb}
-to make a pie chart when you know the shares in percentages. \n\degrees{}
-without the argument is the same as
-\begin{LVerb}
- \degrees[360]
-\end{LVerb}
-The command
- \Mac \radians
-is short for
-\begin{Ex}
- "\degrees[6.28319]"
-\end{Ex}
-\n\SpecialCoor{} lets you specify angles in other ways as well.
-
-\Section{Basic graphics parameters}
-
-The width and color of lines is set by the parameters:
-\begin{Ex}
- \Par{linewidth=dim}
- \Par{linecolor=color}
-\end{Ex}
-The \p{linewidth} is stored in the dimension register \n\pslinewidth, and the
-\p{linecolor} is stored in the command \n\pslinecolor.
-
-The regions delimited by open and closed curves can be filled, as determined
-by the parameters:
-\begin{Ex}
- \p{fillstyle=<style>}\\
- \p{fillcolor=<color>}
-\end{Ex}
-When \p{fillstyle=none}, the regions are not filled. When \p{fillstyle=solid},
-the regions are filled with \p{fillcolor}. Other \p{fillstyle}'s are described
-in Section \ref{S-fillstyles}.
-
-The graphics objects all have a starred version (e.g., \n\psframe*) which
-draws a solid object whose color is \p{linecolor}. For example,
-\begin{MEx}(2,1)
- \psellipse*(1,.5)(1,.5)
-\end{MEx}
-
-Open curves can have arrows, according to the
-\begin{Ex}
- \p{arrows=<arrows>}
-\end{Ex}
-parameter. If \p{arrows=-}, you get no arrows.
-\begingroup
-\catcode`\<=12
-If \p{arrows=<->}, you get arrows on both ends of the curve. You can also set
-\p{arrows=->} and \p{arrows=<-},
-\endgroup
-if you just want an arrow on the end or beginning of the curve, respectively.
-With the open curves, you can also specify the arrows as an optional argument
-enclosed in "{}" brackets. This should come after the optional parameters
-argument. E.g.,
-\begin{MEx}(2,1)
- \psline[linewidth=2pt]{<-}(2,1)
-\end{MEx}
-Other arrow styles are described in Section \ref{S-arrows}
-
-If you set the
-\begin{Ex}
- \Par{showpoints=true/false}
-\end{Ex}
-parameter to "true", then most of the graphics objects will put dots at the
-appropriate coordinates or control points of the object.\footnote{%
-The parameter value is stored in the conditional "\ifshowpoints".}
-Section \ref{S-dots} describes how to change the dot style.
-
-\endinput
-
-%% END psd-esse.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-fill.tex b/Master/texmf-dist/source/generic/pstricks/psd-fill.tex
deleted file mode 100644
index e9df05eb744..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-fill.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-%% BEGIN psd-fill.tex
-
-\part{Filling and Tiling\label{P-tiling}}
-
-\Section{Overview}
-
-\File{pst-fill}
-The...
-
-\endinput
-
-%% END psd-fill.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-help.tex b/Master/texmf-dist/source/generic/pstricks/psd-help.tex
deleted file mode 100644
index 0c4bf708ab0..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-help.tex
+++ /dev/null
@@ -1,332 +0,0 @@
-%% BEGIN psd-help.tex
-
-\appendix\part*{Help}
-
-\Section{Boxes\label{S-boxes}}
-
-Many of the PSTricks macros have an argument for text that is processed in
-restricted horizontal mode (in \LaTeX{} parlance, LR-mode) and then transformed
-in some way. This is always the macro's last argument, and it is written
-"{<stuff>}" in this \emph{User's Guide}. Examples are the framing, rotating,
-scaling, positioning and node macros. I will call these ``LR-box'' macros, and
-use framing as the leading example in the discussion below.
-
-In restricted horizontal mode, the input, consisting of regular characters and
-boxes, is made into one (long or short) line. There is no line-breaking, nor
-can there be vertical mode material such as an entire displayed equation.
-However, the fact that you can include another box means that this isn't
-really a restriction.
-
-For one thing, alignment environments such as "\halign" or \LaTeX's "tabular"
-are just boxes, and thus present no problem. Picture environments and the box
-macros themselves are also just boxes. Actually, there isn't a single PSTricks
-command that cannot be put directly in the argument of an LR-box macro.
-However, entire paragraphs or other vertical mode material such as displayed
-equations need to be nested in a "\vbox" or \LaTeX{} "\parbox" or "minipage".
-\LaTeX{} users should see "fancybox.sty" and its documentation, "fancybox.doc",
-for extensive tips and trick for using LR-box commands.
-
-The PSTricks LR-box macros have some features that are not found in most other
-LR-box macros, such as the standard \LaTeX{} LR-box commands.
-
-With \LaTeX{} LR-box commands, the contents is always processed in text mode,
-even when the box occurs in math mode. PSTricks, on the other hand, preserves
-math mode, and attempts to preserve the math style as well. \TeX{} has four
-math styles: text, display, script and scriptscript. Generally, if the box
-macro occurs in displayed math (but not in sub- or superscript math), the
-contents are processed in display style, and otherwise the contents are
-processed in text style (even here the PSTricks macros can make mistakes, but
-through no fault of their own). If you don't get the right style, explicitly
-include a "\textstyle", "\displaystyle", "\scriptstyle" or
-"\scriptscriptstyle" command at the beginning of the box macro's argument.
-
- In case you want your PSTricks LR-box commands to treat math in the same as
-your other LR-box commands, you can switch this feature on and off with the
-commands
-\begin{Ex}
- \object \psmathboxtrue
- \object \psmathboxfalse
-\end{Ex}
-
-You can have commands (such as, but not restricted to, the math style
-commands) automatically inserted at the beginning of each LR-box using the
- \Mac \everypsbox{commands}
-command.\footnote{This is a token register.}
-
-If you would like to define an LR-box environment <name> from an LR-box
-command <cmd>, use
- \Mac \pslongbox{name}{cmd}
-For example, after
-\begin{LVerbatim}
- \pslongbox{MyFrame}{\psframebox}
-\end{LVerbatim}
-you can write
-\begin{LVerbatim}
- \MyFrame <stuff>\endMyFrame
-\end{LVerbatim}
-instead of
-\begin{LVerbatim}
- \psframebox{<stuff>}
-\end{LVerbatim}
-Also, \LaTeX{} users can write
-\begin{LVerbatim}
- \begin{MyFrame} <stuff>\end{MyFrame}
-\end{LVerbatim}
-It is up to you to be sure that <cmd> is a PSTricks LR-box command; if it
-isn't, nasty errors can arise.
-
-Environments like have nice properties:
-\begin{itemize}
- \item The syntax is clearer when <stuff> is long.
- \item It is easier to build composite LR-box commands. For example, here is
-a framed minipage environment for \LaTeX:
-\begin{LVerb}
- \pslongbox{MyFrame}{\psframebox}
- \newenvironment{fminipage}%
- {\MyFrame\begin{minipage}}%
- {\end{minipage}\endMyFrame}
-\end{LVerb}
- \item You include verbatim text and other "\catcode" tricks in <stuff>.
-\end{itemize}
-
-The rest of this section elaborates on the inclusion of verbatim text in
-LR-box environments and commands, for those who are interested. "fancybox.sty"
-also contains some nice verbatim macros and tricks, some of which are useful
-for LR-box commands.
-
-The reason that you cannot normally include verbatim text in an LR-box
-commands argument is that \TeX{} reads the whole argument before processing the
-"\catcode" changes, at which point it is too late to change the category
-codes. If this is all Greek to you,\footnote{%
-Incidentally, many foreign language macros, such as "greek.tex", use
-"\catcode" tricks which can cause problems in LR-box macros.} then just try
-this \LaTeX{} example to see the problem:
-\begin{LVerbatim}
- \psframebox{\verb+\foo{bar}+}
-\end{LVerbatim}
-
-The LR-box environments defined with \n\pslongbox{} do not have this problem
-because <stuff> is not processed as an argument. Thus, this works:
-\begin{example}
- \pslongbox{MyFrame}{\psframebox}
- \MyFrame \verb+\foo{bar}+\endMyFrame
-\end{example}
-
-The commands
-\begin{Ex}
- \object \psverbboxtrue
- \object \psverbboxfalse
-\end{Ex}
-switch into and out of, respectively, a special PSTricks mode that lets you
-include verbatim text in any LR-box command. For example:
-\begin{example}
- \psverbboxtrue
- \psframebox{\verb+\foo{bar}+}
-\end{example}
-However, this is not as robust. You must explicitly group color commands in
-<stuff>, and LR-box commands that usually ignore spaces that follow
-"{<stuff>}" might not do so when \n\psverbboxtrue{} is in effect.
-
-
-\Section{Tips and More Tricks\label{tips}}
-
-\faq{How do I rotate/frame this or that with \LaTeX?}
-
-See "fancybox.sty" and its documentation.
-
-\faq{How can I suppress the PostScript so that I can use my document with a
-non-PostScript dvi driver?}
-
-Put the command
- \Mac \PSTricksOff
-at the beginning of your document. You should then be able to print or preview
-drafts of your document (minus the PostScript, and perhaps pretty strange
-looking) with any dvi driver.
-
-
-\faq{How can I improve the rendering of halftones?}
-
-This can be an important consideration when you have a halftone in the
-background and text on top. You can try putting
-\begin{LVerb}
- \pstverb{106 45 {dup mul exch dup mul add 1.0 exch sub} setscreen}
-\end{LVerb}
-before the halftone, or in a header (as in headers and footers, not as in
-PostScript header files), if you want it to have an effect on every page.
-
-"setscreen" is a device-dependent operator.
-
-\faq{What special characters can be active with PSTricks?}
-
-\Section{Including PostScript code\label{S-raw}}
-
-To learn about the PostScript language, consult Adobe's \emph{PostScript
-Language Tutorial and Cookbook} (the ``Blue Book''), or Henry McGilton and
-Mary Campione's \emph{PostScript by Example} (1992). Both are published by
-Addison-Wesley. You may find that the Appendix of the Blue Book, plus an
-understanding of how the stack works, is all you need to write simple code for
-computing numbers (e.g., to specify coordinates or plots using PostScript).
-
-You may want to define \TeX{} macros for including PostScript fragments in
-various places. All \TeX{} macros are expanded before being passed on to
-PostScript. It is not always clear what this means. For example, suppose you
-write
-\begin{LVerb}
- \SpecialCoor
- \def\mydata{23 43}
- \psline(!47 \mydata add)
- \psline(!47 \mydata\ add)
- \psline(!47 \mydata~add)
- \psline(!47 \mydata{} add)
-\end{LVerb}
-You will get a PostScript error in each of the \n\psline{} commands. To see
-what the argument is expanding to, try use \TeX's "\edef" and "\show". E.g.,
-\begin{LVerb}
- \def\mydata{23 43}
- \edef\temp{47 \mydata add}
- \show\temp
- \edef\temp{47 \mydata\ add}
- \show\temp
- \edef\temp{47 \mydata~add}
- \show\temp
- \edef\temp{47 \mydata{} add}
- \show\temp
-\end{LVerb}
-\TeX{} expands the code, assigns its value to "\temp", and then displays the
-value of "\temp" on your console. Hit <return> to procede. You fill find that
-the four samples expand, respectively, to:
-\begin{LVerb}
- 47 23 43add
- 47 23 43\ add
- 47 23 43\penalty \@M \ add
- 47 23 43{} add
-\end{LVerb}
-All you really wanted was a space between the "43" and "add". The command
-"\space" will do the trick:
-\begin{LVerb}
- \psline(!47 \mydata\space add)
-\end{LVerb}
-
-You can include balance braces "{"~"}"; these will be passed on verbatim to
-PostScript. However, to include an unbalanced left or right brace, you have to
-use, respectively,
-\begin{Ex}
- \object \pslbrace
- \object \psrbrace
-\end{Ex}
-Don't bother trying "\}" or "\{".
-
-Whenever you insert PostScript code in a PSTricks argument, the dictionary on
-the top of the dictionary stack is "tx@Dict", which is PSTrick's main
-dictionary. If you want to define you own variables, you have two options:
-\begin{description}
- \item[Simplest] Always include a "@" in the variable names, because PSTricks
-never uses "@" in its variables names. You are at a risk of overflowing the
-"tx@Dict" dictionary, depending on your PostScript interpreter. You are also
-more likely to collide with someone else's definitions, if there are multiple
-authors contributing to the document.
- \item[Safest] Create a dictionary named "TDict" for your scratch
-computations. Be sure to remove it from the dictionary stack at the end of any
-code you insert in an argument. E.g.,
-\begin{LVerb}
- TDict 10 dict def TDict begin <your code> end
-\end{LVerb}
-\end{description}
-
-\section{Troubleshooting\label{troubleshooting}}
-\setcounter{faq}{0}
-
-\faq{Why does the document bomb in the printer when the first item in a
-\LaTeX{} file is a float?}
-
-When the first item in a \LaTeX{} file is a float, "\special"'s in the preamble
-are discarded. In particular, the "\special" for including PSTricks's header
-file is lost. The workaround is to but something before the float, or to
-include the header file by a command-line option with your dvi-to-ps driver.
-
-\faq{I converted a \texttt{.dvi} file to PostScript, and then mailed it to a
-colleague. It prints fine for me but bombs on her printer.}
-
-Here is the most likely (but not the only) cause of this problem. The
-PostScript files you get when using PSTricks can contain long lines. This
-should be acceptable to any proper PostScript interpreter, but the lines can
-get chopped when mailing the file. There is no way to fix this in PSTricks,
-but you can make a point of wrapping the lines of your PostScript files when
-mailing them. E.g., on UNIX you can use "uuencode" and "uudecode", or you can
-use the following AWK script to wrap the lines:
-\begin{LVerb}
- #! /bin/sh
- # This script wraps all lines
- # Usage (if script is named wrap):
- # wrap < infile > outfile
- awk '
- BEGIN {
- N = 78 # Max line length
- }
- { if (length($0)<=N)
- print
- else {
- currlength = 0
- for (i = 1; i <=NF; i++) {
- if ((currlength = currlength + length($i) + 1) > N) {
- printf "\n"
- printf "%s", $i
- currlength = length($i)
- }
- else
- printf \ %s", $i
- }
- printf "\n"
- }
- } '
-\end{LVerb}
-
-\faq{The color commands cause extraneous vertical space to be inserted.}
-
-For example, this can happen if you start a \LaTeX{} "\parbox" or a "p{}"
-column with a color command. The solution usually is to precede the color
-command with "\leavevmode".
-
-
-\faq{The color commands interfere with other color macros I use.}
-
-Try putting the command \Main\altcolormode{} at the beginning of your document.
-This may or may not help. Be extra careful that the scope of color commands
-does not extend across pages. This is generally a less robust color scheme.
-
-\faq{How do I stop floats from being the same color as surrounding material?}
-
-That's easy: Just put an explicit color command at the beginning of the float,
-e.g., \n\black.
-
-\faq{When I use some color command in box macros or with \texttt{\string\setbox},
-the colors get all screwed up.}
-
-\label{colorboxproblems}%
-If "\mybox" is a box register, and you write
-\begin{LVerb}
- \green Ho Hum.
- \setbox\mybox=\hbox{Foo bar \blue fee fum}
- Hi Ho. \red Diddley-dee
- \box\mybox hum dee do
-\end{LVerb}
-then when "\mybox" is inserted, the current color is red and so "Foo bar"
-comes out red (rather than green, which was the color in effect when the box
-was set). The command that returns from \n\blue{} to the current color "green",
-when the box is set, is executed after the "\hbox" is closed, which means that
-"Hi Ho" is green, but "hum dee do" is still blue.
-
-This odd behavior is due to the fact that \TeX{} does not support color
-internally, the way it supports font commands. The first thing to do is to
-explicitly bracket any color commands inside the box. Second, be sure that the
-current color is black when setting the box. Third, make other explicit color
-changes where necessary if you still have problems. The color scheme invoked
-by \n\altcolormode{} is slightly better behaved if you follow the first two
-rules.
-
-Note that various box macros use "\setbox" and so these anomalies can arise
-unexpectedly.
-
-\endinput
-
-%% END psd-help.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-node.tex b/Master/texmf-dist/source/generic/pstricks/psd-node.tex
deleted file mode 100644
index e6504ca8bf2..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-node.tex
+++ /dev/null
@@ -1,1279 +0,0 @@
-%% BEGIN psd-node.tex
-
-\part{Nodes and Node Connections\label{P-nodes}}
-
-% This is a file marker for pst-node (e.g., \File{pst-node}), defined as a node:
-\leavevmode
-\marginpar{%
- \leavevmode\lower 20pt\hbox{%
- \hbox to0pt{\hbox to \linewidth{\hss\rnode{file}{\copy\filebox}\hss}\hss}%
- \raise 10pt\hbox to \linewidth{\hss\large\bfseries\sffamily pst-node\hss}}}%
-All the commands described in this part are contained in the file
-"pst-node.tex" / "pst-node.sty".
-
-The node and node connection macros let you connect information and place
-labels, without knowing the exact position of what you are connecting or of
-where the lines should connect. These macros are useful for making graphs and
-trees, mathematical diagrams, linguistic syntax diagrams, and connecting ideas
-of any kind. They are the trickiest tricks in PSTricks!
-
-The node and node connection macros let you connect information and place
-labels, without knowing the exact position of what you are connecting or where
-the lines should connect. These macros are useful for making graphs and trees,
-mathematical diagrams, linguistic syntax diagrams, and connecting ideas of any
-kind. They are the trickiest tricks in PSTricks!
-
-There are three components to the node macros:
-\begin{description}
- \item[Node definitions] The node definitions let you assign a name and shape
- to an object. See Section \ref{S-nodes}.
- \item[Node connections] The node connections connect two nodes, identified
- by their names. See Section \ref{S-nc}.
- \item[Node labels] The node label commands let you affix labels to the node
- connections. See Section \ref{S-nodelabels}.
-\end{description}
-
-You can use these macros just about anywhere. The best way to position them
-depends on the application. For greatest flexibility, you can use the nodes in
-a \n\pspicture, positioning and rotating them with \n\rput. You can also use
-them in alignment environments. "pst-node.tex" contains a special alignment
-environment, \n\psmatrix, which is designed for positioning nodes in a grid,
-such as in mathematical diagrams and some graphs. \n\psmatrix{} is described in
-Section \ref{S-psmatrix}. "pst-node.tex" also contains high-level macros for
-trees. These are described in Part \ref{P-trees}.
-
-But don't restrict yourself to these more obvious uses. For example:
-\begin{example**}
- \rnode{A}{%
- \parbox{4cm}{\raggedright
- I made the file symbol a node. Now I can draw an
- arrow so that you know what I am talking about.}}
- \ncarc[nodesep=8pt]{->}{A}{file}
-\end{example**}
-
-\Section{Nodes\label{S-nodes}}
-
-Nodes have a name. a boundary and a center.
-
-\begin{Warning}
-The name is for refering to the node when making node connections and labels.
-You specify the name as an argument to the node commands. The name must
-contain only letters and numbers, and must begin with a letter. Bad node names
-can cause PostScript errors.
-\end{Warning}
-
-The center of a node is where node connections point to. The boundary is for
-determining where to connect a node connection. The various nodes differ in
-how they determine the center and boundary. They also differ in what kind of
-visable object they create.
-
-Here are the nodes:
-
-\begin{description}
-
-\mitem \rnode`[refpoint]'{name}{stuff}
-
- \n\rnode{} puts <stuff> in a box. The center of the node is <refpoint>, which
-you can specify the same way as for \n\rput.
-
-\oitem \Rnode{name}{stuff}
-
- \n\Rnode{} also makes a box, but the center is set differently. If you align
-\n\rnode's by their baseline, differences in the height and depth of the nodes
-can cause connecting lines to be not quite parallel, such as in the following
-example:
-\begin{example**}
- \Large
- \rnode{A}{sp} \hskip 2cm \rnode{B}{Bit}
- \ncline{A}{B}
-\end{example**}
-With \n\Rnode, the center is determined relative to the baseline:
-\begin{example**}
- \Large
- \Rnode{A}{sp} \hskip 2cm \Rnode{B}{Bit}
- \ncline{A}{B}
-\end{example**}
-
-You can usually get by without fiddling with the center of the node, but to
-modify it you set the
-\begin{Ex}
- \Par{href=num}
- \Par{vref=dim}
-\end{Ex}
-parameters. In the horizontal direction, the center is located fraction
-\p{href} from the center to the edge. E.g, if \p{href=-1}, the center is on
-the left edge of the box. In the vertical direction, the center is located
-distance \p{vref} from the baseline. The \p{vref} parameter is evaluated each
-time \n\Rnode{} is used, so that you can use "ex" units to have the distance
-adjust itself to the size of the current font (but without being sensitive to
-differences in the size of letters within the current font).
-
-\mitem \pnode`\c~'{name}
-
- This creates a zero dimensional node at \c{}.
-
-\oitem \cnode`\c~'{radius}{name}
-
- This draws a circle. Here is an example with \n\pnode{} and \n\cnode:
-\begin{MEx}(3,1.25)
- \cnode(0,1){.25}{A}
- \pnode(3,0){B}
- \ncline{<-}{A}{B}
-\end{MEx}
-
-\oitem \Cnode`\c~'{name}
-
- This is like \n\cnode, but the radius is the value of
-\begin{Ex}
- \Par{radius=dim}
-\end{Ex}
-This is convenient when you want many circle nodes of the same radius.
-
-\oitem \circlenode{name}{stuff}
-
- This is a variant of \n\pscirclebox{} that gives the node the shape of the
-circle.
-
-\oitem \cnodeput`{angle}\c~'{name}{stuff}
-
- This is a variant of \n\cput{} that gives the node the shape of the
-circle. That is, it is like
-\begin{LVerb*}
- \rput{<angle>}(<x>,<y>){\circlenode{<name>}{<stuff>}}
-\end{LVerb*}
-
-\oitem \ovalnode{name}{stuff}
-
- This is a variant of \n\psovalbox{} that gives the node the shape of an
-ellipse. Here is an example with \n\circlenode{} and \n\ovalnode:
-\begin{example**}
- \circlenode{A}{Circle} and \ovalnode{B}{Oval}
- \ncbar[angle=90]{A}{B}
-\end{example**}
-
-
-\oitem \dianode{name}{stuff}
-
- This is like \n\diabox.
-
-
-\oitem \trinode{name}{stuff}
-
- This is like \n\tribox.
-
-\begin{MEx}(4,3)
- \rput[tl](0,3){\dianode{A}{Diamond}}
- \rput[br](4,0){\trinode[trimode=L]{B}{Triangle}}
- \nccurve[angleA=-135,angleB=90]{A}{B}
-\end{MEx}
-
-\oitem \dotnode`\c~'{name}
-
- This is a variant of \n\psdot. For example:
-\begin{MEx}(3,2)
- \dotnode[dotstyle=triangle*,dotscale=2 1](0,0){A}
- \dotnode[dotstyle=+](3,2){B}
- \ncline[nodesep=3pt]{A}{B}
-\end{MEx}
-
-
-\oitem \fnode`\c~'{name}
-
- The "f" stands for ``frame''. This is like, but easier than, putting a
-\n\psframe{} in an \n\rnode.
-\begin{MEx}(3,2)
- \fnode{A}
- \fnode*[framesize=1 5pt](2,2){B}
- \ncline[nodesep=3pt]{A}{B}
-\end{MEx}
-There are two differences between \n\fnode{} and \n\psframe:
-\begin{itemize}
- \item There is a single (optional) coordinate argument, that gives the
- \emph{center} of the frame.
- \item The width and height of the frame are set by the
-\begin{Ex}
- \Par{framesize=dim1 `dim2'}
-\end{Ex}
- parameter. If you omit <dim2>, you get a square frame.
-\end{itemize}
-
-\end{description}
-
-
-\Section{Node connections\label{S-nc}}
-
-All the node connection commands begin with "nc", and they all have the same
-syntax:\footnote{%
-The node connections can be used with \n\pscustom. The beginning of the node
-connection is attached to the current point by a straight line, as with
-\n\psarc.}$^,$\footnote{%
-See page \protect\pageref{S-SpecialCoor} if you want to use the nodes as
-coordinates in other PSTricks macros.}
-\begin{LVerb*}
- \<nodeconnection>[<par>]{<arrows>}{<nodeA>}{<nodeB>}
-\end{LVerb*}
-A line of some sort is drawn from <nodeA> to <nodeB>. Some of the node
-connection commands are a little confusing, but with a little experimentation
-you will figure them out, and you will be amazed at the things you can do.
-When we refer to the "A" and "B" nodes below, we are referring only to the
-order in which the names are given as arguments to the node connection
-macros.\footnote{%
-When a node name cannot be found on the same page as the node connection
-command, you get either no node connection or a nonsense node connection.
-However, \TeX{} will not report any errors.}
-
-The node connections use many of the usual graphics parameters, plus a few
-special ones. Let's start with one that applies to all the node connections:
-\begin{Ex}
- \Par{nodesep=dim}
-\end{Ex}
-\p{nodesep} is the border around the nodes that is added for the purpose of
-determining where to connect the lines.
-
-For this and other node connection parameters, you can set different values
-for the two ends of the node connection. Set the parameter \p{nodesepA} for
-the first node, and set \p{nodesepB} for the second node.
-
-The first two node connections draw a line or arc directly between the two
-nodes:
-\begin{description}
-
-\oitem \ncline`{arrows}'{nodeA}{nodeB}
-
-This draws a straight line between the nodes. For example:
-\begin{MEx}(4,3)
- \rput[bl](0,0){\rnode{A}{Idea 1}}
- \rput[tr](4,3){\rnode{B}{Idea 2}}
- \ncline[nodesep=3pt]{<->}{A}{B}
-\end{MEx}
-
-\oitem \ncarc`{arrows}'{nodeA}{nodeB}
-
-This connects the two nodes with an arc.
-\begin{MEx}[-.5,-.5](3.5,2.5)
- \cnodeput(0,0){A}{X}
- \cnodeput(3,2){B}{Y}
- \psset{nodesep=3pt}
- \ncarc{->}{A}{B}
- \ncarc{->}{B}{A}
-\end{MEx}
-The angle between the arc and the line between the two nodes is\footnote{%
-Rather than using a true arc, \n\ncarc{} actually draws a bezier curve. When
-connecting two circular nodes using the default parameter values, the curve
-will be indistinguishable from a true arc. However, \n\ncarc{} is more
-flexible than an arc, and works right connecting nodes of different shapes and
-sizes. You can set \p{arcangleA} and \p{arcangleB} separately, and you can
-control the curvature with the \p{ncurv} parameter, which is described on page
-\pageref{p+ncurv}.}
-\begin{Ex}
- \Par{arcangle=angle}
-\end{Ex}
-
-\end{description}
-
-\n\ncline{} and \n\ncarc{} both determine the angle at which the node
-connections join by the relative position of the two nodes. With the next
-group of node connections, you specify one or both of the angles in absolute
-terms, by setting the
-\begin{Ex}
- \Par{angle=angle}
-\end{Ex}
-(and \p{angleA} and \p{angleB}) parameter.
-
-You also specify the length of the line segment where the node connection
-joins at one or both of the ends (the ``arms'') by setting the
-\begin{Ex}
- \Par{arm=dim}
-\end{Ex}
-(and \p{armA} and \p{armB}) parameter.
-
-These node connections all consist of several line segments, including the
-arms. The value of \p{linearc} is used for rounding the corners.
-
-Here they are, starting with the simplest one:
-
-\begin{description}
-
-\oitem \ncdiag`{arrows}'{nodeA}{nodeB}
-
-An arm is drawn at each node, joining at angle \p{angleA} or \p{angleB},
-and with a length of \p{armA} or \p{armB}. Then the two arms are connected
-by a straight line, so that the whole line has three line segments.
-For example:
-\begin{MEx}(4,3)
- \rput[tl](0,3){\rnode{A}{\psframebox{Node A}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncdiag[angleA=-90, angleB=90, arm=.5, linearc=.2]{A}{B}
-\end{MEx}
-
-You can also set one or both of the arms to zero length. For example, if you
-set \p{arm=0}, the nodes are connected by a straight line, but you get to
-determine where the line connects (whereas the connection point is determined
-automatically by \n\ncline). Compare this use of \n\ncdiag{} with \n\ncline{}
-in the following example:
-\begin{MEx}[0,-.5](4,2.5)
- \rput[r](4,1){\ovalnode{R}{Root}}
- \cnodeput(1,2){A}{XX}
- \cnodeput(1,0){B}{YY}
- \ncdiag[angleB=180, arm=0]{<-}{A}{R}
- \ncline{<-}{B}{R}
-\end{MEx}
-(Note that in this example, the default value \p{angleA=0} is used.)
-
-\oitem \ncdiagg`{arrows}'{nodeA}{nodeB}
-
-\n\ncdiagg{} is similar to \n\ncdiag, but only the arm for node A is drawn.
-The end of this arm is then connected directly to node B. Compare
-\n\ncdiagg{} with \n\ncdiag{} when \p{armB=0}:
-\begin{MEx}[-.5,-1](3.5,1)
- \cnode(0,0){12pt}{a}
- \rput[l](3,1){\rnode{b}{H}}
- \rput[l](3,-1){\rnode{c}{T}}
- \ncdiagg[angleA=180, armA=1.5, nodesepA=3pt]{b}{a}
- "\nbput[npos=1.2]{\texttt{\string\ncdiagg}}
- \ncdiag[angleA=180, armA=1.5, armB=0, nodesepA=3pt]{c}{a}
- "\naput[npos=1.2]{\texttt{\string\ncdiag}}
-\end{MEx}
-
- You can use \n\ncdiagg{} with \p{armA=0} if you want a straight line that
-joins to node A at the angle you specify, and to node B at an angle that is
-determined automatically.
-
-\oitem \ncbar`{arrows}'{nodeA}{nodeB}
-
- This node connection consists of a line with arms dropping ``down'', at
-right angles, to meet two nodes at an angle \p{angleA}. Each arm is at least
-of length \p{armA} or \p{armB}, but one may be need to be longer.
-\begin{example**}
- \rnode{A}{Connect} some \rnode{B}{words}!
- \ncbar[nodesep=3pt,angle=-90]{<-**}{A}{B}
- \ncbar[nodesep=3pt,angle=70]{A}{B}
-\end{example**}
- Generally, the whole line has three straight segments.
-
-\oitem \ncangle`{arrows}'{nodeA}{nodeB}
-
-
- Now we get to a more complicated node connection. \n\ncangle{} typically
-draws three line segments, like \n\ncdiag. However, rather than fixing the
-length of arm A, we adjust arm A so that the line joining the two arms meets
-arm A at a right angle. For example:
-\begin{MEx}(4,3)
- \rput[tl](0,3){\rnode{A}{\psframebox{Node A}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncangle[angleA=-90,angleB=90,armB=1cm]{A}{B}
-\end{MEx}
-Now watch what happens when we change \p{angleA}:
-\begin{MEx}(4,3)
- \rput[tl](0,3){\rnode{A}{\psframebox{Node A}}}
- "\nput[labelsep=0]{-70}{A}{%
- " \psarcn(0,0){.4cm}{0}{-70}
- " \uput{.4cm}[-35](0,0){\texttt{angleA}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncangle[angleA=-70,angleB=90,armB=1cm,linewidth=1.2pt]{A}{B}
- "\nput[labelsep=0]{90}{B}{%
- " \rput[bl](2pt,1pt){%
- " \valign{%
- " \vfil#\vfil\cr
- " \hbox{\psscaleboxto(.3,.95cm){\}}}\cr%
- " \hbox{\kern 1pt{\texttt{armB}}}\cr}}}
- "\ncput[nrot=:U,npos=1]{\psframe[dimen=middle](0,0)(.35,.35)}
-\end{MEx}
-
-\n\ncangle{} is also a good way to join nodes by a right angle, with just two
-line segments, as in this example:
-\begin{MEx}(4,2)
- \rput[tl](0,2){\rnode{A}{\psframebox{Node A}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncangle[angleB=90, armB=0, linearc=.5]{A}{B}
-\end{MEx}
-
-\oitem \ncangles`{arrows}'{nodeA}{nodeB}
-
- \n\ncangles{} is similar to \n\ncangle, but the length of arm A is fixed by
-he \p{armA} parameter. Arm A is connected to arm B by two line segments that
-eet arm A and each other at right angles. The angle at which they join arm B,
-and the length of the connecting segments, depends on the positions of the two
-arms. \n\ncangles{} generally draws a total of four line segments.\footnote{%
-Hence there is one more angle than \n\ncangle, and hence the "s" in
-\n\ncangles.}
-For example:
-\begin{MEx}(4,4)
- \rput[tl](0,4){\rnode{A}{\psframebox{Node A}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncangles[angleA=-90, armA=1cm, armB=.5cm, linearc=.15]{A}{B}
-\end{MEx}
-
-Let's see what happens to the previous example when we change \p{angleB}:
-\begin{MEx}(4,4)
- \rput[tl](0,4){\rnode{A}{\psframebox{Node A}}}
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \ncangles[angleA=-90, angleB=135, armA=1cm, armB=.5cm,
- linearc=.15]{A}{B}
- "\nput[labelsep=0]{-90}{A}{%
- " \psarcn(0,0){.4cm}{0}{-90}
- " \uput{.4cm}[-45](0,0){\texttt{angleA}}
- " \rput[tr](-2pt,0){%
- " \valign{%
- " \vfil#\vfil\cr
- " \hbox{\texttt{armA}\kern 1pt}\cr
- " \hbox{\psscaleboxto(.28,.95cm){\{}}\cr%
- " \cr}}}
- "\nput[labelsep=0]{135}{B}{%
- " \psarc(0,0){.4cm}{0}{133}
- " \uput{.4cm}[50.5](0,0){\texttt{angleB}}
- " }
- "\ncput[nrot=:L,npos=2]{\psline(0,-.35)(-.35,-.35)(-.35,0)}
- "\ncput[npos=3.5]{%
- " \rput[r](-.8,0){\rnode{arm}{\texttt{armB}}}
- " \pnode{brak}}%
- "\ncline[nodesep=3pt]{->}{arm}{brak}
-\end{MEx}
-
-\oitem \ncloop`{arrows}'{nodeA}{nodeB}
-
- \n\ncloop{} is also in the same family as \n\ncangle{} and \n\ncangles, but
-now typically 5 line segments are drawn. Hence, \n\ncloop{} can reach around
-to opposite sides of the nodes. The lengths of the arms are fixed by \p{armA}
-and \p{armB}. Starting at arm A, \n\ncloop{} makes a 90 degree turn to the
-left, drawing a segment of length
-\begin{Ex}
- \Par{loopsize=dim}
-\end{Ex}
-This segment connects to arm B the way arm A connects to arm B with \n\ncline;
-that is, two more segments are drawn, which join the first segment and each
-other at right angles, and then join arm B. For example:
-\begin{example**}
- "\vrule width 0pt height 1cm
- \rnode{a}{\psframebox{\Huge A loop}}
- \ncloop[angleB=180,loopsize=1,arm=.5,linearc=.2]{->}{a}{a}
- "\ncput[npos=3.5,nrot=:U]{\psline{|<->|}(.5,-.2)(-.5,-.2)}
- "\nbput[npos=3.5,nrot=:D,labelsep=.35cm]{{\tt loopsize}}
- "\kern .5cm
-\end{example**}
-In this example, node A and node B are the same node! You can do this with all
-the node connections (but it doesn't always make sense).
-
-Here is an example where \n\ncloop{} connects two different nodes:
-\begin{example**}
- \parbox{3cm}{%
- \rnode{A}{\psframebox{\large\textbf{Begin}}}
- \vspace{1cm}\hspace*{\fill}
- \rnode{B}{\psframebox{\large\textbf{End}}}
- \ncloop[angleA=180,loopsize=.9,arm=.5,linearc=.2]{->}{A}{B}}
- "\ncput[npos=1.5,nrot=:U]{\psline{|<->|}(.45,-.2)(-.45,-.2)}
- "\nbput[npos=1.5,nrot=:D,labelsep=.35cm]{\texttt{loopsize}}
- "\kern .5cm
-\end{example**}
-
-\end{description}
-
-The next two node connections are a little different from the rest.
-
-\begin{description}
-\oitem \nccurve`{arrows}'{nodeA}{nodeB}
-
- \n\nccurve{} draws a bezier curve between the nodes.
-\begin{MEx}(4,3)
- \rput[bl](0,0){\rnode{A}{\psframebox{Node A}}}
- \rput[tr](4,3){\ovalnode{B}{Node B}}
- \nccurve[angleB=180]{A}{B}
-\end{MEx}
-You specify the angle at which the curve joins the nodes by setting the
-\p{angle} (and \p{angleA} and \p{angleB}) parameter. The distance to the
-control points is set with the
-\begin{Ex}
- \Par{ncurv=num}
-\end{Ex}
-(and \p{ncurvA} and \p{ncurvB}) parameter. A lower number gives a tighter
-curve. (The distance between the beginning of the arc and the first control
-point is one-half \p{ncurvA} times the distance between the two endpoints.)
-
-\oitem \nccircle`{arrows}'{node}{radius}
-
-\n\nccircle{} draws a circle, or part of a circle, that, if complete, would
-pass through the center of the node counterclockwise, at an angle of
-\p{angleA}.
-\begin{example**}
- "\vrule width 0pt height 1.4cm
- \rnode{A}{\textbf{back}}
- \nccircle[nodesep=3pt]{->}{A}{.7cm}
- \kern 5pt
-\end{example**}
-\n\nccircle{} can only connect a node to itself; it is the only node
-connection with this property. \n\nccircle{} is also special because it has an
-additional argument, for specifying the radius of the circle.
-
-\end{description}
-
-The last two node connections are also special. Rather than connecting the
-nodes with an open curve, they enclose the nodes in a box or curved box. You
-can think of them as variants of \n\ncline{} and \n\ncarc. In both cases, the
-half the width of the box is
-\begin{Ex}
- \Par{boxsize=dim}
-\end{Ex}
-You have to set this yourself to the right size, so that the nodes fit inside
-the box. The \p{boxsize} parameter actually sets the \p{boxheight} and
-\p{boxdepth} parameters. The ends of the boxes extend beyond the nodes by
-\p{nodesepA} and \p{nodesepB}.
-
-\begin{description}
-
-\oitem \ncbox{nodeA}{nodeB}
- \n\ncbox{} encloses the nodes in a box with straight sides. For example:
-\begin{MEx}[0,-.5](4,2.5)
- \rput[bl](.5,0){\rnode{A}{Idea 1}}
- \rput[tr](3.5,2){\rnode{B}{Idea 2}}
- \ncbox[nodesep=.5cm,boxsize=.6,linearc=.2,
- linestyle=dashed]{A}{B}
-\end{MEx}
-
-\oitem \ncarcbox{nodeA}{nodeB}
-
- \n\ncarcbox{} encloses the nodes in a curved box that is \p{arcangleA} away
-from the line connecting the two nodes.
-\begin{MEx}[0,-.5](4,2.5)
- \rput[bl](.5,0){\rnode{A}{1}}
- \rput[tr](3.5,2){\rnode{B}{2}}
- \ncarcbox[nodesep=.2cm,boxsize=.4,linearc=.4,
- arcangle=50]{<->}{A}{B}
-\end{MEx}
-The arc is drawn counterclockwise from node A to node B.
-
-\end{description}
-
-There is one other node connection parameter that applies to all the node
-connections, except \n\ncarcbox:
-\begin{Ex}
- \Par{offset=dim}
-\end{Ex}
-(You can also set \p{offsetA} and \p{offsetB} independently.) This shifts the
-point where the connection joins up by <dim> (given the convention that
-connections go from left to right).
-
-There are two main uses for this parameter. First, it lets you make two
-parallel lines with \n\ncline, as in the following example:
-\begin{MEx}[-.5,-.5](3.5,2.5)
- \cnodeput(0,0){A}{X}
- \cnodeput(3,2){B}{Y}
- \psset{nodesep=3pt,offset=4pt,arrows=->}
- \ncline{A}{B}
- \ncline{B}{A}
-\end{MEx}
-
-Second, it lets you join a node connection to a rectangular node at a right
-angle, without limiting yourself to positions that lie directly above, below,
-or to either side of the center of the node. This is useful, for example, if
-you are making several connections to the same node, as in the following
-example:
-\begin{example**}
- \rnode{A}{Word1} and \rnode{B}{Word2} and \rnode{C}{Word3}
- \ncbar[offsetB=4pt,angleA=-90,nodesep=3pt]{->}{A}{B}
- \ncbar[offsetA=4pt,angleA=-90,nodesep=3pt]{->}{B}{C}
-\end{example**}
-
-Sometimes you might be aligning several nodes, such as in a tree, and you want
-to ends or the arms of the node connections to line up. This won't happen
-naturally if the nodes are of different size, as you can see in this example:
-\begin{MEx}[-.5,0](3.5,3)
- "\psset{unit=.9}
- \Huge
- \cnode(1,3){4pt}{a}
- \rput[B](0,0){\Rnode{b}{H}}
- \rput[B](2,0){\Rnode{c}{a}}
- \psset{angleA=90,armA=1,nodesepA=3pt}
- \ncdiagg{b}{a}
- \ncdiagg{c}{a}
-\end{MEx}
-
-%%??? FIXME
-If you set the \p{nodesep} or \p{arm} parameter to a negative value, PSTricks
-will measure the distance to the beginning of the node connection or to the
-end of the arm relative to the center of the node, rather than relative to the
-boundary of the node or the beginning of the arm. Here is how we fix the
-previous example:
-\begin{MEx}[-.5,0](3.5,3)
- "\psset{unit=.9}
- \Huge
- \cnode(1,3){4pt}{a}
- \rput[B](0,0){\Rnode{b}{H}}
- \rput[B](2,0){\Rnode{c}{a}}
- \psset{angleA=90,armA=1,YnodesepA=12pt}
- \ncdiagg{b}{a}
- \ncdiagg{c}{a}
-\end{MEx}
-Note also the use of \n\Rnode.
-
-One more parameter trick: By using the \p{border} parameter, you can create
-the impression that one node connection passes over another.
-
-The node connection commands make interesting drawing tools as well, as an
-alternative to \n\psline{} for connecting two points. There are variants of
-the node connection commands for this purpose. Each begins with "pc" (for
-``point connection'') rather than "nc". E.g.,
-\begin{LVerb}
- \pcarc{<->}(3,4)(6,9)
-\end{LVerb}
-gives the same result as
-\begin{LVerb}
- \pnode(3,4){A}
- \pnode(6,9){B}
- \pcarc{<->}{A}{B}
-\end{LVerb}
-
-Only \n\nccircle{} does not have a "pc" variant:
-\begin{center}
-\def\oitem{\GetMacroDef\oitemi}
-\def\oitemi#1{\addtoquickref{object}{#1}{\MainFont\Main#1}}
-\addtolength{\tabcolsep}{8pt}
-\begin{tabular}{ll}
- \emph{Command} & \emph{Corresponds to:}\\
-
- \oitem \pcline`{arrows}'\c1\c2
- & \n\ncline\\
-
- \oitem \pccurve`{arrows}'\c1\c2
- & \n\nccurve\\
-
- \oitem \pcarc`{arrows}'\c1\c2
- & \n\ncarc\\
-
- \oitem \pcbar`{arrows}'\c1\c2
- & \n\ncbar\\
-
- \oitem \pcdiag`{arrows}'\c1\c2
- & \n\ncdiag\\
-
- \oitem \pcdiagg`{arrows}'\c1\c2
- & \n\ncdiagg\\
-
- \oitem \pcangle`{arrows}'\c1\c2
- & \n\ncangle\\
-
- \oitem \pcangles`{arrows}'\c1\c2
- & \n\ncangles\\
-
- \oitem \pcloop`{arrows}'\c1\c2
- & \n\ncloop\\
-
- \oitem \pcbox\c1\c2
- & \n\ncbox\\
-
- \oitem \pcarcbox\c1\c2
- & \n\ncarcbox
-\end{tabular}
-\end{center}
-
-
-\Section{Node connections labels: I\label{S-nodelabels}}
-
-Now we come to the commands for attaching labels to the node connections. The
-label command must come right after the node connection to which the label is
-to be attached. You can attach more than one label to a node connection, and a
-label can include more nodes.
-
-The node label commands must end up on the same \TeX{} page as the node
-connection to which the label corresponds.
-
-There are two groups of connection labels, which differ in how they select the
-point on the node connection. In this section we describe the first group:
-\begin{Ex}
- \object \ncput`*[par]'{stuff}
- \object \naput`*[par]'{stuff}
- \object \nbput`*[par]'{stuff}
-\end{Ex}
-
-These three command differ in where the labels end up with respect to the line:
-\begin{quote}
-\begin{tabular}{ll}
- \n\ncput & \emph{on} the line\\
- \n\naput & \emph{above} the line\\
- \n\nbput & \emph{below} the line
-\end{tabular}
-\end{quote}
-(using the convention that node connections go from left to right).
-
-Here is an example:
-\begin{MEx}[0,-1.5](3.5,1.5)
- \cnode(0,0){.5cm}{root}
- \cnode*(3,1.5){4pt}{A}
- \cnode*(3,0){4pt}{B}
- \cnode*(3,-1.5){4pt}{C}
- \psset{nodesep=3pt}
- \ncline{root}{A}
- \naput{above}
- \ncline{root}{B}
- \ncput*{on}
- \ncline{root}{C}
- \nbput{below}
-\end{MEx}
-
-\n\naput{} and \n\nbput{} use the same algorithm as \n\uput{} for displacing
-the labels, and the distance beteen the line and labels is \p{labelsep} (at
-least if the lines are straight).
-
-\n\ncput{} uses the same system as \n\rput{} for setting the reference
-point. You change the reference point by setting the
-\begin{Ex}
- \Par{ref=ref}
-\end{Ex}
-parameter.
-
-Rotation is also controlled by a graphics parameter:
-\begin{Ex}
- \Par{nrot=rot}
-\end{Ex}
-<rot> can be in any of the forms suitable for \n\rput, and you can also use
-the form
-\begin{LVerb*}
- {:<angle>}
-\end{LVerb*}
-The angle is then measured with respect to the node connection. E.g., if the
-angle is "{:U}", then the label runs parallel to the node connection. Since
-the label can include other put commands, you really have a lot of control
-over the label position.
-
-The next example illustrates the use "{:<angle>}", the \p{offset} parameter,
-and \n\pcline:
-\begin{MEx}(4,2.3)
- \pspolygon(0,0)(4,2)(4,0)
- \pcline[offset=12pt]{|-|}(0,0)(4,2)
- \ncput*[nrot=:U]{Length}
-\end{MEx}
-
-Here is a repeat of an earlier example, now using "{:<angle>}":
-\begin{MEx}[0,-1.5](3.5,1.5)
- \cnode(0,0){.5cm}{root}
- \cnode*(3,1.5){4pt}{A}
- \cnode*(3,0){4pt}{B}
- \cnode*(3,-1.5){4pt}{C}
- \psset{nodesep=3pt,nrot=:U}
- \ncline{root}{A}
- \naput{above}
- \ncline{root}{B}
- \ncput*{on}
- \ncline{root}{C}
- \nbput{below}
-\end{MEx}
-
-The position on the node connection is set by the
-\begin{Ex}
- \Par{npos=num}
-\end{Ex}
-parameter, roughly according to the following scheme: Each node connection has
-potentially one or more segments, including the arms and connecting lines.
-A number \p{npos} between 0 and 1 picks a point on the first segment from node
-"A" to "B" (fraction \p{npos} from the beginning to the end of the segment),
-a number between 1 and 2 picks a number on the second segment, and so on.
-
-Each node connection has its own default value of \p{npos}. If you leave the
-\p{npos} parameter value empty (e.g., "[npos=]"), then the default is
-substituted. This is the default mode.
-
-Here are the details for each node connection:
-\begin{center}
- \catcode`\@=11\setbox\@tempboxa=\hbox{1.5}%
- \edef\t#1{\noexpand\hbox to \the\wd\@tempboxa{\noexpand\tt\noexpand\hss#1}}
- \begin{tabular}{lccc}
- \emph{Connection} & \emph{Segments} & \emph{Range} & \emph{Default}\\[2pt]
- \n\ncline & 1 & $0\leq pos\leq 1$ & "0.5"\\
- \n\nccurve & 1 & $0\leq pos\leq 1$ & "0.5"\\
- \n\ncarc & 1 & $0\leq pos\leq 1$ & "0.5"\\
- \n\ncbar & 3 & $0\leq pos\leq 3$ & "1.5"\\
- \n\ncdiag & 3 & $0\leq pos\leq 3$ & "1.5"\\
- \n\ncdiagg & 2 & $0\leq pos\leq 2$ & "0.5"\\
- \n\ncangle & 3 & $0\leq pos\leq 3$ & "1.5"\\
- \n\ncangles & 4 & $0\leq pos\leq 4$ & "1.5"\\
- \n\ncloop & 5 & $0\leq pos\leq 5$ & "2.5"\\
- \n\nccircle & 1 & $0\leq pos\leq 1$ & "0.5"\\
- \n\ncbox & 4 & $0\leq pos\leq 4$ & "0.5"\\
- \n\ncarcbox & 4 & $0\leq pos\leq 4$ & "0.5"
- \end{tabular}
-\end{center}
-
-Here is an example:
-\begin{MEx}(4,3)
- \rput[tl](0,3){\rnode{A}{\psframebox{Node A}}}
- \rput[br](3.5,0){\ovalnode{B}{Node B}}
- \ncangles[angleA=-90,arm=.4cm,linearc=.15]{A}{B}
- \ncput*{d}
- \nbput[nrot=:D,npos=2.5]{par}
-\end{MEx}
-
-With \n\ncbox{} and \n\ncarcbox, the segments run counterclockwise, starting
-with the lower side of the box. Hence, with \n\nbput{} the label ends up
-outside the box, and with \n\naput{} the label ends up inside the box.
-\begin{MEx}[0,-.5](4,2.5)
- \rput[bl](.5,0){\rnode{A}{1}}
- \rput[tr](3.5,2){\rnode{B}{2}}
- \ncarcbox[nodesep=.2cm,boxsize=.4,linearc=.4,
- arcangle=50,linestyle=dashed]{<->}{A}{B}
- \nbput[nrot=:U]{set}
- \nbput[npos=2]{II}
-\end{MEx}
-
-If you set the parameter
-\begin{Ex}
- \Par{shortput=none/nab/tablr/tab}
-\end{Ex}
-to "nab", then immediately following a node connection or another node
-connection label you can use "^" instead of \n\naput{} and "_" instead of
-\n\nbput.
-\begin{MEx}[0,-1.5](3.5,1.5)
- \cnode(0,0){.5cm}{root}
- \cnode*(3,1.5){4pt}{A}
- \cnode*(3,-1.5){4pt}{C}
- \psset{nodesep=3pt,shortput=nab}
- \ncline{root}{A}^{$x$}
- \ncline{root}{C}_{$y$}
-\end{MEx}
-You can still have parameter changes with the short "^" and "_" forms. Another
-example is given on page \pageref{nab-example}.
-
-If you have set \p{shortput=nab}, and then you want to use a true "^" or "_"
-character right after a node connection, you must precede the "^" or "_" by
-"{}" so that PSTricks does not convert it to "\naput" or "\nbput".
-
-You can change the characters that you use for the short form with the
- \Mac \MakeShortNab{<char1>}{<char2>}
-command.\footnote{%
-You can also use \n\MakeShortNab{} if you want to use "^" and "_" with
-non-standard category codes. Just invoke the command after you have made your
-"\catcode" changes.}
-
-The \p{shortput=tablr} and \p{shortput=tab} options are described on pages
-\pageref{tablr} and \pageref{tab}, respectively.
-
-\Section{Node connection labels: II}
-
-Now the second group of node connections:
-\begin{Ex}
- \object \tvput`*[par]'{stuff}
- \object \tlput`*[par]'{stuff}
- \object \trput`*[par]'{stuff}
- \object \thput`*[par]'{stuff}
- \object \taput`*[par]'{stuff}
- \object \tbput`*[par]'{stuff}
-\end{Ex}
-
-The difference between these commands and the "\n*put" commands is that these
-find the position as an intermediate point between the centers of the nodes,
-either in the horizontal or vertical direction. These are good for trees and
-mathematical diagrams, where it can sometimes be nice to have the labels be
-horizontally or vertically aligned. The "t" stands for ``tree''.
-
-You specify the position by setting the
-\begin{Ex}
- \Par{tpos=num}
-\end{Ex}
-parameter.
-
-\n\tvput, \n\tlput{} and \n\trput{} find the position that lies fraction
-<tpos> in the \emph{vertical} direction from the upper node to the lower
-node. \n\thput, \n\taput{} and \n\tbput{} find the position that lies fraction
-<tpos> in the \emph{horizontal} direction from the left node to the right
-node.
-Then the commands put the label on or next to the line, as follows:
-\begin{center}
-\begin{tabular}{lll}
- \emph{Command} & \emph{Direction} & \emph{Placement}\\[3pt]
- \n\tvput & vertical & middle\\
- \n\tlput & vertical & left\\
- \n\trput & vertical & right\\
- \n\thput & horizontal & middle\\
- \n\taput & horizontal & above\\
- \n\tbput & horizontal & below
-\end{tabular}
-\end{center}
-
-Here is an example:
-\begin{example*}
- \[
- \setlength{\arraycolsep}{1.1cm}
- \begin{array}{cc}
- \Rnode{a}{(X-A)} & \Rnode{b}{A} \\[1.5cm]
- \Rnode{c}{x} & \Rnode{d}{\tilde{X}}
- \end{array}
- \psset{nodesep=5pt,arrows=->}
- \everypsbox{\scriptstyle}
- \ncline{a}{c}\tlput{r}
- \ncline{a}{b}\taput{u}
- \ncline[linestyle=dashed]{c}{d}\tbput{b}
- \ncline{b}{d}\trput{s}
- " \everypsbox{}
- " \begin{array}{cc}
- " \rnode{a}{(X-A)} & \rnode{b}{a} \\[1.5cm]
- " \rnode{c}{x} & \rnode{d}{\tilde{X}}
- " \end{array}
- " \psset{nodesep=5pt,arrows=->}\everypsbox{\scriptstyle}
- " \ncline{a}{c}\nbput{r}
- " \ncline{a}{b}\naput{u}
- " \ncline[linestyle=dashed]{c}{d}\nbput{b}
- " \ncline{b}{d}\naput{s}
- \]
-\end{example*}
-On the left is the diagram with \n\tlput, \n\trput\, \n\tbput{} and \n\Rnode,
-as shown in the code. On the right is the same diagram, but with \n\naput\,
-\n\nbput{} and \n\rnode.
-
-These do not have a rotation argument or parameter. However, you can rotate
-<stuff> in 90 degree increments using box rotations (e.g., \n\rotateleft).
-
-If you set \p{shortput=tablr}, then you can use the following single-character
-abbreviations for the "t" put commands:\label{tablr}
-\begin{center}
- \begin{tabular}{rl}
- \emph{Char.} & \emph{Short for:}\\[2pt]
- "^" & \n\taput \\
- "_" & \n\tbput \\
- \DeleteShortMeta "<" & \n\tlput \\
- ">" & \n\trput
- \end{tabular}
-\end{center}
-
-You can change the character abbreviations with
- \Mac \MakeShortTablr{<char1>}{<char2>}{<char3>}{<char4>}
-
-The "t" put commands, including an example of \p{shortput=tablr}, will be
-shown further when we get to mathematical diagrams and trees.
-
-\begin{drivers} The node macros use \n\pstVerb{} and \n\pstverbscale.
-\end{drivers}
-
-\Section{Attaching labels to nodes}
-
-The command
- \Mac \nput`*[par]'{refangle}{name}{stuff}
-affixes <stuff> to node <name>. It is positioned distance \p{labelsep} from
-the node, in the direction <refangle> from the center of the node. The
-algorithm is the same as for \n\uput. If you want to rotate the node, set the
-\begin{Ex}
- \Par{rot=rot}
-\end{Ex}
-parameter, where <rot> is a rotation that would be valid for \n\rput.%
-\footnote{Not to be confused with the "nput" parameter.}
-The position of the label also takes into account the \p{offsetA}
-parameter. If \p{labelsep} is negative, then the distance is from the center
-of the node rather than from the boundary, as with \p{nodesep}.
-
-Here is how I used \n\nput{} to mark an angle in a previous example:
-\begin{MEx}(4,3)
- \rput[br](4,0){\ovalnode{B}{Node B}}
- \rput[tl](0,3){\rnode{A}{\psframebox{Node A}}}
- \nput[labelsep=0]{-70}{A}{%
- \psarcn(0,0){.4cm}{0}{-70}
- \uput{.4cm}[-35](0,0){\texttt{angleA}}}
- \ncangle[angleA=-70,angleB=90,armB=1cm,linewidth=1.2pt]{A}{B}
- \ncput[nrot=:U,npos=1]{\psframe[dimen=middle](0,0)(.35,.35)}
-\end{MEx}
-
-\Section{Mathematical diagrams and graphs\label{S-psmatrix}}
-
-For some applications, such as mathematical diagrams and graphs, it is useful
-to arrange nodes on a grid. You can do this with alignment environments, such
-as \TeX's "\halign"primitive, \LaTeX's "tabular" environment, and \AmS-\TeX's
-"\matrix", but PSTricks contains its own alignment environment that is
-especially adapted for this purpose:
-\begin{Ex}
- \object \psmatrix{} ... \string\endpsmatrix
-\end{Ex}
-
-Here is an example
-\begin{example**}
- $
- \psmatrix[colsep=1cm,rowsep=1cm]
- & A \\
- B & E & C \\
- & D &
- \endpsmatrix
- $
-\end{example**}
-
-As an alignment environment, \n\psmatrix{} is similar to \AmS-\TeX's
-"\matrix". There is no argument for specifying the columns. Instead, you can
-just use as many columns as you need. The entries are horizontally centered.
-Rows are ended by "\\". \n\psmatrix{} can be used in or out of math mode.
-
-Our first example wasn't very interesting, because we didn't make use of the
-nodes. Actually, each entry is a node. The name of the node in row <row> and
-column <col> is "{<row>,<col>}", with no spaces. Let's see some node
-connections:
-\begin{example**}
- $
- \psmatrix[colsep=1cm]
- & X \\
- Y & Z
- \endpsmatrix
- \everypsbox{\scriptstyle}%
- \psset{nodesep=3pt,arrows=->}
- \ncline{1,2}{2,1}
- \tlput{f}
- \ncline{1,2}{2,2}
- \trput{g}
- \ncline[linestyle=dotted]{2,1}{2,2}
- \tbput{h}
- $
-\end{example**}
-
-You can include the node connections inside the \n\psmatrix, in the last entry
-and right before \n\endpsmatrix. One advantage to doing this is that
-\p{shortput=tab} is the default within a \n\psmatrix.
-\begin{example**}
- $
- \begin{psmatrix}
- U \\
- & X\times_Z Y & X \\
- & Y & Z
- \psset{arrows=->,nodesep=3pt}
- \everypsbox{\scriptstyle}
- \ncline{1,1}{2,2}_{y}
- \ncline[doubleline=true,linestyle=dashed]{-}{1,1}{2,3}^{x}
- \ncline{2,2}{3,2}<{q}
- \ncline{2,2}{2,3}_{p}
- \ncline{2,3}{3,3}>{f}
- \ncline{3,2}{3,3}_{g}
- \end{psmatrix}
- $
-\end{example**}
-
-You can change the kind of nodes that are made by setting the
-\begin{Ex}
- \Par{mnode=type}
-\end{Ex}
-parameter. Valid types are "R", "r", "C", "f", "p", "circle", "oval", "dia",
-"tri", "dot" and "none", standing for \n\Rnode, \n\rnode, \n\Cnode, \n\fnode,
-\n\pnode, \n\circlenode, \n\ovalnode, \n\dotnode{} and no node,
-respectively. Note that for circles, you use \p{mnode=C} and set the radius
-with the \p{radius} parameter.
-
-For example:\label{nab-example}
-\begin{example**}
- \psmatrix[mnode=circle,colsep=1]
- & A \\
- B & E & C \\
- & D &
- \endpsmatrix
- \psset{shortput=nab,arrows=->,labelsep=3pt}
- \small
- \ncline{2,2}{2,3}^[npos=.75]{a}
- \ncline{2,2}{2,1}^{b}
- \ncline{3,2}{2,1}^{c}
- \ncarc[arcangle=-40,border=3pt]{3,2}{1,2}
- _[npos=.3]{d}^[npos=.7]{e}
- \ncarc[arcangle=12]{1,2}{2,1}^{f}
- \ncarc[arcangle=12]{2,1}{1,2}^{g}
-\end{example**}
-
-Note that a node is made only for the non-empty entries. You can also specify
-a node for the empty entries by setting the
-\begin{Ex}
- \Par{emnode=type}
-\end{Ex}
-parameter.
-
-You can change parameters for a single entry by starting this entry with the
-parameter changes, enclosed in square brackets. Note that the changes affect
-the way the node is made, but not contents of the entry (use \n\psset{} for
-this purpose). For example:
-\begin{example**}
- $
- \psmatrix[colsep=1cm]
- & [mnode=circle] X \\
- Y & Z
- \endpsmatrix
- \psset{nodesep=3pt,arrows=->}
- \ncline{1,2}{2,1}
- \ncline{1,2}{2,2}
- \ncline[linestyle=dotted]{2,1}{2,2}
- $
-\end{example**}
-If you want your entry to begin with a "[" that is not meant to indicate
-parameter changes, the precede it by "{}".
-
-You can assign your own name to a node by setting the
-\begin{Ex}
- \Par{name=<name>}
-\end{Ex}
-parameter at the beginning of the entry, as described above. You can still
-refer to the node by "{<row>,<col>}", but here are a few reasons for giving
-your own name to a node:
-\begin{itemize}
- \item The name may be easier to keep track of;
- \item Unlike the "{<row>,<col>}" names, the names you give remain valid
- even when you add extra rows or columns to your matrix.
- \item The names remain valid even when you start a new \n\psmatrix{} that
- reuses the "{<row>,<col>}" names.
-\end{itemize}
-
-
-Here a few more things you should know:
-\begin{itemize}
- \item The baselines of the nodes pass through the centers of the
- nodes. \n\psmatrix{} achieves this by setting the
-\begin{Ex}
- \Par{nodealign=true/false}
-\end{Ex}
-parameter to "true". You can also set this parameter outside of \n\psmatrix{}
-when you want this kind of alignment.
-
- \item You can left or right-justify the nodes by setting the
-\begin{Ex}
- \Par{mcol=l/r/c}
-\end{Ex}
-parameter. "l", "r" and "c" stand for "left", "right" and "center",
-respectively.
-
- \item The space between rows and columns is set by the
-\begin{Ex}
- \Par{rowsep=dim}
- \Par{colsep=dim}
-\end{Ex}
-parameters.
-
- \item If you want all the nodes to have a fixed width, set
-\begin{Ex}
- \Par{mnodesize=dim}
-\end{Ex}
-to a positive value.
-
- \item If \n\psmatrix{} is used in math mode, all the entries are set in math
- mode, but you can switch a single entry out of math mode by starting and
- ending the entry with "$".
-
- \item The radius of the "c" \p{mnode} (corresponding to \n\cnode) is set by
-the \p{radius} parameter.
-
- \item Like in \LaTeX, you can end a row with "\\[<dim>]" to insert an extra
- space <dim> between rows.
-
- \item The command "\psrowhookii" is executed, if defined, at the beginning of
- every entry in row "ii" (row 2), and the command "\pscolhookv" is executed at
- athe beginning of every entry in column "v" (etc.). You can use these hooks,
- for example, to change the spacing between two columns, or to use a special
- \p{mnode} for all the entries in a particular row.
-
- \item An entry can itself be a node. You might do this if you want an entry
- to have two shapes.
-
- \item If you want an entry to stretch across several (<int>) columns, use the
- \Mac \psspan{int}
- \emph{at the end of the entry}. This is like Plain \TeX's \n\multispan, or
- \LaTeX's \n\multicolumn, but the template for the current column (the first
- column that is spanned) is still used. If you want wipe out the template as
- well, use "\multispan{<int>}" \emph{at the beginning of the entry} instead.
- If you just want to wipe out the template, use "\omit" before the entry.
-
- \item \n\psmatrix{} can be nested, but then all node connections and other
- references to the nodes in the "{<row>,<col>}" form for the nested matrix
- \emph{must go inside} the \n\psmatrix. This is how PSTricks decides which
- matrix you are referring to. It is still neatest to put all the node
- connections towards the end; just be sure to put them before \n\endpsmatrix.
- Be careful also not to refer to a node until it actually appears. The whole
- matrix can itself go inside a node, and node connections can be made as
- usual. This is not the same as connecting nodes from two different
- \n\psmatrix's. To do this, you must give the nodes names and refer to them
- by these names.
-
-\end{itemize}
-
-\section{Obsolete put commands}
-
-This is old documentation, but these commands will continue to be supported.
-
-There is also an obsolete command \n\Lput\MainIndex\Lput{} for putting labels
-next to node connections. The syntax is
-\begin{LVerb*}
- \Lput{<labelsep>}[<refpoint>]{<rotation>}(<pos>){<stuff>}
-\end{LVerb*}
-It is a combination of \n\Rput{} and \n\lput, equivalent to
-\begin{LVerb*}
- \lput(<pos>){\Rput{<labelsep>}[<refpoint>]{<rotation>}(0,0){<stuff>}}
-\end{LVerb*}
-\n\Mput\MainIndex\Mput{} is a short version of \n\Lput{} with no
-"{<rotation>}" or "(<pos>)" argument. \n\Lput{} and \n\Mput{} remain part of
-PSTricks only for backwards compatibility.
-
-Here are the node label commands:
-\begin{description}
-
-\mitem \lput`*[refpoint]{rotation}'(pos){stuff}
-
-The "l" stands for ``label''. Here is an example illustrating the use of the
-optional star and ":<angle>" with \n\lput, as well as the use of the
-\p{offset} parameter with \n\pcline:
-\begin{MEx}(4,2.3)
- \pspolygon(0,0)(4,2)(4,0)
- \pcline[offset=12pt]{|-|}(0,0)(4,2)
- \lput*{:U}{Length}
-\end{MEx}
-(Remember that with the "put" commands, you can omit the coordinate if you
-include the angle of rotation. You are likely to use this feature with the
-node label commands.)
-
-With \n\lput{} and \n\rput, you have a lot of control over the position of the
-label. E.g.,
-\begin{MEx}(4,2)
- \pcline(0,0)(4,2)
- \lput{:U}{\rput[r]{N}(0,.4){label}}
-\end{MEx}
-puts the label upright on the page, with right side located .4 centimeters
-``above'' the position ".5" of the node connection (above if the node
-connection points to the right). However, the \n\aput{} and \n\bput{} commands
-described below handle the most common cases without \n\rput.\footnote{%
-There is also an obsolete command \n\Lput\MainIndex\Lput{} for putting labels
-next to node connections. The syntax is
-\begin{LVerb*}
- \Lput{<labelsep>}[<refpoint>]{<rotation>}(<pos>){<stuff>}
-\end{LVerb*}
-It is a combination of \n\Rput{} and \n\lput, equivalent to
-\begin{LVerb*}
- \lput(<pos>){\Rput{<labelsep>}[<refpoint>]{<rotation>}(0,0){<stuff>}}
-\end{LVerb*}
-\n\Mput\MainIndex\Mput{} is a short version of \n\Lput{} with no
-"{<rotation>}" or "(<pos>)" argument. \n\Lput{} and \n\Mput{} remain part of
-PSTricks only for backwards compatibility.}
-
-\mitem \aput`*[labelsep]{angle}'(pos){stuff}
-
- <stuff> is positioned distance \n\pslabelsep{} \emph{above} the node
-connection, given the convention that node connections point to the right.
-"\aput" is a node-connection variant of \n\uput. For example:
-\begin{MEx}(4,2)
- \pspolygon(0,0)(4,2)(4,0)
- \pcline[linestyle=none](0,0)(4,2)
- \aput{:U}{Hypotenuse}
-\end{MEx}
-
-\mitem \bput`*[labelsep]{angle}'(pos){stuff}
-
- This is like \n\aput, but <stuff> is positioned \emph{below} the node
-connection.
-
-\end{description}
-
- It is fairly common to want to use the default position and rotation with
-these node connections, but you have to include at least one of these
-arguments. Therefore, PSTricks contains some variants:
-\begin{Ex}
- \object \mput`*[refpoint]'{stuff}
- \object \Aput`*[labelsep]'{stuff}
- \object \Bput`*[labelsep]'{stuff}
-\end{Ex}
-of \n\lput, \n\aput{} and \n\bput, respectively, that have no angle or
-positioning argument. For example:
-\begin{MEx}(4,2)
- \cnode*(0,0){3pt}{A}
- \cnode*(4,2){3pt}{B}
- \ncline[nodesep=3pt]{A}{B}
- \mput*{1}
-\end{MEx}
-Here is another:
-\begin{MEx}(4,2)
- \pcline{<->}(0,0)(4,2)
- \Aput{Label}
-\end{MEx}
-
-\endinput
-
-%% END psd-node.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-para.tex b/Master/texmf-dist/source/generic/pstricks/psd-para.tex
deleted file mode 100644
index d644733a5dc..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-para.tex
+++ /dev/null
@@ -1,345 +0,0 @@
-%% BEGIN psd-para.tex
-
-\part{More graphics parameters}
-
-The graphics parameters described in this part are common to all or most of
-the graphics objects.
-
-\Section{Coordinate systems}
-
-The following manipulations of the coordinate system apply only to pure
-graphics objects.
-
-A simple way to move the origin of the coordinate system to \c{} is with the
-\begin{Ex}
- \Par{origin=\{coor\}}({0pt,0pt})
-\end{Ex}
-This is the one time that coordinates \emph{must} be enclosed in curly brackets
-"{}" rather than parentheses "()".
-
-A simple way to switch swap the axes is with the
-\begin{Ex}
- \Par{swapaxes=true}
-\end{Ex}
-parameter. E.g., you might change your mind on the orientation of a plot after
-generating the data.
-
-\Section{Line styles\label{S-linestyles}}
-
-The following graphics parameters (in addition to \p{linewidth} and
-\p{linecolor}) determine how the lines are drawn, whether they be open or
-closed curves.
-\begin{description}\raggedright
-
-\pitem[linestyle=style]
- Valid styles are "none", "solid", "dashed" and "dotted".
-
-\pitem[dash=dim1 dim2]
- The <black-white> dash pattern for the "dashed" line style. For example:
-\begin{MEx}(4,2)
- \psellipse[linestyle=dashed,dash=3pt 2pt](2,1)(2,1)
-\end{MEx}
-
-\pitem[dotsep=dim]
- The distance between dots in the "dotted" line style. For example
-\begin{MEx}(4,1)
- \psline[linestyle=dotted,dotsep=2pt]{|->>}(4,1)
-\end{MEx}
-
-\pitem[border=dim]
- A positive value draws a border of width <dim> and color \p{bordercolor} on
-each side of the curve. This is useful for giving the impression that one line
-passes on top of another. The value is saved in the dimension register
-\n\psborder.
-
-\pitem[bordercolor=color]
- See \p{border} above.
-
- For example:
-\begin{MEx}(4,3)
- \psline(0,0)(1.8,3)
- \psline[border=2pt]{*->}(0,3)(1.8,0)
- \psframe*[linecolor=gray](2,0)(4,3)
- \psline[linecolor=white,linewidth=1.5pt]{<->}(2.2,0)(3.8,3)
- \psellipse[linecolor=white,linewidth=1.5pt,
- bordercolor=gray,border=2pt](3,1.5)(.7,1.4)
-\end{MEx}
-
-\pitem[doubleline=true/false]
- When "true", a double line is drawn, separated by a space that is
-\p{doublesep} wide and of color \p{doublecolor}. This doesn't work as expected
-with the "dashed" \p{linestyle}, and some arrows look funny as well.
-
-\pitem[doublesep=dim]
- See \p{doubleline}, above.
-
-\pitem[doublecolor=color]
- See \p{doubleline}, above.
-
-Here is an example of double lines:
-\begin{MEx}(4,1)
- \psline[doubleline=true,linearc=.5,
- doublesep=1.5pt]{->}(0,0)(3,1)(4,0)
-\end{MEx}
-
-\pitem[shadow=true/false]
- When "true", a shadow is drawn, at a distance \p{shadowsize} from the
-original curve, in the direction \p{shadowangle}, and of color
-\p{shadowcolor}.
-
-\pitem[shadowsize=dim]
- See \p{shadow}, above.
-
-\pitem[shadowangle=angle]
- See \p{shadow}, above.
-
-\pitem[shadowcolor=color]
- See \p{shadow}, above.
-
-Here is an example of the \p{shadow} feature, which should look familiar:
-\begin{MEx}[-1,-.5](1,.7)
- \pspolygon[linearc=2pt,shadow=true,shadowangle=45,
- xunit=1.1](-1,-.55)(-1,.5)(-.8,.5)(-.8,.65)
- (-.2,.65)(-.2,.5)(1,.5)(1,-.55)
-\end{MEx}
-\end{description}
-
-Here is another graphics parameter that is related to lines but that applies
-only to the closed graphics objects \n\psframe, \n\pscircle, \n\psellipse{} and
-\n\pswedge:
-\begin{Ex}
- \Par{dimen=outer/inner/middle}
-\end{Ex}
-It determines whether the dimensions refer to the inside, outside or middle of
-the boundary. The difference is noticeable when the linewidth is large:
-\begin{MEx*}(4,3)
- \psset{linewidth=.25cm}
- \psframe[dimen=inner](0,0)(2,1)
- \psframe[dimen=middle](0,2)(2,3)
- \psframe[dimen=outer](3,0)(4,3)
-\end{MEx*}
-With "\pswedge", this only affects the radius; the origin always lies in the
-middle the boundary. The right setting of this parameter depends on how you
-want to align other objects.
-
-
-\Section{Fill styles\label{S-fillstyles}}
-
-The next group of graphics parameters determine how closed regions are filled.
-Even open curves can be filled; this does not affect how the curve is painted.
-\begin{description}\raggedright
-
-\pitem[fillstyle=style]
- Valid styles are
- \begin{quote}\raggedright
- "none", "solid", "vlines", "vlines*", "hlines", "hlines*", "crosshatch" and
-"crosshatch*".
- \end{quote}
- "vlines", "hlines" and "crosshatch" draw a pattern of lines, according to
-the four parameters list below that are prefixed with "hatch". The "*"
-versions also fill the background, as in the "solid" style.
-
-\pitem[fillcolor=color]
- The background color in the "solid", "vlines*", "hlines*" and "crosshatch*"
-styles.
-
-\pitem[hatchwidth=dim]
- Width of lines.
-
-\pitem[hatchsep=dim]
- Width of space between the lines.
-
-\pitem[hatchcolor=color]
- Color of lines. Saved in \n\pshatchcolor.
-
-\pitem[hatchangle=rot]
- Rotation of the lines, in degrees. For example, if \p{hatchangle} is set to
-"45", the "vlines" style draws lines that run NW-SE, and the "hlines" style
-draws lines that run "SW-NE", and the "crosshatch" style draws both.
-\end{description}
-
-Here is an example of the "vlines" and related fill styles:\footnote{%
-PSTricks adjusts the lines relative to the resolution so that they all have
-the same width and the same intervening space. Otherwise, the checkered
-pattern in this example would be noticeably uneven, even on 300 dpi devices.
-This adjustment is resolution dependent, and may involve adjustments to the
-\p{hatchangle} when this is not initially a multiple of 45 degrees.}
-\begin{MEx}(4,3)
- \pspolygon[fillstyle=vlines](0,0)(0,3)(4,0)
- \pspolygon[fillstyle=hlines](0,0)(4,3)(4,0)
- \pspolygon[fillstyle=crosshatch*,fillcolor=black,
- hatchcolor=white,hatchwidth=1.2pt,hatchsep=1.8pt,
- hatchangle=0](0,3)(2,1.5)(4,3)
-\end{MEx}
-
-Each of the pure graphics objects (except those beginning with "q") has a
-starred version that produces a solid object of color \p{linecolor}. (It
-automatically sets \p{linewidth} to zero, \p{fillcolor} to \p{linecolor},
-\p{fillstyle} to "solid", and \p{linestyle} to "none".)
-
-
-\Section{Arrowheads and such\label{S-arrows}}
-
- Lines and other open curves can be terminated with various arrowheads,
-t-bars or circles. The
-\begin{Ex}
- \Par{arrows=style}
-\end{Ex}
-parameter determines what you get. It can have the following values, which are
-pretty intuitive:\footnote{This is \TeX's version of WYSIWYG.}%
-\newbox\arrowtable
-\setbox\arrowtable=\hbox{%
- \def\myline#1{\psline{#1}(0,1ex)(1.3,1ex)}%
- \catcode`\<=12
- \begin{tabular}{cll}%
- \emph{Value} & \hbox to 1.3cm{\emph{Example}}\hss & \emph{Name} \\[2pt]
- "-" & \myline{-} & None\\
- "<->" & \myline{<->} & Arrowheads.\\
- ">-<" & \myline{>-<} & Reverse arrowheads.\\
- "<<->>" & \myline{<<->>} & Double arrowheads.\\
- ">>-<<" & \myline{>>-<<} & Double reverse arrowheads.\\
- "|-|" & \myline{|-|} & T-bars, flush to endpoints.\\
- "|*-|*" & \myline{|*-|*} & T-bars, centered on endpoints.\\
- "|<->|" & \myline{|<->|} & T-bars and arrowheads.\\
- "|<*->|*" & \myline{|<*->|*} & T-bars and arrowheads, flush.\\
- "[-]" & \myline{[-]} & Square brackets.\\
- "(-)" & \myline{(-)} & Rounded brackets.\\
- "o-o" & \myline{o-o} & Circles, centered on endpoints.\\
- "*-*" & \myline{*-*} & Disks, centered on endpoints.\\
- "oo-oo" & \myline{oo-oo} & Circles, flush to endpoints.\\
- "**-**" & \myline{**-**} & Disks, flush to endpoints.\\
- "c-c" & \myline{c-c} & Extended, rounded ends.\\
- "cc-cc" & \myline{cc-cc} & Flush round ends.\\
- "C-C" & \myline{C-C} & Extended, square ends.
- \end{tabular}}%
-\addtoquickref{center}{%
- {\large\textbf{Arrows}}\par
- \leavevmode\box\arrowtable}
-\begin{center}
- \leavevmode\copy\arrowtable
-\end{center}
-You can also mix and match. E.g., "->", "*-)" and "[->" are all valid values
-of the \p{arrows} parameter.
-
-Well, perhaps the "c", "cc" and "C" arrows are not so obvious. "c" and "C"
-correspond to setting PostScript's "linecap" to 1 and 2, respectively. "cc" is
-like "c", but adjusted so that the line flush to the endpoint. These arrows
-styles are noticeable when the \p{linewidth} is thick:
-\begin{MEx}[-.25,-.25](3.25,2.25)
- \psline[linewidth=.5cm](0,0)(0,2)
- \psline[linewidth=.5cm]{c-c}(1,0)(1,2)
- \psline[linewidth=.5cm]{cc-cc}(2,0)(2,2)
- \psline[linewidth=.5cm]{C-C}(3,0)(3,2)
- "\rput[t](0,-.3){\texttt{-}}
- "\rput[t](1,-.3){\texttt{c-c}}
- "\rput[t](2,-.3){\texttt{cc-cc}}
- "\rput[t](3,-.3){\texttt{C-C}}
-\end{MEx}
-
-Almost all the open curves let you include the \p{arrows} parameters as an
-optional argument, enclosed in curly braces and before any other arguments
-(except the optional parameters argument). E.g., instead of
-\begin{LVerb}
- \psline[arrows=<-,linestyle=dotted](3,4)
-\end{LVerb}
-you can write
-\begin{LVerb}
- \psline[linestyle=dotted]{<-}(3,4)
-\end{LVerb}
-The exceptions are a few streamlined macros that do not support the use of
-arrows (these all begin with "q").
-
-The size of these line terminators is controlled by the following parameters.
-In the description of the parameters, the width always refers to the dimension
-perpendicular to the line, and length refers to a dimension in the direction
-of the line.
-\begin{description}
-
-\pitem[arrowsize=dim `num']
- The width of arrowheads is <dim> plus <num> times \p{linewidth}
-(if the optional `num' is inclued). See the diagram below.
-
-\pitem[arrowlength=num]
- Length of arrowheads, as a fraction of the width, as shown below.
-
-\pitem[arrowinset=num]
- Size of inset for arrowheads, as a fraction of the length, as shown below.
-
-\begin{center}\leavevmode
-\hbox to \linewidth{%
- \psset{unit=.5cm}
- \pspicture[shift=3cm](-3.6,-1.3)(3.4,4.8)
- \pspolygon*(-2,0)(0,4)(2,0)(0,1)
- \psset{arrows=|-|}
- \psline(-2.5,0)(-2.5,4)\rput(-2.7,2){\psframebox*{\emph{length}}}
- \psline(-2,-.5)(2,-.5)\rput(0,-.5){\psframebox*{\emph{width}}}
- \psline(2.5,0)(2.5,1)\rput[l](2.8,.5){\emph{inset}}
- \endpspicture
- \hfill
- \begin{tabular}{rcl}
- \texttt{arrowsize} & = & <dim num>\\
- \emph{width} & = & <num> x \p{linewidth} + <dim1>\\
- \emph{length} & = & \p{arrowlength} x \emph{width}\\
- \emph{inset} & = & \p{arrowinset} x \emph{height}
- \end{tabular}}
-\end{center}
-
-\pitem[tbarsize=dim `num']
- The width of a t-bar, square bracket or rounded bracket is <dim> plus <num>
-times \p{linewidth} (if the optional `num' is included).
-\p{linewidth}, plus <dim>.
-
-\pitem[bracketlength=num]
- The height of a square bracket is <num> times its width.
-
-\pitem[rbracketlength=num]
- The height of a round bracket is <num> times its width.
-
-\pitem[arrowscale=arrowscale=num1 <num2>]
- Imagine that arrows and such point down. This scales the width of the arrows
-by <num1> and the length (height) by <num2>. If you only include one number,
-the arrows are scaled the same in both directions. Changing \p{arrowscale} can
-give you special effects not possible by changing the parameters described
-above. E.g., you can change the width of lines used to draw brackets.
-
-\end{description}
-
-The size of dots is controlled by the \p{dotsize} parameter.
-
-
-\Section{Custom styles}
-
-You can define customized versions of any macro that has parameter changes as
-an optional first argument using the \n\newpsobject{} command:
- \Mac \newpsobject{name}{object}{par1=value1`,\ldots'}
-as in
-\begin{LVerb}
- \newpsobject{myline}{psline}{linecolor=green,linestyle=dotted}
- \newpsobject{mygrid}{psgrid}{subgriddiv=1,griddots=10,
- gridlabels=7pt}
-\end{LVerb}
-The first argument is the name of the new command you want to define. The
-second argument is the name of the graphics object. Note that both of these
-arguments are given without the backslash. The third argument is the special
-parameter values that you want to set.
-
-With the above examples, the commands "\myline" and "\mygrid" work just like
-the graphics object \n\psline{} it is based on, and you can even reset the
-parameters that you set when defining "\myline", as in:
-\begin{LVerb}
- \myline[linecolor=gray,dotsep=2pt](5,6)
-\end{LVerb}
-
-Another way to define custom graphics parameter configurations is with the
- \Mac \newpsstyle{name}{par1=value1`,\ldots'}
-command. You can then set the \p{style} graphics parameter to <name>, rather
-than setting the parameters given in the second argument of \n\newpsstyle. For
-example,
-\begin{LVerb}
- \newpsstyle{mystyle}{linecolor=green,linestyle=dotted}
- \psline[style=mystyle](5,6)
-\end{LVerb}
-
-\endinput
-
-%% END psd-para.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-pict.tex b/Master/texmf-dist/source/generic/pstricks/psd-pict.tex
deleted file mode 100644
index 59fa301d2dd..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-pict.tex
+++ /dev/null
@@ -1,500 +0,0 @@
-%% BEGIN psd-pict.tex
-
-\part{Picture Tools\label{P-pictures}}
-
-\Section{Pictures\label{S-pspic}}
-
-The graphics objects and \n\rput{} and its variants do not change \TeX's
-current point (i.e., they create a 0-dimensional box). If you string several
-of these together (and any other 0-dimensional objects), they share the same
-coordinate system, and so you can create a picture. For this reason, these
-macros are called \emph{picture objects}.
-
-If you create a picture this way, you will probably want to give the whole
-picture a certain size. You can do this by putting the picture objects in a
-\p{pspicture} environment, as in:
-\begin{Ex}
- \object \pspicture`*[baseline](\x0,\y0)'\c1
- < picture objects>
- \object \endpspicture
-\end{Ex}
-The picture objects are put in a box whose lower left-hand corner is at \c0
-(by default, "(0,0)") and whose upper right-hand corner is at \c1.
-
-By default, the baseline is set at the bottom of the box, but the optional
-argument "[<baseline>]" sets the baseline fraction <baseline> from the bottom.
-Thus, <baseline> is a number, generally but not necessarily between 0 and 1.
-If you include this argument but leave it empty (\texttt{[\kern 1pt]}), then
-the baseline passes through the origin.
-
-Normally, the picture objects can extend outside the boundaries of the box.
-However, if you include the "*", anything outside the boundaries is clipped.
-
-Besides picture objects, you can put anything in a \n\pspicture{} that does
-not take up space. E.g., you can put in font declarations and use \n\psset,
-and you can put in braces for grouping. PSTricks will alert you if you include
-something that does take up space.\footnote{%
-When PSTricks picture objects are included in a \n\pspicture{} environment,
-they gobble up any spaces that follow, and any preceding spaces as well,
-making it less likely that extraneous space gets inserted. (PSTricks objects
-always ignore spaces that follow. If you also want them to try to neutralize
-preceding space when used outside the \n\pspicture{} environment (e.g., in a
-\LaTeX{} "picture" environment), then use the command \Main\KillGlue. The
-command \Main\DontKillGlue{} turns this behavior back off.)}
-
-\LaTeX{} users can type
-\begin{Ex}
- "\begin{pspicture}" \ldots\ "\end{pspicture}"
-\end{Ex}
-You can use PSTricks picture objects in a \LaTeX{} "picture" environment, and
-you can use \LaTeX{} picture objects in a PSTricks {\UsageFont pspicture}
-environment. However, the {\UsageFont pspicture} environment makes \LaTeX's
-"picture" environment obsolete, and has a few small advantages over the
-latter. Note that the arguments of the {\UsageFont pspicture} environment work
-differently from the arguments of \LaTeX's "picture" environment (i.e., the
-right way versus the wrong way).
-
-
-\begin{drivers} The clipping option ("*") uses \n\pstVerb{} and
-\n\pstverbscale.
-\end{drivers}
-
-
-\Section{Placing and rotating whatever\label{S-rput}}
-
-PSTricks contains several commands for positioning and rotating an HR-mode
-argument. All of these commands end in "put", and bear some similarity to
-\LaTeX's "\put" command, but with additional capabilities. Like \LaTeX's
-"\put" and unlike the box rotation macros described in Section
-\ref{S-rotation}, these commands do not take up any space. They can be used
-inside and outside \n\pspicture{} environments.
-
-Most of the PSTricks "put" commands are of the form:
-\begin{Ex}
- \Backslash <put>*<arg>"{<rotation>}(<coor>){<stuff>}"
-\end{Ex}
-With the optional "*" argument, <stuff> is first put in a
-\begin{LVerb*}
- \psframebox*[boxsep=false]{<stuff>}
-\end{LVerb*}
-thereby blotting out whatever is behind <stuff>. This is useful for
-positioning text on top of something else.
-
-<arg> refers to other arguments that vary from one "put" command to another,
-The optional <rotation> is the angle by which <stuff> should be rotated; this
-arguments works pretty much the same for all "put" commands and is described
-further below. The "(<coor>)" argument is the coordinate for positioning
-<stuff>, but what this really means is different for each "put" command. The
-"(<coor>)" argument is shown to be obligatory, but you can actually omit it if
-you include the <rotation> argument.
-
-The <rotation> argument should be an angle, as described in Section
-\ref{S-coor}, but the angle can be preceded by an "*". This causes all the
-rotations (except the box rotations described in Section \ref{S-rotation})
-within which the \n\rput{} command is be nested to be undone before setting the
-angle of rotation. This is mainly useful for getting a piece of text right
-side up when it is nested inside rotations. For example,
-\begin{MEx}[-1,-.5](2,2)
- \rput{34}{%
- \psframe(-1,0)(2,1)
- \rput[br]{*0}(2,1){\emph{stuff}}}
-\end{MEx}
-
-There are also some letter abbreviations for the command angles. These
-indicate which way is up:
-\begin{trivlist}\item[]
- \leavevmode
- \hbox to \hsize{\hfill
- \begin{tabular}{clr}
- \emph{Letter} & \emph{Short for} & \emph{Equiv.\ to}\\
- "U" & Up & 0\\
- "L" & Left & 90\\
- "D" & Down & 180\\
- "R" & Right & 270\\
- \end{tabular}
- \hfill
- \begin{tabular}{clr}
- \emph{Letter} & \emph{Short for} & \emph{Equiv.\ to}\\
- "N" & North & *0\\
- "W" & West & *90\\
- "S" & South & *180\\
- "E" & East & *270
- \end{tabular}\hfill}
-\end{trivlist}
-
-
-This section describes just a two of the PSTricks "put" commands. The most
-basic one command is
- \Mac \rput`*[refpoint]{rotation}'\c~{stuff}
-<refpoint> determines the reference point of <stuff>, and this reference point
-is translated to \c{}.
-
-By default, the reference point is the center of the box. This can be changed
-by including one or two of the following in the optional <refpoint> argument:
-\begin{center}
-\begin{tabular}{rlcrl}
-\multicolumn{2}{l}\emph{Horizontal} & & \multicolumn{2}{l}\emph{Vertical}\\
-"l" & Left & & "t" & Top\\
-"r" & Right & & "b" & Bottom\\
- & & & "B" & Baseline
-\end{tabular}
-\end{center}
-Visually, here is where the reference point is set of the various combinations
-(the dashed line is the baseline):
-\begin{center}
-\begin{pspicture}(-2.4,-.9)(2.4,1.9)
- \ttfamily\bfseries
- \psframe(-2,-.5)(2,1.5)
- \psline[linestyle=dashed](-2,0)(2,0)
- \uput[u](0,1.5){t}
- \uput[d](0,-.5){b}
- \rput*(0,0){B}
- \uput[l](-2,.5){l}
- \uput[l](-2,0){Bl}
- \uput[dl](-2,-.5){bl}
- \uput[ul](-2,1.5){tl}
- \uput[r](2,.5){r}
- \uput[r](2,0){Br}
- \uput[dr](2,-.5){br}
- \uput[ur](2,1.5){tr}
-\end{pspicture}
-\end{center}
-
-There are numerous examples of \n\rput{} in this documentation, but for now
-here is a simple one:
-\begin{example**}
- \rput[b]{90}(-1,0){Here is a marginal note.}
-\end{example**}
-
-One common use of a macro such as \n\rput{} is to put labels on things.
-PSTricks has a variant of \n\rput{} that is especially designed for labels:
- \Mac \uput`*{labelsep}'[refangle]`{rotation}\c~'{stuff}
-This places <stuff> distance <labelsep> from \c{}, in the direction
-<refangle>.
-
-The default value of <labelsep> is the dimension register
- \Mac \pslabelsep
-You can also change this be setting the
-\begin{Ex}
- \Par{labelsep=dim}
-\end{Ex}
-parameter (but remember that \n\uput{} does have an optional argument for
-setting parameters).
-
-Here is a simple example:
-\begin{MEx}(3,2)
- \qdisk(1,1){1pt}
- \uput[45](1,1){(1,1)}
-\end{MEx}
-
-Here is a more interesting example where \n\uput{} is used to make a pie
-chart:
-\begin{example}
- \psset{unit=1.2cm}
- \pspicture(-2.2,-2.2)(2.2,2.2)
- \pswedge[fillstyle=solid,fillcolor=gray]{2}{0}{70}
- \pswedge[fillstyle=solid,fillcolor=lightgray]{2}{70}{200}
- \pswedge[fillstyle=solid,fillcolor=darkgray]{2}{200}{360}
- \SpecialCoor
- \psset{framesep=1.5pt}
- \rput(1.2;35){\psframebox*{\small\$9.0M}}
- \uput{2.2}[45](0,0){Oreos}
- \rput(1.2;135){\psframebox*{\small\$16.7M}}
- \uput{2.2}[135](0,0){Heath}
- \rput(1.2;280){\psframebox*{\small\$23.1M}}
- \uput{2.2}[280](0,0){M\&M}
- \endpspicture
-\end{example}
-
-You can use the following abbreviations for <refangle>, which indicate the
-direction the angle points:%
-\footnote{Using the abbreviations when applicable is more efficient.}%
-\footnote{%
-There is an obsolete command \n\Rput\MainIndex{\Rput}{} that has the same
-syntax as \n\uput{} and that works almost the same way, except the <refangle>
-argument has the syntax of \n\rput's <refpoint> argument, and it gives the
-point in <stuff> that should be aligned with \c{}. E.g.,
-\begin{Ex}
- "\qdisk(4,0){2pt}"\qdisk(4,0){2pt}\Rput[tl](4,0){$(x,y)$}\\
- "\Rput[tl](4,0){$(x,y)$}"
-\end{Ex}
-Here is the equivalence between \n\uput's <refangle> abbreviations and
-\n\Rput's <refpoint> abbreviations:
-\begin{center}
- \ttfamily
- \begin{tabular}{rcccccccc}
- \n\uput & r & u & l & d & ur & ul & dr & dl \\
- \n\Rput & l & b & r & t & bl & br & tr & rl \\
- \end{tabular}
-\end{center}
-Some people prefer \n\Rput's convention for specifying the position of <stuff>
-over \n\uput's.}%
-\begin{trivlist}\item[]
- \leavevmode
- \hbox to \hsize{\hfill
- \begin{tabular}{clr}
- \emph{Letter} & \emph{Short for} & \emph{Equiv.\ to}\\
- "r" & right & 0\\
- "u" & up & 90\\
- "l" & left & 180\\
- "d" & down & 270\\
- \end{tabular}
- \hfill
- \begin{tabular}{clr}
- \emph{Letter} & \emph{Short for} & \emph{Equiv.\ to}\\
- "ur" & up-right & 45\\
- "ul" & up-left & 135\\
- "dl" & down-left & 225\\
- "dr" & down-right & 315
- \end{tabular}\hfill}
-\end{trivlist}
-The first example could thus have been written:
-\begin{MEx}(3,2)
- \qdisk(1,1){1pt}
- \uput[ur](1,1){(1,1)}
-\end{MEx}
-
-\begin{drivers} The rotation macros use \n\pstVerb{} and \n\pstrotate.
-\end{drivers}
-
-
-\Section{Repetition\label{S-loops}}
-
-The macro
- \Mac \multirput`*[refpoint]{angle}\c0'\c1{int}{stuff}
-is a variant of \n\rput{} that puts down <int> copies, starting at \c0 and
-advancing by \c1 each time. \c0 and \c1 are always interpreted as Cartesian
-coordinates. For example:
-\begin{MEx}(4,1.3)
- \multirput(.5,0)(.3,.1){12}{*}
-\end{MEx}
-
-If you want copies of pure graphics, it is more efficient to use
- \Mac \multips`{angle}\c0'\c1{int}{graphics}
-<graphics> can be one or more of the pure graphics objects described in Part
-\ref{P-graphics}, or \n\pscustom. Note that \n\multips{} has the same syntax as
-\n\multirput, except that there is no <refpoint> argument (since the graphics
-are zero dimensional anyway). Also, unlike \n\multirput, the coordinates can
-be of any type. An "Overfull \hbox" warning indicates that the <graphics>
-argument contains extraneous output or space. For example:
-\begin{MEx}[0,-.25](4,.25)
- \def\zigzag{\psline(0,0)(.5,1)(1.5,-1)(2,0)}%
- \psset{unit=.25,linewidth=1.5pt}
- \multips(0,0)(2,0){8}{\zigzag}
-\end{MEx}
-
-PSTricks can heavily benefit of a much more general loop macro, called
-\n\multido.
-\File{multido} You must input the file "multido.tex" or "multido.sty". See the
-documentation "multido.doc" for details. Here is a sample of what you can do:
-\begin{example}
- \begin{pspicture}(-3.4,-3.4)(3.4,3.4)
- \newgray{mygray}{0} % Initialize `mygray' for benefit
- \psset{fillstyle=solid,fillcolor=mygray} % of this line.
- \SpecialCoor
- \degrees[1.1]
- \multido{\n=0.0+.1}{11}{%
- \newgray{mygray}{\n}
- \psset{fillcolor=mygray}%
- \rput{\n}{\pswedge{3}{-.05}{.05}}
- \uput{3.2}[\n](0,0){\small\n}}
- \end{pspicture}
-\end{example}
-
-All of these loop macros can be nested.
-
-
-\Section{Axes\label{S-axes}}
-
-\File{pst-plot}
-The axes command described in this section is defined in "pst-plot.tex" /
-"pst-plot.sty", which you must input first. "pst-plot.tex", in turn, will
-automatically input "multido.tex", which is used for putting the labels on the
-axes.
-
-The macro for making axes is:
- \Mac \psaxes`*[par]{arrows}\c0\c1'\c2
-
-The coordinates must be Cartesian coordinates. They work the same way as with
-\n\psgrid. That is, if we imagine that the axes are enclosed in a rectangle,
-\c1 and \c2 are opposing corners of the rectangle. (I.e., the x-axis extends
-from \x1 to \x2 and the y-axis extends from \y1 to \y2.) The axes intersect at
-\c0. For example:
-\begin{MEx*}(4,3)
- \psaxes[linewidth=1.2pt,labels=none,
- ticks=none]{<->}(2,1)(0,0)(4,3)
- "\psset{nodesep=3pt}
- "\pnode(4,3){B}
- "\rput*[tr](4,2.3){\rnode{A}{\c2}}
- "\ncline{->}{A}{B}
- "\pnode(2,1){B}
- "\rput*[br](1.3,1.7){\rnode{A}{\c0}}
- "\ncline{->}{A}{B}
- "\pnode(0,0){B}
- "\rput*[bl](0,-.9){\rnode{A}{\c1}}
- "\ncline{->}{A}{B}
-\end{MEx*}
-
-If \c0 is omitted, then the origin is \c1. If both \c0 and \c1 are omitted,
-"(0,0)" is used as the default. For example, when the axes enclose a single
-orthont, only \c2 is needed:
-\begingroup
-\psset{unit=.8}
-\begin{MEx}[-.5,-.5](4,2)
- "\small
- \psaxes{->}(4,2)
-\end{MEx}
-\endgroup
-
-Labels (numbers) are put next to the axes, on the same side as \x1 and \y1.
-Thus, if we enclose a different orthont, the numbers end up in the right
-place:
-\begingroup
-\psset{unit=.8}
-\begin{MEx}[-.5,-2](4,.5)
- "\small
- \psaxes{->}(4,-2)
-\end{MEx}
-\endgroup
-
-Also, if you set the \p{arrows} parameter, the first arrow is used for the
-tips at <x1> and <y1>, while the second arrow is used for the tips at <x2> and
-<y2>. Thus, in the preceding examples, the arrowheads ended up in the right
-place too.\footnote{%
-Including a first arrow in these examples would have had no effect because
-arrows are never drawn at the origin.}
-
-When the axes don't just enclose an orthont, that is, when the origin is not
-at a corner, there is some discretion as to where the numbers should go. The
-rules for positioning the numbers and arrows described above still apply, and
-so you can position the numbers as you please by switching <y1> and <y2>, or
-<x1> and <x2>. For example, compare
-\begingroup
-\psset{unit=.8}
-\begin{MEx}[-1.5,-.5](2.5,2.5)
- "\small
- \psaxes{<->}(0,0)(-2.5,0)(2.5,2.5)
-\end{MEx}
-\endgroup
-with what we get when <x1> and <x2> are switched:
-\begingroup
-\psset{unit=.8}
-\begin{MEx}[-1.5,-.5](2.5,2.5)
- "\small
- \psaxes{<->}(0,0)(2.5,0)(-2.5,2.5)
-\end{MEx}
-\endgroup
-
-\n\psaxes{} puts the ticks and numbers on the axes at regular intervals, using
-the following parameters:
-\newbox\axesbox
-\MainParIndex{Ox}
-\MainParIndex{Dx}
-\MainParIndex{dx}
-\MainParIndex{Oy}
-\MainParIndex{Dy}
-\MainParIndex{dy}
-\setbox\axesbox=\hbox{%
- \large
- \begin{tabular}{|c|c|c|l|}
- \hline
- \emph{Horitontal} & \emph{Vertical} & \emph{Dflt} &
- \emph{Description}\\[2pt]
- \p{Ox=num} & \p{Oy=num} & "0" & Label at origin.\\
- \p{Dx=num} & \p{Dy=num} & "1" & Label increment.\\
- \p{dx=dim} & \p{dy=dim} & "0pt" & Dist btwn labels.\\
- \hline
- \end{tabular}}
-\addtoquickref{center}{%
- {\large\textbf{Axes label parameters}}\par
- \leavevmode\box\axesbox}
-\begin{center}
-\leavevmode\copy\axesbox
-\end{center}
-When \p{dx} is 0, "Dx\psxunit" is used instead, and similarly for \p{dy}.
-Hence, the default values of "0pt" for \p{dx} and \p{dy} are not as peculiar
-as they seem.
-
-You have to be very careful when setting \p{Ox}, \p{Dx}, \p{Oy} and \p{Dy} to
-non-integer values. "multido.tex" increments the labels using rudimentary
-fixed-point arithmetic, and it will come up with the wrong answer unless
-\p{Ox} and \p{Dx}, or \p{Oy} and \p{Dy}, have the same number of digits to the
-right of the decimal. The only exception is that \p{Ox} or \p{Oy} can always
-be an integer, even if \p{Dx} or \p{Dy} is not. (The converse does not work,
-however.)%
-\footnote{For example, \p{Ox=1.0} and \p{Dx=1.4} is okay, as is \p{Ox=1} and
-\p{Dx=1.4}, but \p{Ox=1.4} and \p{Dx=1}, or \p{Ox=1.4} and \p{Dx=1.15}, is not
-okay. If you get this wrong, PSTricks won't complain, but you won't get the
-right labels either.}
-
-Note that \n\psaxes's first coordinate argument determines the physical
-position of the origin, but it doesn't affect the label at the origin. E.g.,
-if the origin is at "(1,1)", the origin is still labeled "0" along each axis,
-unless you explicitly change \p{Ox} and \p{Oy}. For example:
-\begin{MEx}[-2,0](2,3)
- \psaxes[Ox=-2](-2,0)(2,3)
-\end{MEx}
-
-The ticks and labels use a few other parameters as well:
-\begin{description}
-
-\pitem[labels=all/x/y/none]
- To specify whether labels appear on both axes, the x-axis, the y-axis, or
-neither.
-
-\pitem[showorigin=true/false]
- If "true", then labels are placed at the origin, as long as the label
-doesn't end up on one of the axes. If "false", the labels are never placed at
-the origin.
-
-\pitem[ticks=all/x/y/none]
- To specify whether ticks appear on both axes, the x-axis, the y-axis, or
-neither.
-
-\pitem[tickstyle=full/top/bottom]
- For example, if \p{tickstyle=top}, then the ticks are only on the side of
-the axes away from the labels. If \p{tickstyle=bottom}, the ticks are on the
-same side as the labels. "full" gives ticks extending on both sides.
-
-\pitem[ticksize=dim]
- Ticks extend <dim> above and/or below the axis.
-
-\end{description}
-
-The distance between ticks and labels is \n\pslabelsep, which you can change
-with the \p{labelsep} parameter.
-
-The labels are set in the current font (ome of the examples above were
-preceded by "\small" so that the labels would be smaller). You can do fancy
-things with the labels by redefining the commands:
-\begin{Ex}
- \object \pshlabel
- \object \psvlabel
-\end{Ex}
-E.g., if you want change the font of the horizontal labels, but not the
-vertical labels, try something like
-\begin{LVerb}
- \def\pshlabel#1{\small #1}
-\end{LVerb}
-
-You can choose to have a frame instead of axes, or no axes at all (but you
-still get the ticks and labels), with the parameter:
-\begin{Ex}
- \Par{axesstyle=axes/frame/none}
-\end{Ex}
-The usual \p{linestyle}, \p{fillstyle} and related paremeters apply.
-
-For example:
-\begin{MEx}[-3,-.5](.5,3)
- \psaxes[Dx=.5,dx=1,tickstyle=top,axesstyle=frame](-3,3)
-\end{MEx}
-
-The \n\psaxes{} macro is pretty flexible, but PSTricks contains some other
-tools for making axes from scratch. E.g., you can use \n\psline{} and
-\n\psframe{} to draw axes and frames, respectively, \n\multido{} to generate
-labels (see the documentation for "multido.tex"), and \n\multips{} to make
-ticks.
-
-\endinput
-
-%% END psd-pict.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-spec.tex b/Master/texmf-dist/source/generic/pstricks/psd-spec.tex
deleted file mode 100644
index 1b7e205a311..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-spec.tex
+++ /dev/null
@@ -1,500 +0,0 @@
-%% BEGIN psd-spec.tex
-
-\part{Special Tricks\label{P-special}}
-
-\Section{Coils and zigzags}
-
-\File{pst-coil}
-The file "pst-coil.tex"/"pst-coil.sty" (and optionally the header file
-"pst-coil.pro") defines the following graphics objects for coils and zigzags:
-\begin{Ex}
- \object \pscoil`*[par]{arrows}\c0'\c1
- \object \psCoil`*[par]'{angle1}{angle2}
- \object \pszigzag`*[par]{arrows}\c0'\c1
-\end{Ex}
-
- These graphics objects use the following parameters:
-\begin{Ex}
- \Par{coilwidth=dim}
- \Par{coilheight=num}
- \Par{coilarm=dim}
- \Par{coilaspect=angle}
- \Par{coilinc=angle}
-\end{Ex}
-
-All coil and zigzag objects draw a coil or zigzag whose width (diameter) is
-\p{coilwidth}, and with the distance along the axes for each period (360
-degrees) equal to
-\begin{quote}
- \p{coilheight} x \p{coilwidth}.
-\end{quote}
-
-Both \n\pscoil{} and \n\psCoil{} draw a ``3D'' coil, projected onto the xz-axes.
-The center of the 3D coil lies on the yz-plane at angle p{coilaspect} to the
-z-axis. The coil is drawn with PostScript's "lineto", joining points that lie
-at angle \p{coilinc} from each other along the coil. Hence, increasing
-\p{coilinc} makes the curve smoother but the printing slower. \n\pszigzag\
-does not use the \p{coilaspect} and \p{coilinc} parameters.
-
-\n\pscoil{} and \n\pszigzag{} connect \c0 and \c1, starting and ending with
-straight line segments of length \p{coilarmA} and \p{coilarmB}, resp. Setting
-\p{coilarm} is the same as setting \p{coilarmA} and \p{coilarmB}.
-
-Here is an example of \n\pscoil:
-\begin{MEx}(4,2)
- \pscoil[coilarm=.5cm,linewidth=1.5pt,coilwidth=.5cm]{<-|}(4,2)
-\end{MEx}
-
-Here is an example of \n\pszigzag:
-\begin{MEx}[0,-.5](4,.5)
- \pszigzag[coilarm=.5,linearc=.1]{<->}(4,0)
-\end{MEx}
-Note that \n\pszigzag{} uses the \p{linearc} parameters, and that the beginning
-and ending segments may be longer than \p{coilarm} to take up slack.
-
-\n\psCoil{} just draws the coil horizontally from <angle1> to <angle2>. Use
-\n\rput{} to rotate and translate the coil, if desired. \n\psCoil{} does not use
-the \p{coilarm} parameter. For example, with \p{coilaspect=0} we get a sine
-curve:
-\begin{MEx}[0,-.375](4,.375)
- \psCoil[coilaspect=0,coilheight=1.33,
- coilwidth=.75,linewidth=1.5pt]{0}{1440}
-\end{MEx}
-
-\File{pst-node}
-"pst-coil.tex" also contains coil and zigzag node connections. You must also
-load "pst-node.tex" / "pst-node.sty" to use these. The node connections are:
-\begin{Ex}
- \object \nccoil`*[par]{arrows}'{nodeA}{nodeB}
- \object \nczigzag`*[par]{arrows}'{nodeA}{nodeB}
- \object \pccoil`*[par]{arrows}'\c1\c2
- \object \pczigzag`*[par]{arrows}'\c1\c2
-\end{Ex}
-The end points are chosen the same as for \n\ncline{} and \n\pcline, and
-otherwise these commands work like \n\pscoil{} and \n\pszigzag. For example:
-\begin{MEx}(4,3)
- \cnode(.5,.5){.5}{A}
- \cnode[fillstyle=solid,fillcolor=lightgray](3.5,2.5){.5}{B}
- \nccoil[coilwidth=.3]{<->}{A}{B}
-\end{MEx}
-
-
-\Section{Special coordinates\label{S-SpecialCoor}}
-
-The command
- \Mac \SpecialCoor
-enables a special feature that lets you specify coordinates in a variety of
-ways, in addition to the usual Cartesian coordinates.\footnote{%
-There is an obsolete command \n\Polar\MainIndex\Polar{} that causes
-coordinates in the form "(<r>,<a>)" to be interpreted as polar coordinates.
-The use of \n\Polar{} is not recommended because it does not allow one to mix
-Cartesian and polar coordinates the way \n\SpecialCoor{} does, and because it
-is not as apparent when examining an input file whether, e.g., "(3,2)" is a
-Cartesian or polar coordinate. The command for undoing \n\Polar{} is
-\n\Cartesian\MainIndex\Cartesian. It has an optional argument for setting the
-default units. I.e.,
-\begin{LVerb*}
- \Cartesian(<x>,<y>)
-\end{LVerb*}
-has the effect of
-\begin{LVerb*}
- \psset{xunit=<x>,yunit=<y>}
-\end{LVerb*}
-\n\Cartesian{} can be used for this purpose without using \n\Polar.}
-Processing is slightly slower and less robust, which is why this feature is
-available on demand rather than by default, but you probably won't notice the
-difference.
-
-Here are the coordinates you can use:
-\begin{description}
- \vitem"(<x>,<y>)" The usual Cartesian coordinate. E.g., "(3,4)".
- \vitem"(<r>;<a>)" Polar coordinate, with radius $r$ and angle $a$. The
-default unit for $r$ is \p{unit}. E.g., "(3;110)".
- \vitem"(<node>)" The center of <node>. E.g., "(A)".
- \vitem"([<par>]<node>)" The position relative to <node> determined using the
-\p{angle}, \p{nodesep} and \p{offset} parameters. E.g., "([angle=45]A)".
- \vitem"(!<ps>)" Raw PostScript code. <ps> should expand to a coordinate pair.
-The units \p{xunit} and \p{yunit} are used. For example, if I want to use a
-polar coordinate $(3,110)$ that is scaled along with \p{xunit} and \p{yunit},
-I can write
-\begin{LVerb}
- (!3 110 cos mul 3 110 sin mul)
-\end{LVerb}
- \vitem"(<coor1>|<coor2>)" The $x$ coordinate from <coor1> and the $y$
-coordinate from <coor2>. <coor1> and <coor2> can be any other coordinates for
-use with \n\SpecialCoor. For example, "(A|1in;30)".
-\end{description}
-
-\n\SpecialCoor{} also lets you specify angles in several ways:
-\begin{description}
-\vitem"<num>" A number, as usual, with units given by the \n\degrees{} command.
-\vitem"(<coor>)" A coordinate, indicating where the angle points to. Be sure
-to include the "()", in addition to whatever other delimiters the angle
-argument uses. For example, the following are two ways to draw an arc of .8
-inch radius from 0 to 135 degrees:
-\begin{MEx}(3,2)
- \SpecialCoor
- \psarc(0,0){.8in}{0}{135}
- \psarc(0,0){.8in}{0}{(-1,1)}
-\end{MEx}
-\vitem"!<ps>" Raw PostScript code. <ps> should expand to a number. The same
-units are used as with <num>.
-\end{description}
-
-\newbox\specialbox
-\setbox\specialbox=\hbox{%
- \bfseries
- \begin{tabular}{|c|c|l|}
- \hline
- \emph{Coordinate} & \emph{Example} & \emph{Description} \\[2pt]
- "(<x>,<y>)" & "(3,4)" & Cartesian coordinate.\\
- "(<r>;<a>)" & "(3;110)" & Polar coordinate.\\
- "(<node>)" & "(A)" & Center of <node>.\\
- "([<par>]<node>)" & "([angle=45]A)" & Relative to <node>.\\
- "(!<ps>)" & "(!5 3.3 2 exp)" & Raw PostScript.\\
- "(<coor1>|<coor2>)" & "(A|1in;30)" & Combination.\\
- \hline\hline
- \emph{Angle} & \emph{Example} & \emph{Description} \\[2pt]
- "<num>" & "45" & Angle.\\
- "(<coor>)" & "(-1,1)" & Coordinate (vector).\\
- "!<ps>" & "!33 sqrt" & Raw PostScript.\\
- \hline
- \end{tabular}}%
-\addtoquickref{center}{%
- {\large\textbf{Special coordinates and angles}}\par
- \leavevmode\box\specialbox}
-
-The command
- \Mac \NormalCoor
-disables the \n\SpecialCoor{} features.
-
-\Section{Overlays\label{S-overlays}}
-
-Overlays are mainly of interest for making slides, and the overlay macros
-described in this section are mainly of interest to \TeX{} macro writers who
-want to implement overlays in a slide macro package. For example, the
-"seminar.sty" package, a \LaTeX{} style for notes and slides, uses PSTricks to
-implement overlays.
-
-Overlays are made by creating an "\hbox" and then outputting the box several
-times, printing different material in the box each time. The box is created by
-the commands
- \Mac \overlaybox < stuff >\Main\endoverlaybox
-\LaTeX{} users can instead write:
-\begin{LVerb*}
- \begin{overlaybox} <stuff> \end{overlaybox}
-\end{LVerb*}
-
-The material for overlay <string> should go within the scope of the command
- \Mac \psoverlay{string}
-<string> can be any string, after expansion. Anything not in the scope of any
-\n\psoverlay{} command goes on overlay "main", and material within the scope of
-{\UsageFont "\psoverlay{all}"} goes on all the overlays. \n\psoverlay\
-commands can be nested and can be used in math mode.
-
-The command
- \Mac \putoverlaybox{string}
-then prints overlay <string>.
-
-Here is an example:
-\begin{example}
- \overlaybox
- \psoverlay{all}
- \psframebox[framearc=.15,linewidth=1.5pt]{%
- \psoverlay{main}
- \parbox{3.5cm}{\raggedright
- Foam Cups Damage Environment {\psoverlay{one} Less than
- Paper Cups,} Study Says.}}
- \endoverlaybox
-
- \putoverlaybox{main} \hspace{.5in} \putoverlaybox{one}
-\end{example}
-
-\begin{drivers} Overlays use \n\pstVerb{} and \n\pstverbscale.\end{drivers}
-
-\section{The gradient fill style}
-
-\File{pst-grad}
-The file "pst-grad.tex"/"pst-grad.sty", along with the PostScript header file
-"pst-grad.pro", defines the "gradient" \p{fillstyle}, for gradiated shading.
-This \p{fillstyle} uses the following parameters:
-\begin{description}
- \pitem[gradbegin=color] The starting and ending color.
- \pitem[gradend=color] The color at the midpoint.
- \pitem[gradlines=int] The number of lines. More lines means finer
-gradiation, but slower printing.
- \pitem[gradmidpoint=num] The position of the midpoint, as a fraction of the
-distance from top to bottom. <num> should be between 0 and 1.
- \pitem[gradangle=angle] The image is rotated by <angle>.
-\end{description}
-
-\p{gradbegin} and \p{gradend} should preferably be "rgb" colors, but grays and
-"cmyk" colors should also work. The definitions of the colors "gradbegin" and
-"gradend" are:
-\begin{LVerb}
- \newrgbcolor{gradbegin}{0 .1 .95}
- \newrgbcolor{gradend}{0 1 1}
-\end{LVerb}
-Here are two ways to change the gradient colors:
-\begin{LVerb}
- \newrgbcolor{gradbegin}{1 .4 0}
-\end{LVerb}
-and
-\begin{LVerb}
- \psset{gradbegin=blue}
-\end{LVerb}
-
-Try this example:
-\begin{LVerb}
- \psframe[fillstyle=gradient,gradangle=45](10,-20)
-\end{LVerb}
-
-% D.G. modification begin - Mar. 7, 2003
-%\section{Adding color to tables\label{S-colortab}}
-
-%\File{colortab}
-%The file "colortab.tex"/"colortab.sty" contains macros that, when used with
-%color commands such as those in PSTricks, let you color the cells and lines in
-%tables. See "colortab.doc" for more information.
-% D.G. modification end
-
-\Section{Typesetting text along a path}
-
-\File{pst-text}
-The file "pst-text.tex"/"pst-text.sty" defines the command \n\pstextpath, for
-typesetting text along a path. It is a remarkable trick, but there are some
-caveats:
-
-\begin{itemize}\label{tp-res}
- \item "pst-text.tex" only works with certain DVI-to-PS drivers. Here is what
-is currently known:
-\begin{itemize}
- \item It works with Rokicki's "dvips".
- \item ``Does not work'' means that it has no effect, for better or for worse.
- \item This may work with other drivers. The requirement is that the driver
- only use PostScript's "show" operator, unbound and unloaded, to show
- characters.
-\end{itemize}
-
- \item You must also have installed the PostScript header file "pst-text.pro",
- and \n\pstheader{} must be properly defined in "pstricks.con" for your
- driver.
-
- \item Like other PSTricks that involve rotating text, this works best with
- PostScript (outline) fonts.
-
- \item PostScript rendering with "pst-text.tex" is slow.
-\end{itemize}
-
-Because of all this, no samples are shown here. However, there is a test file
-"tp-test.tex" and PostScript output "tp-test.ps" that are distributed with
-PSTricks.
-
-Here is the command:
- \Mac \pstextpath`[pos](x,y)'{graphics object}{text}
-
-<text> is placed along the path, from beginning to end, defined by the
-PSTricks graphics object. (This object otherwise behaves normally. Set
-\p{linestyle=none} if you don't want it to appear.)
-
-<text> can only contain characters. No TeX{} rules, no PSTricks, and no other
-"\special"'s. (These things don't cause errors; they just don't work right.)
-Math mode is OK, but math operators that are built from several characters
-(e.g., large integral signs) may break. Entire boxes (e.g., "\parbox") are OK
-too, but this is mainly for amusement.
-
-<pos> is either
-\begin{center}
- \begin{tabular}{cl}
- l & justify on beginning of path\\
- c & center on path\\
- r & justify on end of path.
- \end{tabular}
-\end{center}
-The default is "l".
-
-"(<x>,<y>)" is an offset. Characters are shifted distance <x> along path, and
-are shifted up by <y>. ``Up'' means with respect to the path, at whatever
-point on the path corresponding to the middle of the character. "(<x>,<y>)"
-must be Cartesian coordinates. Both coordinates use \n\psunit{} as the default.
-The default coordinate is "(0,\TPoffset)", where \n\TPoffset{} a command whose
-default value is "-.7ex". This value leads to good spacing of the characters.
-Remember that "ex" units are for the font in effect when \n\pstextpath{}
-occurs, not inside the <text> argument.
-
-More things you might want to know:
-\begin{itemize}
- \item Like with "\rput" and the graphics objects, it is up to you to leave
-space for "\pstextpath".
- \item Results are unpredictable if <text> is wider than length of path.
- \item "\pstextpath" leaves the typesetting to \TeX. It just intercepts the
-"show" operator to remap the coordinate system.
-\end{itemize}
-
-\Section{Stroking and filling character paths}
-
-\File{pst-char}
-The file "pst-char.tex"/"pst-char.sty" defines the command:
- \Mac \pscharpath`*[par]'{text}
-It strokes and fills the <text> character paths using the PSTricks
-\p{linestyle} and \p{fillstyle}.
-
-The restrictions on DVI-to-PS drivers listed on page \pageref{tp-res} for
-"\pstextpath" apply to "\pscharpath". Furthermore, only outline (PostScript)
-fonts are affected.
-
-Sample input and output files "chartest.tex" and "chartest.ps" are distributed
-with PSTricks.
-
-With the optional "*", the character path is not removed from the PostScript
-environment at the end. This is mainly for special hacks. For example, you can
-use "\pscharpath*" in the first argument of "\pstextpath", and thus typeset
-text along the character path of some other text. See the sample file
-"denis1.tex". (However, you cannot combine "\pscharpath" and "\pstextpath" in
-any other way. E.g., you cannot typeset character outlines along a path, and
-then fill and stroke the outlines with "\pscharpath".)
-
-The command
- \Mac \pscharclip`*[par]'{text} ... \Main \endpscharclip
-works just like \n\pscharpath, but it also sets the clipping path to the
-character path. You may want to position this clipping path using \n\rput{}
-\emph{inside} \n\pscharclip's argument. Like \n\psclip{} and \n\endpsclip,
-\n\pscharclip{} and \n\endpscharclip{} should come on the same page and should
-be properly nested with respect to \TeX{} groups (unless \n\AltClipMode{} is
-in effect). The file "denis2.tex" contains a sample of \n\pscharclip.
-
-
-\section{Importing EPS files}
-
-PSTricks does not come with any facility for including Encapsulated PostScript
-files, because there are other very good and well-tested macros for exactly
-that, specially the "graphicx" package for \LaTeX, usable also with \TeX.
-
-What PSTricks \emph{is} good for is embellishing your EPS picture. You can
-include an EPS file in in the argument of \n\rput, as in
-\begin{LVerb}
- \rput(3,3){\epsfbox{myfile.eps}}
-\end{LVerb}
-and hence you can include an EPS file in the \n\pspicture{} environment. Turn
-on \n\psgrid, and you can find the coordinates for whatever graphics or text
-you want to add. This works even when the picture has a weird bounding box,
-because with the arguments to \n\pspicture{} you control the bounding box from
-\TeX's point of view.
-
-This isn't always the best way to work with an EPS file, however. If the
-PostScript file's bounding box is the size you want the resulting picture to
-be, after your additions, then try
-\begin{LVerb*}
- \hbox{<picture objects> \includegraphics{<file.eps>}
-\end{LVerb*}
-This will put all your picture objects at the lower left corner of the EPS
-file.
-
-If you need to determine the bounding box of an EPS file, then you can try of
-the automatic bounding box calculating programs, such as "bbfig" (distributed
-with Rokicki's "dvips"). However, all such programs are easily fooled; the
-only sure way to determine the bounding box is visually. \n\psgrid{} is a good
-tool for this.
-
-\Section{Exporting EPS files}
-
-\File{pst-eps}
-You must load "pst-eps.tex" or "pst-eps.sty" to use the PSTricks macros
-described in this section.
-
-If you want to export an EPS file that contains both graphics and text, then
-you need to be using a DVI-to-PS driver that suports such a feature. If you
-just want to export pure graphics, then you can use the \n\PSTricksEPS{}
-command. Both of these options are described in this section.
-
-Newer versions of Rokicki's "dvips" support an "-E" option for creating EPS
-files from \TeX{} ".dvi" files. E.g.,
-\[
- dvips foo.dvi -E -o foo.eps
-\]
-Your document should be a single page. "dvips" will find a tight bounding box
-that just encloses the printed characters on the page. This works best with
-outline (PostScript) fonts, so that the EPS file is scalable and resolution
-independent.
-
-There are two inconvenient aspects of this method. You may want a different
-bounding box than the one calculated by "dvips" (in particular, "dvips"
-ignores all the PostScript generated by PSTricks when calculating the bounding
-box), and you may have to go out of your way to turn off any headers and
-footers that would be added by output routines.
-
-PSTricks contains an environment that tries to get around these two problems:
-\begin{Ex}
- \object \TeXtoEPS
- " "<stuff>\\
- \object \endTeXtoEPS
-\end{Ex}
-This is all that should appear in your document, but headers and whatever that
-would normally be added by output routines are ignored. "dvips" will again try
-to find a tight bounding box, but it will treat <stuff> as if there was a
-frame around it. Thus, the bounding box will be sure to include <stuff>, but
-might be larger if there is output outside the boundaries of this box. If the
-bounding box still isn't right, then you will have to edit the
-\begin{LVerb*}
- %%BoundingBox <llx lly urx ury>
-\end{LVerb*}
-specification in the EPS file by hand.
-
-If your goal is to make an EPS file for inclusion in other documents, then
-"dvips -E" is the way to go. However, it can also be useful to generate an EPS
-file from PSTricks graphics objects and include it in the same document,%
-\footnote{See the preceding section on importing EPS files.}
-rather than just including the PSTricks graphics directly, because \TeX{} gets
-involved with processing the PSTricks graphics only when the EPS file is
-initially created or updated. Hence, you can edit your file and preview the
-graphics, without having to process all the PSTricks graphics each time you
-correct a typo. This speed-up can be significant with complex graphics such as
-"\pslistplot"'s with a lot of data.
-
-To create an EPS file from PSTricks graphics objects, use
- \Mac \PSTtoEPS`[par]'{file}{graphics objects}
-The file is created immediately, and hence you can include it in the same
-document (after the \n\PSTtoEPS{} command) and as many times as you want.
-Unlike with "dvips -E", only pure graphics objects are processed (e.g.,
-"\rput" commands have no effect).
-
-\n\PSTtoEPS{} cannot calculate the bounding box of the EPS file. You have to
-specify it yourself, by setting the following parameters:
-\begin{Ex}
- \Par{bbllx=dim}
- \Par{bblly=dim}
- \Par{bburx=dim}
- \Par{bbury=dim}
-\end{Ex}
-Note that if the EPS file is only to be included in a PSTricks picture with
-\n\rput\, you might as well leave the default bounding box.
-
-\n\PSTricksEPS{} also uses the following parameters:
-\begin{description}
- \pitem[makeeps=none/new/all/all*]
- This parameter determines which \n\PSTtoEPS\ commands just skip over their arguments, and which create files, as follows:
- \begin{description}
- \vitem"none" No files are created.
- \vitem"new" Only those files not found {\em anywhere on the system\/} are created.
- \vitem"all" All files are created.
- \vitem"all*" All files are created, but you are asked for approval before existing files are deleted.
- \end{description}
-
- \pitem[headerfile=files]
- This parameter is for specifying PostScript header files that are to be
-included in the EPS file. The argument should contain one or more file names,
-separated by commas. If you have more than one file, however, the entire list
-must be enclosed in braces "{}".
-
- \pitem[headers=none/all/user]
- When "none", no header files are included. When "all", the header files used
-by PSTricks plus the header files specified by the \p{headerfile} parameter
-are included. When "user", only the header files specified by the
-\p{headerfile} parameter are included. If the EPS file is to be included in a
-\TeX{} document that uses the same PSTricks macros and hence loads the relevant
-PSTricks header files anyway (in particular, if the EPS file is to be included
-in the same document), then \p{headers} should be "none" or "user".
-\end{description}
-
-\endinput
-%% END psd-spec.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-text.tex b/Master/texmf-dist/source/generic/pstricks/psd-text.tex
deleted file mode 100644
index ebc44abd8d7..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-text.tex
+++ /dev/null
@@ -1,260 +0,0 @@
-%% BEGIN psd-text.tex
-
-\part{Text Tricks\label{P-text}}
-
-\Section{Framed boxes\label{S-framebox}}
-
-The macros for framing boxes take their argument, put it in an "\hbox", and
-put a PostScript frame around it. (They are analogous to \LaTeX's "\fbox").
-Thus, they are composite objects rather than pure graphics objects. In
-addition to the graphics parameters for \n\psframe, these macros use the
-following parameters:
-\begin{description}
-
-\pitem[framesep=dim]
- Distance between each side of a frame and the enclosed box.
-
-\pitem[boxsep=true/false]
- When "true", the box that is produced is the size of the frame or whatever
-that is drawn around the object. When "false", the box that is produced is the
-size of whatever is inside, and so the frame is ``transparent'' to \TeX. This
-parameter only applies to \n\psframebox, \n\pscirclebox, and \n\psovalbox.
-
-\end{description}
-
-Here are the three box-framing macros:
-\begin{description}
-
-\oitem \psframebox{stuff}
-
- A simple frame (perhaps with rounded corners) is drawn using \n\psframe. The
-"*" option is of particular interest. It generates a solid frame whose color
-is \p{fillcolor} (rather than \p{linecolor}, as with the closed graphics
-objects). Recall that the default value of \p{fillcolor} is "white", and so
-this has the effect of blotting out whatever is behind the box. For example,
-\begin{MEx}(3,2)
- \pspolygon[fillcolor=gray,fillstyle=crosshatch*](0,0)(3,0)
- (3,2)(2,2)
- \rput(2,1){\psframebox*[framearc=.3]{Label}}
-\end{MEx}
-
-\oitem \psdblframebox{stuff}
-
- This draws a double frame. It is just a variant of \n\psframebox, defined by
-\begin{LVerb}
- \newpsobject{psdblframebox}{psframebox}{doublesep=\pslinewidth}
-\end{LVerb}
-For example,
-\begin{example}
- \psdblframebox[linewidth=1.5pt]{%
- \parbox[c]{6cm}{\raggedright A double frame is drawn
- with the gap between lines equal to \texttt{doublesep}}}
-\end{example}
-
-\oitem \psshadowbox{stuff}
-
- This draws a single frame, with a shadow.
-\begin{example**}
- \psshadowbox{\textbf{Great Idea!!}}
-\end{example**}
-You can get the shadow with \n\psframebox{} just be setting the \p{shadowsize}
-parameter, but with \n\psframebox{} the dimensions of the box won't reflect the
-shadow (which may be what you want!).
-
-\oitem \pscirclebox{stuff}
-
- This draws a circle. With \p{boxsep=true}, the size of the box is close to
-but may be larger than the size of the circle. For example:
-\begin{example**}
- \pscirclebox{\begin{tabular}{c} You are \\ here \end{tabular}}
-\end{example**}
-is distributed with
-\oitem \cput<{angle}\c~>{stuff}
-
- This combines the functions of \n\pscirclebox{} and \n\rput. It is like
-\begin{LVerb*}
- \rput{<angle>}(x0,y0){\pscirclebox*[<par>]{<stuff>}}
-\end{LVerb*}
-but it is more efficient. Unlike the \n\rput{} command, there is no argument
-for changing the reference point; it is always the center of the box. Instead,
-there is an optional argument for changing graphics parameters. For example
-\begin{MEx*}(2,1)
- \cput[doubleline=true](1,.5){\large $K_1$}
-\end{MEx*}
-
-\oitem \psovalbox{stuff}
-
- This draws an ellipse. If you want an oval with square sides and rounded
-corners, then use \n\psframebox{} with a positive value for \p{rectarc} or
-\p{linearc} (depending on whether \p{cornersize} is "relative" or "absolute").
-Here is an example that uses \p{boxsep=false}:
-\begin{example**}
- "\parbox{\marginparwidth}{
- At the introductory price of
- \psovalbox[boxsep=false,linecolor=darkgray]{\$13.99},
- it pays to act now!
- "}
-\end{example**}
-
-\oitem \psdiabox{stuff}
-
- \n\psdiabox{} draws a diamond.
-\begin{example**}
- \psdiabox[shadow=true]{\Large\textbf{Happy?}}
-\end{example**}
-
-\oitem \pstribox{stuff}
-
- \n\pstribox{} draws a triangle.
-\begin{example**}
- \pstribox[trimode=R,framesep=5pt]{\Large\textbf{Begin}}
-\end{example**}
- The triangle points in the direction:
-\begin{Ex}
- \Par{trimode=*U/D/R/L}
-\end{Ex}
-If you include the optional "*", then an equilateral triangle is drawn,
-otherwise, you get the minimum-area isosceles triangle.
-\begin{example**}
- \pstribox[trimode=*U]{\Huge Begin}
-\end{example**}
-
-\end{description}
-
-You can define variants of these box framing macros using the \n\newpsobject{}
-command.
-
-If you want to control the final size of the frame, independently of the
-material inside, nest <stuff> in something like \LaTeX's "\makebox" command.
-
-
-\Section{Clipping\label{S-clipping}}
-
-The command
- \Mac \clipbox`[dim]'{stuff}
-puts <stuff> in an "\hbox" and then clips around the boundary of the box, at a
-distance <dim> from the box (the default is "0pt").
-
-The \n\pspicture{} environment also lets you clip the picture to the boundary.
-
-The command
- \Mac \psclip{graphics} \ldots\ \Main\endpsclip
-sets the clipping path to the path drawn by the graphics object(s), until the
-\n\endpsclip{} command is reached. \n\psclip{} and \n\endpsclip{} must be
-properly nested with respect to \TeX{} grouping. Only pure graphics (those
-described in Part \ref{P-graphics} and \n\pscustom) are permitted. An
-"Overfull \hbox" warning indicates that the <graphics> argument contains
-extraneous output or space. Note that the
-graphics objects otherwise act as usual, and the \n\psclip{} does not otherwise
-affect the surrounded text. Here is an example:
-\begin{example**}
- \parbox{4.5cm}{%
- \psclip{\psccurve[linestyle=none](-3,-2)
- (0.3,-1.5)(2.3,-2)(4.3,-1.5)(6.3,-2)(8,-1.5)(8,2)(-3,2)}
- "\def\baselinestretch{.85}\small
- ``One of the best new plays I have seen all year: cool, poetic,
- ironic \ldots'' proclaimed \emph{The Guardian} upon the London
- premiere of this extraordinary play about a Czech director and
- his actress wife, confronting exile in America.\vspace{-1cm}
- \endpsclip}
-\end{example**}
-
-If you don't want the outline to be painted, you need to include
-\p{linestyle=none} in the parameter changes. You can actually include more
-than one graphics object in the argument, in which case the clipping path is
-set to the intersection of the paths.
-
-\n\psclip{} can be a useful tool in picture environments. For example, here it
-is used to shade the region between two curves:
-\begin{MEx}(4,4)
- \psclip{%
- \pscustom[linestyle=none]{%
- \psplot{.5}{4}{2 x div}
- \lineto(4,4)}
- \pscustom[linestyle=none]{%
- \psplot{0}{3}{3 x x mul 3 div sub}
- \lineto(0,0)}}
- \psframe*[linecolor=gray](0,0)(4,4)
- \endpsclip
- \psplot[linewidth=1.5pt]{.5}{4}{2 x div}
- \psplot[linewidth=1.5pt]{0}{3}{3 x x mul 3 div sub}
- \psaxes(4,4)
-\end{MEx}
-
-\begin{drivers}
- The clipping macros use \n\pstverbscale{} and \n\pstVerb. Don't be surprised
-if PSTricks's clipping does not work or causes problem---it is never robust.
-"\endpsclip" uses "initclip". This can interfere with other clipping
-operations, and especially if the \TeX{} document is converted to an
-Encapsulated PostScript file. The command \n\AltClipMode{} causes \n\psclip{}
-and \n\endpsclip{} to use "gsave" and "grestore" instead. This bothers some
-drivers, especially if \n\psclip{} and \n\endpsclip{} do not end up on the same
-page.
-\end{drivers}
-
-\Section{Rotation and scaling boxes\label{S-rotation}}
-
-There are versions of the standard box rotation macros:
-\begin{Ex}
- \object \rotateleft{stuff}
- \object \rotateright{stuff}
- \object \rotatedown{stuff}
-\end{Ex}
-<stuff> is put in an "\hbox" and then rotated or scaled, leaving the
-appropriate amount of spaces. Here are a few uninteresting examples:
-\begin{example**}
- \Large\bfseries \rotateleft{Left} \rotatedown{Down} \rotateright{Right}
-\end{example**}
-
-
-There are also two box scaling macros:
-\begin{description}
-
-\mitem \psscalebox{num1 `num2'}{stuff}
-
- If you give two numbers in the first argument, <num1> is used to scale
-horizontally and <num2> is used to scale vertically. If you give just one
-number, the box is scaled by the same in both directions. You can't scale by
-zero, but negative numbers are OK, and have the effect of flipping the box
-around the axis. You never know when you need to do something like
-\psscalebox{-1 1}{this} ("\psscalebox{-1 1}{this}").
-
-\mitem \psscaleboxto\c~{stuff}
-
- This time, the first argument is a (Cartesian) coordinate, and the box is
-scaled to have width \x{} and height (plus depth) \y{}. If one of the
-dimensions is 0, the box is scaled by the same amount in both directions. For
-example:
-\begin{example**}
- \psscaleboxto(4,2){Big and long}
-\end{example**}
-
-\end{description}
-
-PSTricks defines LR-box environments for all these box rotation and scaling
-commands:
-\begin{LVerb}
- \pslongbox{Rotateleft}{\rotateleft}
- \pslongbox{Rotateright}{\rotateright}
- \pslongbox{Rotatedown}{\rotatedown}
- \pslongbox{Scalebox}{\psscalebox}
- \pslongbox{Scaleboxto}{\psscaleboxto}
-\end{LVerb}
-
-Here is an example where we \n\Rotatedown{} for the answers to exercises:
-\begin{example**}
- "\parbox{4cm}{\raggedright\noindent\hsize 4cm
- Question: How do Democrats organize a firing squad?
-
- \begin{Rotatedown}
- \parbox{\hsize}{Answer: First they get in a circle, \ldots\hss}%
- \end{Rotatedown}
- "}
-\end{example**}
-
-See the documentation of the "fancybox" package for tips on rotating
-a \LaTeX{} "table" or "figure" environment, and other boxes.
-
-\endinput
-
-%% END psd-text.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-tree.tex b/Master/texmf-dist/source/generic/pstricks/psd-tree.tex
deleted file mode 100644
index c7a7d78320e..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-tree.tex
+++ /dev/null
@@ -1,816 +0,0 @@
-%% BEGIN psd-tree.tex
-
-\part{Trees\label{P-trees}}
-
-\Section{Overview}
-
-\File{pst-tree}
-The node and node connections are perfect tools for making trees, but
-positioning the nodes using "\rput" would be rather tedious.\footnote{%
-Unless you have a computer program that generates the coordinates.}
-The file "pstree.tex" / "pstree.sty" contains a high-level interface for
-making trees.
-
-The tree commands are
-\begin{Ex}
- \object \pstree{<root>}{<successors>}
- \object \psTree{<root>} <successors> \Main\endpsTree
-\end{Ex}
-These do the same thing, but just have different syntax. "\psTree" is the
-``long'' version.\footnote{%
-\LaTeX{} purists can write "\begin{psTree}" and "\end{psTree}" instead.}
-These macros make a box that encloses all the nodes, and whose baseline passes
-through the center of the root.
-
-Most of the nodes described in Section \ref{S-nodes} has a variant for use
-within a tree. These variants are called tree nodes, and are described in
-Section \ref{S-treenodes}.
-
-Trees and tree nodes are called \emph{tree objects}. The <root> of a tree
-should be a single tree object, and the <successors> should be one or more
-tree objects. Here is an example with only nodes:
-\begin{example**}
- \pstree[radius=3pt]{\Toval{root}}{\TC* \TC* \TC* \TC*}
-\end{example**}
-There is no difference between a terminal node and a root node, other than
-their position in the \n\pstree{} command.
-
-Here is an example where a tree is included in the list of successors, and
-hence becomes subtree:
-\begin{example**}
- \pstree[radius=3pt]{\Tp}{%
- \TC*
- \pstree{\TC}{\TC* \TC*}
- \TC*}
-\end{example**}
-
-
-\Section{Tree Nodes}
-
-For most nodes described in Section \ref{S-nodes}, there is a variant for use
-in trees, called a tree node. In each case, the name of the tree node is
-formed by omitting "node" from the end of the name and adding "T" at the
-beginning. For example, "\ovalnode" becomes "\Toval". Here is the list of such
-tree nodes:
-\begin{Ex}
- \object \Tp`*[par]'
- \object \Tc`*[par]'{dim}
- \object \TC`*[par]'
- \object \Tf`*[par]'
- \object \Tdot`*[par]'
- \object \Tr`*[par]'{stuff}
- \object \TR`*[par]'{stuff}
- \object \Tcircle`*[par]'{stuff}
- \object \TCircle`*[par]'{stuff}
- \object \Toval`*[par]'{stuff}
- \object \Tdia`*[par]'{stuff}
- \object \Ttri`*[par]'{stuff}
-\end{Ex}
-
-The syntax of a tree node is the same as of its corresponding ``normal'' node,
-except that:
-\begin{itemize}
- \item There is always an optional argument for setting graphics parameters,
- even if the original node did not have one;
- \item There is no argument for specifying the name of the node;
- \item There is never a coordinate argument for positioning the node; and
- \item To set the reference point with \n\Tr, set the \p{ref} parameter.
-\end{itemize}
-
-Figure \ref{allnodes} gives a reminder of what the nodes look like.
-
-\begin{figure}
-\begin{example*}
- \small
- \psset{armB=1cm, levelsep=3cm, treesep=-3mm,
- angleB=-90, angleA=90, nodesepA=3pt}
- \def\s#1{#1~{\tt\string#1}}
- \def\b#1{#1{\tt\string#1}}
- \def\psedge#1#2{\ncangle{#2}{#1}}
- \psTree[treenodesize=1cm]{\Toval{Tree nodes}}
- \s\Tp
- \Tc{.5}~{\tt\string\Tc}
- \s\TC
- \psTree[levelsep=4cm,armB=2cm]{\Tp[edge=\ncline]}
- \b\Tcircle
- \s\Tdot
- \TCircle[radius=1.2]{\tt\string\TCircle}
- \Tn
- \b\Toval
- \b\Ttri
- \b\Tdia
- \endpsTree
- \s\Tf
- \b\Tr
- \b\TR
- \endpsTree
-\end{example*}
-\caption{The tree nodes.\label{allnodes}}
-\end{figure}
-
-The difference between "\Tr" and "\TR" (variants of "\rnode" and "\Rnode",
-respectively) is important with trees. Usually, you want to use "\TR" with
-vertical trees because the baselines of the text in the nodes line up
-horizontally. For example:
-\begin{example**}
- $
- \pstree[nodesepB=3pt]{\Tcircle{X}}{%
- \TR{\tilde{\tilde{X}}}
- \TR{x}
- \TR{y}}
- $
-\end{example**}
-Compare with this example, which uses \n\Tr:
-\begin{example**}
- $
- \pstree[nodesepB=3pt]{\Tcircle{X}}{%
- \Tr{\tilde{\tilde{X}}}
- \Tr{x}
- \Tr{y}}
- $
-\end{example**}
-
-There is also a null tree node:
- \Mac \Tn
-It is meant to be just a place holder. Look at the tree in Figure
-page~\pageref{allnodes}. The bottom row has a node missing in the middle.
-\n\Tn{} was used for this missing node.
-
-There is also a special tree node that doesn't have a ``normal'' version and
-that can't be used as the root node of a whole tree:
- \Mac \Tfan`*[par]'
-This draws a triangle whose base is
-\begin{Ex}
- \Par{fansize=dim}
-\end{Ex}
-and whose opposite corner is the predecessor node, adjusted by the value of
-\p{nodesepA} and \p{offsetA}.
-For example:
-\begin{example**}
- \pstree[dotstyle=oplus,dotsize=8pt,nodesep=2pt]{\Tcircle{11}}{%
- \Tdot
- \pstree{\Tfan}{\Tdot}
- \pstree{\Tdot}{\Tfan[linestyle=dashed]}}
-\end{example**}
-
-
-\Section{Tree orientation}
-
-Trees can grow down, up, right or left, depending on the
-\begin{Ex}
- \Par{treemode=D/U/R/L}
-\end{Ex}
-parameter.
-
-Here is what the previous example looks like when it grows to the right:
-\begin{example**}
- \pstree[dotstyle=oplus,dotsize=8pt,nodesep=2pt,treemode=R]
- {\Tcircle{11}}{%
- \Tdot
- \pstree{\Tfan}{\Tdot}
- \pstree{\Tdot}{\Tfan[linestyle=dashed]}}
-\end{example**}
-
-You can change the \p{treemode} in the middle of the tree.
-For example, here is a tree that grows up, and that has a subtree which grows
-to the left:
-\begin{example**}
- \footnotesize
- \pstree[treemode=U,dotstyle=otimes,dotsize=8pt,nodesep=2pt]
- {\Tdot}{%
- \pstree[treemode=L]{\Tdot}{\Tcircle{1} \Tcircle{2}}
- \pstree{\Tdot}{\Tcircle{3} \Tcircle{4}}}
-\end{example**}
-
-Since you can change a tree's orientation, it can make sense to include a tree
-(<treeB>) as a root node (of <treeA>). This makes a single logical tree, whose
-root is the root of <treeB>, and that has successors going off in different
-directions, depending on whether they appear as a successor to <treeA> or to
-<treeB>.
-\begin{example**}
- \pstree{\pstree[treemode=L]{\Tcircle{root}}{\Tr{B}}}{%
- \Tr{A1}
- \Tr{A2}}
-\end{example**}
-
-%%DG: to do
-
-On a semi-related theme, note that any node that creates an LR-box can contain
-a tree. However, nested trees of this kind are not related in any way to the
-rest of the tree. Here is an example:
-\begin{example**}
- \psTree{\Tcircle{%
- \pstree[treesep=0.4,levelsep=0.6,
- nodesepB=-6pt]{\Tdot}{%
- \TR{a} \TR{b}}}}
- \TC
- \TC
- \endpsTree
-\end{example**}
-
-When the tree grows up or down, the successors are lined up from left to right
-in the order they appear in \n\pstree. When the tree grows to the left or
-right, the successors are lined up from top to bottom. As an afterthought, you
-might want to flip the order of the nodes. The
-\begin{Ex}
- \Par{treeflip=true/false}
-\end{Ex}
-let's you do this. For example:
-\begin{example**}
- \footnotesize
- \pstree[treemode=U,dotstyle=otimes,dotsize=8pt,
- nodesep=2pt,treeflip=true]{\Tdot}{%
- \pstree[treemode=R]{\Tdot}{\Tcircle{1} \Tcircle{2}}
- \pstree{\Tdot}{\Tcircle{3} \Tcircle{4}}}
-\end{example**}
-Note that I still have to go back and change the \p{treemode} of the subtree
-that used to grow to the left.
-
-
-\Section{The distance between successors}
-
-The distance between successors is
-\begin{Ex}
- \Par{treesep=dim}
-\end{Ex}
-The rest of this section describes ways to fine-tune the spacing between
-successors.
-
-You can change the method for calculating the distance between subtrees by
-setting the
-\begin{Ex}
- \Par{treefit=tight/loose}
-\end{Ex}
-parameter. Here are the two methods:
-\begin{description}
- \item[tight] When \p{treefit=tight}, which is the default, \p{treesep} is
- the minimum distance between each of the levels of the subtrees.
- \item[loose] When \p{treefit=loose}, \p{treesep} is the distance between the
- subtrees' bounding boxes. Except when you have large intermediate nodes, the
- effect is that the horizontal distance (or vertical distance, for horizontal
- trees) between all the terminal nodes is the same (even when they are on
- different levels).\footnote{%
- When all the terminal nodes are on the same level, and the intermediate
- nodes are not wider than the base of their corresponding subtrees, then
- there is no difference between the two methods.}
-\end{description}
-
-Compare:
-\begin{center}
-\tabcolsep=1cm
-\begin{tabular}{cc}
- \psset{radius=2pt}
- \pstree{\TC*}{%
- \TC
- \pstree{\TC*}{%
- \pstree{\Tc{3pt}}{\TC \TC}
- \TC*}}
- &
- \psset{radius=2pt}
- \pstree[treefit=loose]{\TC*}{%
- \TC
- \pstree{\TC*}{%
- \pstree{\Tc{3pt}}{\TC \TC}
- \TC*}}
-\end{tabular}
-\end{center}
-
-With \p{treefit=loose}, trees take up more space, but sometimes the structure
-of the tree is emphasized.
-
-%Another (orthogonal) way to highlight the structure of the tree is by setting
-%\begin{Ex}
-% \Par{xtreesep=dim}
-%\end{Ex}
-%to a positive value. The effect is that adjacent nodes with different parents
-%are farther apart than adjacent nodes with the same parent.\footnote{%
-%When \p{treefit=tight}, the minimum distance between levels other than the top
-%of the subtrees is increased by \p{xtreesep}. When \p{treefit=loose}, the
-%minimum distance between subtrees is increased by \p{xtreesep}}.
-
-%This would have no effect in the previous two examples, but compare the
-%spacing between the two subtrees in
-%\begin{example**}
-% \psTree[radius=2pt,levelsep=1.5,xtreesep=.25cm] \TC* \\
-% \pstree{\TC*}{\TC* \TC*}
-% \pstree{\TC*}{\TC* \TC*}
-% \endpsTree
-%\end{example**}
-%with the spacing in
-%\begin{example**}
-% \psTree[radius=2pt,levelsep=1.5] \TC* \\
-% \pstree{\TC*}{\TC* \TC*}
-% \pstree{\TC*}{\TC* \TC*}
-% \endpsTree
-%\end{example**}
-
-Sometimes you want the spacing between the centers of the nodes to be regular
-even though the nodes have different sizes. If you set
-\begin{Ex}
- \Par{treenodesize=dim}
-\end{Ex}
-to a non-negative value, then PSTricks sets the width (or height+depth for
-vertical trees) to \p{treenodesize}, \emph{for the purpose of calculating the
-distance between successors}.
-
-For example, ternary trees look nice when they are symmetric, as in the
-following example:
-\begin{example**}
- \pstree[nodesepB=-8pt,treenodesize=.85]{\Tc{3pt}}{%
- \TR{$x=y$}
- \TR{$x_1=y_1$}
- \TR{$x_{11}=y_{11}$}}%$
-\end{example**}
-Compare with this example, where the spacing varies with the size of the
-nodes:
-\begin{example**}
- \pstree[nodesepB=-8pt]{\Tc{3pt}}{%
- \TR{$x=y$}
- \TR{$x_1=y_1$}
- \TR{$x_{11}=y_{11}$}}%$
-\end{example**}
-
-Finally, if all else fails, you can adjust the distance between two successors
-by inserting
- \Mac \tspace{dim}
-between them:
-\begin{example**}
- \pstree{\Tc{3pt}}{%
- \Tdia{foo}
- \tspace{-0.5}
- \Toval{and}
- \Ttri{bar}}
-\end{example**}
-
-\Section{Spacing between the root and successors}
-
-The distance between the center lines of the tree levels is:
-\begin{Ex}
- \Par{levelsep=*dim}
-\end{Ex}
-
-If you want the spacing between levels to vary with the size of the levels,
-use the * convention. Then \p{levelsep} is the distance between the bottom of
-one level and the top of the next level (or between the sides of the two
-levels, for horizontal trees).
-
-Note: PSTricks has to write some information to your ".aux" file if using
-\LaTeX, or to "\jobname.pst" otherwise, in order to calculate the spacing.
-You have to run your input file a few times before PSTricks gets the spacing
-right.
-
-%%DG: to do
-%You are most likely to want to set \p{varlevelsep} to "true" in horizontal
-trees. Compare the following example:
-\begin{example}
- \def\psedge#1#2{\ncdiagg[nodesep=3pt,angleA=180,armA=0]{#2}{#1}}
- \pstree[treemode=R,levelsep=*1cm]
- {\Tr{George Alexander Kopf VII}}{%
- \pstree{\Tr{Barry Santos}}{\Tr{James Kyle} \Tr{Ann Ada}}
- \pstree{\Tr{Terri Maloney}}{\Tr{Uwe Kopf} \Tr{Vera Kan}}}
-\end{example}
-with this one, were the spacing between levels is fixed:
-\begin{example}
- \def\psedge#1#2{\ncdiagg[nodesep=3pt,angleA=180,armA=0]{#2}{#1}}
- \pstree[treemode=R,levelsep=3cm]
- {\Tr{George Alexander Kopf VII}}{%
- \pstree{\Tr{Barry Santos}}{\Tr{James Kyle} \Tr{Ann Ada}}
- \pstree{\Tr{Terri Maloney}}{\Tr{Uwe Kopf} \Tr{Vera Kan}}}
-\end{example}
-
-%The center of the root node of a tree is positioned above the midpoint between
-%the centers of the two outer successors. If you want the root to be positioned
-%drectly above one of the successors, put the command
-% \Mac \treecenter
-%right \emph{after} that successor. For example:
-%\begin{example**}
-% \def\myfan#1{\Tfan[fillstyle=solid,fillcolor=#1]\treecenter}%
-% \pstree{\Tcircle{$x_2$}}{%
-% \pstree{\Tcircle{$x_1$}}{%
-% \pstree{\Tcircle{$x_0$}}{\myfan{black}}
-% \myfan{gray}}
-% \myfan{white}}
-%\end{example**}
-
-%Here is another interesting example:
-%\begin{example}
-% \def\psedge{\ncangle[angleA=0,angleB=90]}
-% \pstree[treesep=10pt]{\Tcircle[name=after]{$x_0$}}{%
-% \Tfan[fillstyle=solid,fillcolor=black]
-% \treecenter
-% \pstree{\Tcircle{$x_1$}}{\Tfan[fillstyle=solid,fillcolor=darkgray]}
-% \pstree{\Tcircle{$x_2$}}{\Tfan[fillstyle=solid,fillcolor=gray]}
-% \pstree{\Tcircle{$x_3$}}{\Tfan[fillstyle=solid,fillcolor=lightgray]}
-% \pstree{\Tcircle{$x_4$}}{\Tfan[fillstyle=solid,fillcolor=white]}}
-%\end{example}
-
-
-\Section{Edges}
-
-Right after you use a tree node command, "\pssucc" is equal to the name of the
-node, and "\pspred" is equal to the name of the node's predecessor. Therefore,
-you can draw a line between the node and its predecessor by inserting, for
-example,
-\begin{LVerbatim}
- \ncline{\pspred}{\pssucc}
-\end{LVerbatim}
-
-To save you the trouble of doing this for every node, each tree node executes
-\begin{LVerbatim}
- \psedge{\pspred}{\pssucc}
-\end{LVerbatim}
-The default definition of "\psedge" is "\ncline", but you can redefine it as
-you please with "\def" or \LaTeX's "\renewcommand".
-
-For example, here I use \n\ncdiag, with \p{armA=0}, to get all the node
-connections to emanate from the same point in the predecessor:\footnote{%
-\LaTeX{} users can instead type:
-\begin{LVerbatim}
- \renewcommand{\psedge}{\ncdiag[armA=0,angleB=180,armB=1cm]}
-\end{LVerbatim}
-}
-\begin{example}
- \def\psedge{\ncdiag[armA=0,angleB=180,armB=1cm]}
- \pstree[treemode=R,levelsep=3.5cm,framesep=2pt]
- {\Tc{6pt}}{%
- \small \Tcircle{K} \Tcircle{L} \Tcircle{M} \Tcircle{N}}
-\end{example}
-
-Here is an example with \n\ncdiagg. Note the use of a negative \p{armA} value
-so that the corners of the edges are vertically aligned, even though the nodes
-have different sizes:
-\begin{example}
- $
- \def\psedge#1#2{%
- \ncdiagg[angleA=180, armA=-3cm,nodesep=4pt]{#2}{#1}}
- % Or: \renewcommand{\psedge}[2]{ ... }
- \pstree[treemode=R, levelsep=5cm]{\Tc{3pt}}{%
- \Tr{z_1\leq y}
- \Tr{z_1<y\leq z_2}
- \Tr{z_2<y\leq x}
- \Tr{x<y}}
- $
-\end{example}
-
-Another way to define \n\psedge{} is with the
-\begin{Ex}
- \Par{edge=command}
-\end{Ex}
-parameter. Be sure to enclose the value in braces "{}" if it contains commas
-or other parameter delimiters. This gets messy if your command is long, and
-you can't use arguments like in the preceding example, but for simple changes
-it is useful. For example, if I want to switch between a few node connections
-frequently, I might define a command for each node connection, and then use
-the \p{edge} parameter.
-\begin{example**}
- \def\dedge{\ncline[linestyle=dashed]}
- \pstree[treemode=U,radius=2pt]{\Tc{3pt}}{%
- \TC*[edge=\dedge]
- \pstree{\Tc{3pt}}{\TC*[edge=\dedge] \TC*}
- \TC*}
-\end{example**}
-
-You can also set \n{edge=none} to suppress the node connection.
-
-If you want to draw a node connection between two nodes that are not direct
-predecessor and successor, you have to give the nodes a name that you can
-refer to, using the \p{name} parameter. For example, here I connect two nodes
-on the same level:
-\begin{example**}
- \pstree[nodesep=3pt,radius=2pt]{\Toval{nature}}{%
- \pstree{\Tc[name=top]{3pt}}{\TC* \TC*}
- \pstree{\Tc[name=bot]{3pt}}{\TC* \TC*}}
- \ncline[linestyle=dashed]{top}{bot}
-\end{example**}
-
-We conclude with the more examples.
-
-\begin{example**}
- \def\psedge{\nccurve[angleB=180, nodesepB=3pt]}
- \pstree[treemode=R, treesep=1.5, levelsep=3.5]%
- {\Toval{root}}{\Tr{X} \Tr{Y} \Tr{Z}}
-\end{example**}
-
-\begin{example**}
- \pstree[nodesepB=3pt, arrows=->, xbbl=15pt,
- xbbr=15pt, levelsep=2.5cm]{\Tdia{root}}{%
- $
- \TR[edge={\ncbar[angle=180]}]{x}
- \TR{y}
- \TR[edge=\ncbar]{z}
- $}
-\end{example**}
-
-\begin{example**}
- \psset{armB=1cm, levelsep=3cm, treesep=1cm,
- angleB=-90, angleA=90, arrows=<-, nodesepA=3pt}
- \def\psedge#1#2{\ncangle{#2}{#1}}
- \pstree[radius=2pt]{\Ttri{root}}{\TC* \TC* \TC* \TC*}
-\end{example**}
-
-
-\Section{Edge and node labels}
-
-Right after a node, an edge has typically been drawn, and you can attach
-labels using \n\ncput\, \n\tlput, etc.
-
-With \n\tlput, \n\trput, \n\taput{} and \n\tbput, you can align the labels
-vertically or horizontally, just like the nodes. This can look nice, at least
-if the slopes of the node connections are not too different.
-\begin{example**}
- \pstree[radius=2pt]{\Tp}{%
- \psset{tpos=.6}
- \TC* \tlput{k}
- \pstree{\Tc{3pt} \tlput[labelsep=3pt]{r}}{%
- \TC* \tlput{j}
- \TC* \trput{i}}
- \TC* \trput{m}}
-\end{example**}
-Within trees, the \p{tpos} parameter measures this distance from the
-predecessor to the successor, whatever the orientation of the true.
-(Outside of trees it measures the distance from the top to bottom or left to
-right nodes.)
-
-PSTricks also sets \p{shortput=tab} within trees. This is a special
-\p{shortput} option that should not be used outside of trees. It implements
-the following abbreviations, which depend of the orientation of the true:
-\begin{center}
-\begin{tabular}{ccc}
- & \multicolumn{2}{c}{Short for:}\\
- \emph{Char.} & \emph{Vert.} & \emph{Horiz.}\\[2pt]
- "^" & \n\tlput & \n\taput \\
- "_" & \n\trput & \n\tbput
-\end{tabular}
-\end{center}
-(The scheme is reversed if \p{treeflip=true}.)
-\begin{example**}
- \psset{tpos=.6}
- \pstree[treemode=R, thistreesep=1cm,
- thislevelsep=3cm,radius=2pt]{\Tc{3pt}}{%
- \pstree[treemode=U, xbbr=20pt]{\Tc{3pt}^{above}}{%
- \TC*^{left}
- \TC*_{right}}
- \TC*^{above}
- \TC*_{below}}
-\end{example**}
-
-You can change the character abbreviations with
- \Mac \MakeShortTab{<char1>}{<char2>}
-
-The "\n*put" commands can also give good results:
-\begin{example**}
- \psset{npos=.6,nrot=:U}
- \pstree[treemode=R, thistreesep=1cm,
- thislevelsep=3cm]{\Tc{3pt}}{%
- \Tc{3pt}\naput{above}
- \Tc*{2pt}\naput{above}
- \Tc*{2pt}\nbput{below}}
-\end{example**}
-
-You can put labels on the nodes using \n\nput. However, \n\pstree{} won't take
-these labels into account when calculating the bounding boxes.
-
-There is a special node label option for trees that does keep track of the
-bounding boxes:
- \Mac ~`*[par]'{stuff}
-Call this a ``tree node label''.
-
-Put a tree node label right after the node to which it applies, before any
-node connection labels (but node connection labels, including the short forms,
-can follow a tree node label). The label is positioned directly below the node
-in vertical trees, and similarly in other trees. For example:
-\begin{example**}
- \pstree[radius=2pt]{\Tc{3pt}\nput{45}{\pssucc}{root}}{%
- \TC*~{$h$} \TC*~{$i$} \TC*~{$j$} \TC*~{$k$}}
-\end{example**}
-Note that there is no ``long form'' for this tree node label. However, you can
-change the single character used to delimit the label with
- \Mac \MakeShortTnput{<char1>}
-If you find it confusing to use a single character, you can also use a command
-sequence. E.g.,
-\begin{LVerb}
- \MakeShortTnput{\tnput}
-\end{LVerb}
-
-You can have multiple labels, but each successive label is positioned relative
-to the bounding box that includes the previous labels. Thus, the order in
-which the labels are placed makes a difference, and not all combinations will
-produce satisfactory results.
-
-You will probably find that the tree node label works well for terminal nodes,
-without your intervention. However, you can control the tree node labels be
-setting several parameters.
-
-To position the label on any side of the node ("l"eft, "r"ight, "a"bove or
-"b"elow), set:
-\begin{Ex}
- \Par{tnpos=l/r/a/b}
-\end{Ex}
-\begin{example**}
- \psframebox{%
- \pstree{\Tc{3pt}~[tnpos=a,tndepth=0pt,radius=4pt]{root}}{%
- \TC*~[tnpos=l]{$h$}
- \TC*~[tnpos=r]{$i$}}}
-\end{example**}
-When you leave the argument empty, which is the default, PSTricks chooses the
-label position is automatically.
-
-To change the distance between the node and the label, set
-\begin{Ex}
- \Par{tnsep=<dim>}
-\end{Ex}
-When you leave the argument empty, which is the default, PSTricks uses the
-value of \p{labelsep}. When the value is negative, the distance is measured
-from the center of the node.
-
-When labels are positioned below a node, the label is given a minimum height
-of
-\begin{Ex}
- \Par{tnheight=<dim>}(\string\ht\string\strutbox)
-\end{Ex}
-Thus, if you add labels to several nodes that are horizontally aligned, and if
-either these nodes have the same depth or \p{tnsep} is negative, and if the
-height of each of the labels is no more than \p{tnheight}, then the labels
-will also be aligned by their baselines. The default is "\ht\strutbox", which
-in most \TeX{} formats is the height of a typical line of text in the current
-font. Note that the value of \p{tnheight} is not evaluated until it is used.
-
-The positioning is similar for labels that go below a node. The label is given
-a minimum \emph{depth} of
-\begin{Ex}
- \Par{tndepth=<dim>}(\string\dp\string\strutbox)
-\end{Ex}
-
-For labels positioned above or below, the horizontal reference point of the
-label, i.e., the point in the label directly above or below the center of the
-node, is set by the \p{href} parameter.
-
-When labels are positioned on the left or right, the right or left edge of the
-label is positioned distance \p{tnsep} from the node. The vertical point that
-is aligned with the center of the node is set by
-\begin{Ex}
- \Par{tnyref=<num>}
-\end{Ex}
-When you leave this empty, \p{vref} is used instead. Recall that \p{vref}
-gives the vertical \emph{distance} from the baseline. Otherwise, the
-\p{tnyref} parameter works like the \p{yref} parameter, giving the fraction of
-the distance from the bottom to the top of the label.
-
-\Section{Details}
-
-PSTricks does a pretty good job of positioning the nodes and creating a box
-whose size is close to the true bounding box of the tree. However, PSTricks
-does not take into account the node connections or labels when calculating the
-bounding boxes, except the tree node labels.
-
-If, for this or other reasons, you want to fine tune the bounding box of the
-nodes, you can set the following parameters:
-\begin{Ex}
- \Par{bbl=dim}
- \Par{bbr=dim}
- \Par{bbh=dim}
- \Par{bbd=dim}
- \Par{xbbl=dim}
- \Par{xbbr=dim}
- \Par{xbbh=dim}
- \Par{xbbd=dim}
-\end{Ex}
-The "x" versions increase the bounding box by <dim>, and the others set the
-bounding box to <dim>. There is one parameter for each direction from the
-center of the node, \textbf{l}eft, \textbf{r}ight, \textbf{h}eight, and
-\textbf{d}epth.
-
-These parameters affect trees and nodes, and subtrees that switch directions,
-but not subtrees that go in the same direction as their parent tree (such
-subtrees have a profile rather than a bounding box, and should be adjusted by
-changing the bounding boxes of the constituent nodes).
-
-Save any fiddling with the bounding box until you are otherwise finished with
-the tree.
-
-You can see the bounding boxes by setting the
-\begin{Ex}
- \Par{showbbox=true/false}
-\end{Ex}
-parameter to "true". To see the bounding boxes of all the nodes in a tree, you
-have to set this parameter before the tree.
-
-In the following example, the labels stick out of the bounding box:
-\begin{example**}
- \psset{tpos=.6,showbbox=true}
- \pstree[treemode=U]{\Tc{5pt}}{%
- \TR{foo}^{left}
- \TR{bar}_{right}}
-\end{example**}
-Here is how we fix it:
-\begin{example**}
- \psset{tpos=.6,showbbox=true}
- \pstree[treemode=U,xbbl=8pt,xbbr=14pt]{\Tc{5pt}}{%
- \TR{foo}^{left}
- \TR{bar}_{right}}
-\end{example**}
-Now we can frame the tree:
-\begin{example**}
- \psframebox[fillstyle=solid,fillcolor=lightgray,framesep=14pt,
- linearc=14pt,cornersize=absolute,linewidth=1.5pt]{%
- \psset{tpos=.6,border=1pt,nodesepB=3pt}
- \pstree[treemode=U,xbbl=8pt,xbbr=14pt]{%
- \Tc[fillcolor=white,fillstyle=solid]{5pt}}{%
- \TR*{foo}^{left}
- \TR*{bar}_{right}}}
-\end{example**}
-We would have gotten the same result by changing the bounding box of the two
-terminal nodes.
-
-To skip levels, use
-\begin{Ex}
- \object \skiplevel`*[par]'{nodes or subtrees}
- \object \skiplevels`*[par]'{int} <nodes or subtrees> \string\endskiplevels
-\end{Ex}
-These are kind of like subtrees, but with no root node.
-\begin{example}
- \pstree[treemode=R,levelsep=1.8,radius=2pt]{\Tc{3pt}}{%
- \skiplevel{\Tfan}
- \pstree{\Tc{3pt}}{%
- \TC*
- \skiplevels{2}
- \pstree{\Tc{3pt}}{\TC* \TC*}
- \TC*
- \endskiplevels
- \pstree{\Tc{3pt}}{\TC* \TC*}}}
-\end{example}
-The profile at the missing levels is the same as at the first non-missing
-level. You can adjust this with the bounding box parameters. You get greatest
-control if you use nested \n\skiplevel{} commands instead of \n\skiplevels.
-
-\begin{example}
- \large
- \psset{radius=6pt, dotsize=4pt}
- \pstree[thislevelsep=0,edge=none,levelsep=2.5cm]{\Tn}{%
- \pstree{\TR{Player 1}}{\pstree{\TR{Player 2}}{\TR{Player 3}}}
- \psset{edge=\ncline}
- \pstree
- {\pstree[treemode=R]{\TC}{\Tdot ~{(0,0,0)} ^{N}}}{%
- \pstree{\TC[name=A] ^{L}}{%
- \Tdot ~{(-10,10.-10)} ^{l}
- \pstree{\TC[name=C] _{r}}{%
- \Tdot ~{(3,8,-4)} ^{c}
- \Tdot ~{(-8,3,4)} _{d}}}
- \pstree{\TC[name=B] _{R}}{%
- \Tdot ~{(10,-10.0)} ^{l}
- \pstree{\TC[name=D]_{r}}{%
- \Tdot ~{(4,8,-3)} ^{c}
- \Tdot ~{(0,-5,0)} _{d}}}}}
- \ncbox[linearc=.3,boxsize=.3,linestyle=dashed,nodesep=.4]{A}{B}
- \ncarcbox[linearc=.3,boxsize=.3,linestyle=dashed,
- arcangle=25,nodesep=.4]{D}{C}
-\end{example}
-
-\Section{The scope of parameter changes}
-
-\p{edge} is the only parameter which, when set in a tree node's parameter
-argument, affects the drawing of the node connection (e.g., if you want to
-change the \p{nodesep}, your edge has to include the parameter change, or you
-have to set it before the node).
-
-As noted at the beginning of this section, parameter changes made with
-\n\pstree{} affect all subtrees. However, there are variants of some of these
-parameters for making local changes, i.e, changes that affects only the
-current level:
-\begin{Ex}
- \Par{thistreesep=dim}
- \Par{thistreenodesize=dim}
- \Par{thistreefit=tight/loose}
- \Par{thislevelsep=dim}
-\end{Ex}
-For example:
-\begin{example**}
- \pstree[thislevelsep=.5cm,thistreesep=2cm,radius=2pt]{\Tc*{3pt}}{%
- \pstree{\TC*}{\TC* \TC*}
- \pstree{\TC*}{\TC* \TC*}}
-\end{example**}
-
-There are some things you may want set uniformly across a level in the tree,
-such as the \p{levelsep}. At level <n>, the command "\pstreehook<roman(n)>"
-(e.g., "\pstreehookii") is executed, if it is defined (the root node of the
-whole tree is level 0, the successor tree objects and the node connections
-from the root node to these successors is level 1, etc.). In the following
-example, the \p{levelsep} is changed for level 2, without having to set the
-\p{thislevelsep} parameter for each of the three subtrees that make of level
-2:
-\begin{example*}
- \[
- \def\pstreehookiii{\psset{thislevelsep=3cm}}
- \pstree[treemode=R,levelsep=1cm,radius=2pt]{\Tc{4pt}}{%
- \pstree{\TC*}{%
- \pstree{\TC*}{\Tr{X_1} \Tr{X_2}}
- \pstree{\TC*}{\Tr{Y_1} \Tr{Y_2}}}
- \pstree{\TC*}{%
- \pstree{\TC*}{\Tr{K_1} \Tr{K_2}}
- \pstree{\TC*}{\Tr{J_1} \Tr{J_2}}}}
- \]
-\end{example*}
-
-\endinput
-
-%% END psd-tree.tex
diff --git a/Master/texmf-dist/source/generic/pstricks/pst-user.cls b/Master/texmf-dist/source/generic/pstricks/pst-user.cls
deleted file mode 100644
index 19cd07b6ee6..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/pst-user.cls
+++ /dev/null
@@ -1,1111 +0,0 @@
-%% BEGIN pst-user.cls
-
-%% Macros for typesetting "pst-user.tex" v97.
-
-%DG \errorcontextlines=100\relax
-
-\NeedsTeXFormat{LaTeX2e}
-
-\ProvidesClass{pst-user}[2003/03/03 Class for PSTricks User's Guide (TvZ,RN,DG)]
-
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
-
-\ProcessOptions\relax
-\LoadClass{article}
-
-% Packages
-\RequirePackage{pstcol}
-\RequirePackage{pst-coil}
-\RequirePackage{pst-plot}
-\RequirePackage{pst-tree}
-
-\RequirePackage{fancybox} % Use for the Quick Reference
-\RequirePackage{fancyvrb}
-
-\RequirePackage[dvips]{geometry}
-
-% The paper dimensions for `dvips' or `VTeX' or `pdfTeX'
-% Why not `\AtEndOfClass' or `\AtBeginDocument'? RN
-
-\RequirePackage{url}
-\RequirePackage[ps2pdf,hyperfootnotes=false,colorlinks=true,bookmarks=true]
- {hyperref}[2000/03/02]
-%\AtEndOfClass{%
-% \RequirePackage[ps2pdf,hyperfootnotes=false,colorlinks=false,%
-% bookmarks=false]
-% %pdfpagelabels,plainpages=false]
-% {hyperref}[2000/03/02]}
-
-%\AtEndOfClass{\AtBeginDocument{\RequirePackage{showframe}}}
-
-% Fonts related packages
-\usepackage[T1]{fontenc}
-\RequirePackage{times}
-%\RequirePackage{mathptmx}
-\RequirePackage[scaled]{helvet}
-%\RequirePackage{courier}
-\RequirePackage{pifont}
-
-% Title, version and date
-\def\thetitle{PSTricks: User's Guide}
-\let\theheadertitle\thetitle % Used with twoside option.
-\let\fileversion\Version
-\let\filedate\Date
-
-% Paragraphs are marked by large space rather than indentation:
-\parindent 0pt
-\parskip 7pt plus 1pt minus 1pt
-
-% Page layout and various dimensions
-
-%%% TODO: Using the `geometry' package and `\DeclareOption' -- RN
-
-% These are for 8.5inx11in paper:
-\oddsidemargin 5cm
-\evensidemargin 5cm
-\textwidth 11.5cm
-
-% Total bottom margin 1in, text height 8.8in
-\topmargin\z@
-\textheight 8.8in
-\footskip .625in
-
-% No headers, 1in top margin
-\headheight 0pt
-\headsep 0pt
-
-% Marginal notes always on left.
-\marginparwidth 3.5cm
-\marginparsep .5cm
-\reversemarginpar
-
-% Now adjust margins for a4 paper size:
-\ifdim\paperwidth=210mm \papersizeadjust\fi
-
-%DG % Now adjust margins for different paper size:
-%DG % The a4 option sets \paperwidth and \paperheight for a4 paper:
-%DG \@ifundefined{paperwidth}%
-%DG {%
-%DG \def\paperwidth{8.5in}
-%DG \def\paperheight{11in}
-%DG }{%
-%DG \@tempdima=\paperwidth\relax
-%DG \advance\@tempdima-8.5in
-%DG \divide\@tempdima 2
-%DG \advance\oddsidemargin\@tempdima
-%DG \advance\evensidemargin\@tempdima
-%DG \@tempdima=\paperheight\relax
-%DG \advance\@tempdima-11in
-%DG \divide\@tempdima 2
-%DG \advance\topmargin\@tempdima
-%DG }
-
-%DG % Now adjust left and right margins for twosided printing:
-%DG \if@twoside
-%DG \advance\oddsidemargin.75cm
-%DG \advance\evensidemargin-.75cm
-%DG \fi
-
-%%%%%%%%%%%%%%%%%%%% Various customizations %%%%%%%%%%%%%%%%%%%%
-
-\def\arraystretch{1.2}
-
-\hfuzz 1pt
-
-\def\twosideclearpage{%
- \clearpage
- \if@twoside
- \ifodd\c@page\else
- \thispagestyle{empty}%
- \null\leavevmode
- \clearpage
- \fi
- \fi}
-
-
-
-% Paragraphs are marked by large space rather than indentation:
-\setlength{\parindent}{0pt}
-\setlength{\parskip}{7pt plus 1pt minus 1pt}
-
-% Reduce \topsep:
-\def\@listI{%
- \leftmargin\leftmargini
- \parsep 5\p@ plus2.5\p@ minus\p@
- %\topsep 10\p@ plus4\p@ minus6\p@
- \topsep 5\p@ plus2\p@ minus2\p@
- \itemsep 5\p@ plus2.5\p@ minus\p@}
-\let\@listi\@listI
-\@listi
-\def\@listii{%
- \leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- %\topsep 5\p@ plus2.5\p@ minus\p@
- \topsep 2\p@ plus.5\p@ minus\p@
- \parsep 2.5\p@ plus\p@ minus\p@
- \itemsep \parsep}
-\def\@listiii{%
- \leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- %\topsep 2.5\p@ plus\p@ minus\p@
- \topsep 1\p@ plus.2\p@ minus.2\p@
- \parsep \z@
- \partopsep \p@ plus\z@ minus\p@
- \itemsep \topsep}
-
-\skip\footins 20pt plus 4pt minus 2pt
-
-%%%%%%%%%%%%%%%%%%%% Special hacks for User's Guides %%%%%%%%%%%%%%%%%%%%
-
-%% Listing questions
-\newcounter{faq}[section]
-\def\thefaq{\arabic{faq}}
-\let\l@faq\@gobbletwo
-\def\faq{\@startsection{faq}{2}{\z@}%
- {3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\faqfont}}
-\def\faqfont{\normalsize\sffamily}
-\def\faqmark#1{}
-
-%% Listing errors
-\def\error{\vskip 2ex\noindent}
-
-%%%%%%%%%%%%%%%%%%%% Sections %%%%%%%%%%%%%%%%%%%%
-
-% Section headings use customizable fonts, leave less space above
-% and below, and may overhang on left.
-
-\def\section{\@startsection{section}{1}{\sechang}%
- {-3ex plus -1ex minus -.2ex}{1.5ex plus .2ex}{\secfont}}
-\def\subsection{\@startsection{subsection}{2}{\subsechang}%
- {-2.75ex plus -1ex minus -.2ex}{1.25ex plus .2ex}{\subsecfont}}
-\newdimen\sechang
-\newdimen\subsechang
-\sechang=-.75in
-\subsechang=-.375in
-\def\secfont{\sffamily\LARGE\bfseries} % Section headings
-\def\subsecfont{\sffamily\Large\bfseries} % Subsection headings
-
-%%%%%%%%%%%%%%%%%%%% Page style %%%%%%%%%%%%%%%%%%%%
-
-%% Headings:
-\def\ps@docheadings{%
- \let\@mkboth\markboth
- \def\@oddhead{}%
- \let\@evenhead\@oddhead%
- \def\@oddfoot{%
- \small\sffamily
- \rightmark
- \hfil
- \thepage}%
- \def\@evenfoot{%
- \small\sffamily
- \thepage
- \hfil
- \theheadertitle}%
- \def\sectionmark##1{\markright {##1}}}%
-\pagestyle{docheadings}
-
-%%%%%%%%%%%%%%%%%%%% Table of contents %%%%%%%%%%%%%%%%%%%%
-
-%% Tight up spacing in TOC:
-\newskip\tempskip
-\def\TOCshrink{.5}
-\def\TableOfContents{%
- \begin{quote}
- \begin{center} \Large\bf Contents \end{center}
- \def\numberline##1{\hbox to 0pt{\hss##1\hskip 1em}}%
- \let\oldaddvspace\addvspace
- \def\addvspace##1{%
- \tempskip##1\relax
- \oldaddvspace{\TOCshrink\tempskip}}
- \@starttoc{toc}%
- \end{quote}}
-\def\tableofcontents{%
- \clearpage
- \markright{Table of contents}%
- \TableOfContents
- \clearpage}
-
-
-%%%%%%%%%%%%%%%%%%%% Dates %%%%%%%%%%%%%%%%%%%%
-
-%% This expands the date, as defined in \filedate.
-
-\def\expanddate#1/#2/#3/{%
- \number#3{}
- \month=#2
- \ifcase\month\or
- January \or February \or March \or April \or May \or June \or
- July \or August \or September \or October \or November \or December
- \fi
- 20#1}
-\def\thefiledate{\expandafter\expanddate\Date/}
-\date{\thefiledate}
-
-%%%%%%%%%%%%%%%%%%%% Codes and examples %%%%%%%%%%%%%%%%%%%%
-
-%% This is an environment for putting samples of code. It is like
-%% a variant of \begin{quote}\ttfamily ... \end{quote}. It is NOT verbatim.
-
-\def\NotNested{\def\begin##1{%
- \@latexerr{Bad nesting of environments.
- Perhaps missing \end{\@currenvir}}\@eha
- \end{\@currenvir}%
- \begin{##1}}}
-\def\Ex{%
- \NotNested
- \list{}{}\item[]%
- \if@minipage\else\vskip\parskip\fi
- \leftskip\@totalleftmargin
- \rightskip\z@
- \parindent\z@
- \parskip\z@
- \parfillskip\@flushglue
- \hfuzz 1pt
- \@@par
- \global\@inlabelfalse}
-\def\endEx{\endlist}
-
-%% Various things to make it easier to write code and examples:
-\begingroup
- \catcode`\{=12 \catcode`\}=12
- \catcode`\(=1 \catcode`\)=2
- \catcode`\+=0 \catcode`\\=12
- +gdef+|(\) % \| = character \
- +gdef+{({) % \{ = character {
- +gdef+}(}) % \} = character }
-+endgroup
-\def\Backslash{\protect\|}
-
-%%%%%%%%%%%%%%%%%%%% Fonts %%%%%%%%%%%%%%%%%%%%
-
-% Use scaled versions of the ps fonts.
-
-\def\times@scale{.96}
-\def\helv@scale{.82}
-\def\courier@scale{.985}
-
-%DG \DeclareFontFamily{T1}{times}{}
-%DG \def\1{\DeclareFontShape{T1}{times}}
-%DG \1{m}{n}{<->s*[\times@scale]ptmrq}{}%
-%DG \1{m}{it}{<->s*[\times@scale]ptmriq}{}%
-%DG \1{m}{sc}{<->s*[\times@scale]ptmrcq}{}%
-%DG \1{b}{n}{<->s*[\times@scale]ptmbq}{}%
-%DG \1{b}{it}{<->s*[\times@scale]ptmbiq}{}%
-%DG \1{m}{sl}{<->ssub * times/m/it}{}%
-%DG \1{b}{sc}{<->sub * times/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * times/b/it}{}%
-%DG \1{bx}{n}{<->ssub * times/b/n}{}%
-%DG \1{bx}{it}{<->ssub * times/b/it}{}%
-%DG \1{bx}{sc}{<->sub * times/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * times/b/it}{}%
-
-%DG \DeclareFontFamily{OT1}{times}{}%
-%DG \def\1{\DeclareFontShape{OT1}{times}}
-%DG \1{m}{n}{<->s*[\times@scale]ptmr}{}%
-%DG \1{m}{it}{<->s*[\times@scale]ptmri}{}%
-%DG \1{m}{sc}{<->s*[\times@scale]ptmrc}{}%
-%DG \1{b}{n}{<->s*[\times@scale]ptmb}{}%
-%DG \1{b}{it}{<->s*[\times@scale]ptmbi}{}%
-%DG \1{m}{sl}{<->ssub * times/m/it}{}%
-%DG \1{b}{sc}{<->sub * times/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * times/b/it}{}%
-%DG \1{bx}{n}{<->ssub * times/b/n}{}%
-%DG \1{bx}{it}{<->ssub * times/b/it}{}%
-%DG \1{bx}{sc}{<->sub * times/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * times/b/it}{}%
-
-%DG \DeclareFontFamily{T1}{helvetica}{}
-%DG \def\1{\DeclareFontShape{T1}{helvetica}}
-%DG \1{m}{n}{<->s*[\helv@scale]phvrq}{}%
-%DG \1{m}{it}{<->s*[\helv@scale]phvroq}{}%
-%DG \1{m}{sc}{<->s*[\helv@scale]phvrcq}{}%
-%DG \1{b}{n}{<->s*[\helv@scale]phvbq}{}%
-%DG \1{b}{it}{<->s*[\helv@scale]phvboq}{}%
-%DG \1{m}{sl}{<->ssub * helvetica/m/it}{}%
-%DG \1{b}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{n}{<->ssub * helvetica/b/n}{}%
-%DG \1{bx}{it}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * helvetica/b/it}{}%
-
-%DG \DeclareFontFamily{OT1}{helvetica}{}%
-%DG \def\1{\DeclareFontShape{OT1}{helvetica}}
-%DG \1{m}{n}{<->s*[\helv@scale]phvr}{}%
-%DG \1{m}{it}{<->s*[\helv@scale]phvro}{}%
-%DG \1{m}{sc}{<->s*[\helv@scale]phvrc}{}%
-%DG \1{b}{n}{<->s*[\helv@scale]phvb}{}%
-%DG \1{b}{it}{<->s*[\helv@scale]phvbo}{}%
-%DG \1{m}{sl}{<->ssub * helvetica/m/it}{}%
-%DG \1{b}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{n}{<->ssub * helvetica/b/n}{}%
-%DG \1{bx}{it}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * helvetica/b/it}{}%
-
-%DG \DeclareFontFamily{T1}{r-helvetica}{}
-%DG \def\1{\DeclareFontShape{T1}{r-helvetica}}
-%DG \1{m}{n}{<->s*[\helv@scale]rphvrq}{}%
-%DG \1{m}{it}{<->s*[\helv@scale]rphvroq}{}%
-%DG \1{m}{sc}{<->s*[\helv@scale]rphvrcq}{}%
-%DG \1{b}{n}{<->s*[\helv@scale]rphvbq}{}%
-%DG \1{b}{it}{<->s*[\helv@scale]rphvboq}{}%
-%DG \1{m}{sl}{<->ssub * helvetica/m/it}{}%
-%DG \1{b}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{n}{<->ssub * helvetica/b/n}{}%
-%DG \1{bx}{it}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * helvetica/b/it}{}%
-
-%DG \DeclareFontFamily{OT1}{r-helvetica}{}%
-%DG \def\1{\DeclareFontShape{OT1}{r-helvetica}}
-%DG \1{m}{n}{<->s*[\helv@scale]rphvr}{}%
-%DG \1{m}{it}{<->s*[\helv@scale]rphvro}{}%
-%DG \1{m}{sc}{<->s*[\helv@scale]rphvrc}{}%
-%DG \1{b}{n}{<->s*[\helv@scale]rphvb}{}%
-%DG \1{b}{it}{<->s*[\helv@scale]rphvbo}{}%
-%DG \1{m}{sl}{<->ssub * helvetica/m/it}{}%
-%DG \1{b}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{b}{sl}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{n}{<->ssub * helvetica/b/n}{}%
-%DG \1{bx}{it}{<->ssub * helvetica/b/it}{}%
-%DG \1{bx}{sc}{<->sub * helvetica/m/sc}{}%
-%DG \1{bx}{sl}{<->ssub * helvetica/b/it}{}%
-
-%DG \DeclareFontFamily{OT1}{symbol}{}
-%DG \DeclareFontShape{OT1}{symbol}{m}{n}{<->s*[\times@scale]rpsyr}{}
-
-%DG \let\saved@fontwarning\font@warning
-%DG \let\font@warning\@gobble
-%DG \DeclareSymbolFont{operators}{OT1}{times} {m}{n}
-%DG \DeclareSymbolFont{letters} {OT1}{times} {m}{it}
-
-%DG \SetSymbolFont{operators}{bold}{OT1}{times} {b}{n}
-%DG \SetSymbolFont{letters} {bold}{OT1}{times} {b}{it}
-
-%DG \renewcommand{\default@family}{times}%
-%DG \renewcommand{\rmdefault}{times}%
-%DG \renewcommand{\sfdefault}{helvetica}%
-%DG \renewcommand{\ttdefault}{r-helvetica}%
-%DG \fontfamily\default@family\selectfont
-
-%DG \@namedef{FV@fontfamily@helvetica}{%
-%DG \def\FV@FontScanPrep{}%
-%DG \def\FV@FontFamily{\fontfamily{r-helvetica}}}
-
-% A few tricks to avoid math fonts:
-
-\def\AmS{AMS}
-
-%RN \def\symchar#1{%
-%RN \mbox{%
-%RN \kern .3pt
-%RN \fontfamily{symbol}\fontseries{m}\fontshape{n}\selectfont
-%RN \char#1
-%RN \kern .3pt}}
-
-\def\symchar#1{%
- \mbox{%
- \kern .3pt
- \Pisymbol{psy}{#1}
- \kern .3pt}}
-
-\def\lt{\symchar{'074}}
-\def\gt{\symchar{'076}}
-\def\leq{\symchar{'243}}
-\def\geq{\symchar{'263}}
-\def\bullet{\symchar{'267}}
-\def\ldots{\symchar{'274}}
-\mathcode`\-="20B1
-
-\renewcommand{\ttdefault}{\sfdefault}
-
-% The font commands:
-\def\MainFont{\ttfamily\bfseries\large} % For macro definitions.
-\def\UsageFont{\ttfamily\bfseries} % For in-line macro names.
-\def\InlineFont{\ttfamily} % For other in-line snipets of code.
-\def\MetaFont{\sffamily\slshape} % For meta arguments.
-%\def\OpArgFont{\fontseries{m}\selectfont} % For optional arguments.
-\def\OpArgFont{\normalfont} % For optional arguments.
-
-\begingroup
- \catcode`\<=\active
- \gdef\ShortMeta{%
- \catcode`\<=\active
- \def<##1>{{\MetaFont ##1\/}}}
-\endgroup
-
-\def\DeleteShortMeta{\catcode`\<=12\relax}
-
-% <foo> is short for {\MetaFont foo}.
-% Works with \Verb command and LVerb* environment,
-% but is disabled in LVerb environment.
-\ShortMeta
-
-% Short-cuts for coordinates:
-\def\x#1{{\MetaFont x#1\/}}
-\def\y#1{{\MetaFont y#1\/}}
-\def\c#1{{\InlineFont(\x{#1},\kern 1pt\y{#1})}}
-\def\cn{\c{n}}
-
-%%%%%%%%%%%%%%%%%%%% Verbatim %%%%%%%%%%%%%%%%%%%%
-
-% `fancyvrb' modifications to suppress the management of the < and >
-% characters, to allow to use them to change the font.
-
-% So, we suppress the codes in `fancyvrb' to disable ligatures management.
-% (D.G. - 02/28/03)
-\def\FV@SetupFont{%
- \FV@BaseLineStretch
- \FV@FontSize
- \FV@FontFamily
- \FV@FontSeries
- \FV@FontShape
- \selectfont
-% D.G. modification begin - Feb. 28, 2003
-% \@noligs}
-}
-% D.G. modification end
-
-% D.G. modification begin - Feb. 28, 2003
-%\def\FV@GetLine{\@noligs\expandafter\FV@CheckScan\FancyVerbGetLine}
-\def\FV@GetLine{\expandafter\FV@CheckScan\FancyVerbGetLine}
-% D.G. modification end
-
-\AtBeginDocument{\DefineShortVerb{\"}}
-
-\VerbatimFootnotes
-
-\fvset{gobble=2,commentchar=\",codes={\catcode`\<=12},fontfamily=helvetica,
- frame=single,numbers=left,numbersep=1mm}
-
-\DefineVerbatimEnvironment{LVerb}{LVerbatim}{fontsize=\small}
-\DefineVerbatimEnvironment{LVerb*}{LVerbatim}%
- {fontsize=\small,codes={\catcode`\<=13}}
-
-\def\FV@Space{\ \ }
-
-% Verbatim items:
-
-\newcommand{\vitem}{\SaveVerb[codes={\catcode`\<=13},
- aftersave={\item[\UseVerb{item}]}]{item}}
-
-%%%%%%%%%%%%%%%%%%%% Example environments %%%%%%%%%%%%%%%%%%%%
-
-% The Example environment uses the fancybox.sty macros
-% 1. Save example verbatim to \jobname.tmp,
-% 2. Input verbatim with \catcode`\"=14 (" is a comment).
-% 3. Input again with \catcode\`"=9 (" is ignored).
-
-% There are 5 example environments:
-% 1. example : center output
-% 2. example* : process output with no special formatting.
-% 3. example** : Place on left side of verbatim input.
-% 4. MEx : Like example**, but contents put in picture environment.
-% 5. MEx* : Like MEx, but with grid.
-\newcommand{\BeginExample}{%
- \VerbatimEnvironment
- \catcode`\<=12\relax
- \catcode`\"=9\relax
- \begin{VerbatimOut}[commentchar=none,codes={\catcode`\"=12}]{\jobname.tmp}}
-
-\newcommand{\EndExample}{%
- \end{VerbatimOut}
- \fvset{gobble=0,fontsize=\small}}
-
-\newenvironment{example}{\BeginExample}{%
- \EndExample
- \LVerbatimInput{\jobname.tmp}%
- \begin{center}\leavevmode\input{\jobname.tmp}\end{center}}
-
-\newenvironment{example*}{\BeginExample}{%
- \EndExample\LVerbatimInput{\jobname.tmp}\input{\jobname.tmp}}
-
-\newenvironment{example**}{\BeginExample}{%
- \EndExample\SideBySideEx{\input{\jobname.tmp}}}
-
-\newif\ifgrid
-\newpsobject{usergrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=7pt}
-
-\def\MEx{\@ifnextchar[{\@MEx}{\@MEx[0,0]}}
-\def\@MEx[#1,#2](#3,#4){%
- \def\PictureSize{(#1,#2)(#3,#4)}%
- \BeginExample}
-\def\endMEx{%
- \EndExample
- \SideBySideEx{%
- \expandafter\pspicture\PictureSize
- \ifgrid\usergrid\fi\relax
- \input{\jobname.tmp}%
- \endpspicture}}
-
-\def\SideBySideEx#1{%
- \trivlist\item[]%
- \leavevmode\kern-\@totalleftmargin
- \hbox{\valign{%
- \vfil##\vfil\cr
- \hbox to \z@{\hss#1}\cr
- \hbox to \leftmargini{\hss}\cr
- \@tempdimc=\textwidth
- \advance\@tempdimc-\leftmargini
- \advance\@tempdimc-\psframesep
- \advance\@tempdimc-\psframesep
- \advance\@tempdimc-\pslinewidth
- \advance\@tempdimc-\pslinewidth
- \hbox{\psframebox{\BVerbatimInput[frame=none,numbersep=2mm,
- boxwidth=\@tempdimc]{\jobname.tmp}}}\cr}}%
- \endtrivlist}
-
-\@namedef{MEx*}{\gridtrue\MEx}
-\@namedef{endMEx*}{\endMEx}
-
-% `fancyvrb' modificatons to be able to handle number lines
-% with the \BVerbatim environment and the \BVerbatimInput macro
-% (DG - 11/04/98)
-
-% D.G. modification begin - Nov. 4, 1998
-%\def\FV@BProcessLine#1{\hbox{\FancyVerbFormatLine{#1}}}
-\def\FV@BProcessLine#1{%
-\hbox\ifx\FV@boxwidth\relax\else to\FV@boxwidth\fi{%
-\FV@LeftListNumber
-\FV@LeftListFrame
-\FancyVerbFormatLine{#1}\hss
-\FV@RightListFrame
-\FV@RightListNumber}}
-% D.G. modification end
-
-% To be able to handle number lines with \BUseVerbatim macro
-% D.G. modification begin - Nov. 4, 1998
-%\def\BUseVerbatim{\FV@Command{}{BUseVerbatim}}
-\def\BUseVerbatim{\FV@Command{}{BNumbersUseVerbatim}}
-
-\def\FVC@BNumbersUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@BNumbersUseVerbatim}}
-
-\def\FV@BNumbersUseVerbatim#1{\FV@BNumbersVerbatimBegin#1\FV@BVerbatimEnd}
-
-\def\FV@BNumbersVerbatimBegin{%
- \begingroup
- \FV@UseKeyValues
- \FV@BeginVBox
- \let\FV@ProcessLine\FV@BNumbersProcessLine
- \FV@FormattingPrep
- \FV@ObeyTabsInit}%
-
-\def\FV@BNumbersProcessLine#1{%
-\global\advance\FV@CodeLineNo\@ne
-\FV@StepLineNo
-\FV@BProcessLine{#1}}
-% D.G. modification end
-
-%%%%%%%%%%%%%%%%%%%% Logos %%%%%%%%%%%%%%%%%%%%
-
-\def\b@LaTeX{%
- \begingroup
- \csname reset@font\endcsname
- \rmfamily\bfseries
- L\kern-.32em
- \raise.36ex\hbox{%
- \ifx\@currsize\Huge\LARGE\else
- \ifx\@currsize\huge\Large\else
- \ifx\@currsize\LARGE\large\else
- \ifx\@currsize\Large\normalsize\else
- \ifx\@currsize\large\small\else
- \ifx\@currsize\normalsize\footnotesize\else
- \ifx\@currsize\small\scriptsize\else
- \ifx\@currsize\footnotesize\scriptscriptsize
- \fi\fi\fi\fi\fi\fi\fi\fi
- \textbf{A}}%
- \kern-.15em
- T\kern-.1667em
- \lower.7ex\hbox{E}\kern-.125em
- X%
- \endgroup}
-\def\bLaTeX{\b@LaTeX}
-
-%DG \@ifundefined{AmSTeX}
-%DG {\def\AmSTeX{\leavevmode\hbox{$\cal A\kern-.2em\lower.376ex%
-%DG \hbox{$\cal M$}\kern-.2em\cal S$-\TeX}}}{}
-\@ifundefined{BibTeX}
- {\def\BibTeX{{\rmfamily B\kern-.05em{\sc i\kern-.025em b}\kern-.08em%
- T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}
-\@ifundefined{ConTeXt}
- {\def\ConTeXt{{\rmfamily Con\TeX t}}}{}
-%DG \@ifundefined{SliTeX}
-%DG {\def\SliTeX{{\rmfamily S\kern-.06emL\kern-.18em\raise.32ex\hbox
-%DG \textsc{i}\kern -.03em\TeX}}}{}
-\@ifundefined{PlainTeX}{\def\PlainTeX{\textsc{Plain}\kern2pt\TeX}}{}
-
-%%%%%%%%%%%%%%%%%%%% Quick reference %%%%%%%%%%%%%%%%%%%%
-
-%% The macro definitions are stored in in the command sequence
-%% \quickref as they appear in the text. This is much easier
-%% than trying to output the stuff to an auxiliary file and having
-%% to worry about catcodes.
-
-% An entry in \quickref is of the form: \qentry{type}{entry}
-\def\quickref{}
-\long\def\addtoquickref#1#2{%
- \expandafter\gdef\expandafter\quickref\expandafter{%
- \quickref\qentry{#1}{#2}}}
-\def\qentry#1{\@nameuse{qr@#1}}
-
-\long\def\addtoquickref#1#2{}
-
-\def\MakeQuickRef{%
- \long\def\addtoquickref##1##2{%
- \wlog{}%
- \toks@{\qentry{##1}{##2}}%
- \message{\the\toks@}%
- \wlog{}%
- \let\MakeQuickRef\relax}}
-
-%% For switching into landscape mode for the Quick Reference:
-\let\NormalShipout\shipout
-\newbox\OutputBox
-\def\LandscapeMode{%
- \long\def\shipout##1##2{%
- \setbox\OutputBox=\hbox{\rput[tl]{90}{\vbox{##2}}}%
- \NormalShipout\box\OutputBox}%
- \voffset 9in}
-
-% This makes the Quick Reference:
-\def\QuickReference{%
- \begin{Landscape}{\paperwidth}{\paperheight}{\rotateleft}
- \oddsidemargin 0pt
- \evensidemargin 0pt
- \topmargin -.5in
- \textheight 6.5in
- \textwidth 9in
- \columnsep 60pt
- \footskip 0pt
- \footheight 0pt
- \headheight 15pt
- \headsep 40pt
- \parskip 4pt plus 1pt minus 1pt
- \UsePageParameters
- \twocolumn
- \def\label##1{}
- \subsechang=-.25in
- \pagenumbering{Roman}
- \pagestyle{quickref}
- \MacroDefCodes
- \let\Main\string
- \let\MainFont\UsageFont
- \MainFont
- \quickref
- \end{Landscape}}
-\let\QuickReference\relax
-
-\def\ps@quickref{%
- \def\@oddhead{%
- \large\bfseries\sffamily
- \hbox to .5\textwidth{PSTricks v\Version\hfill}%
- \hbox to \z@{\hss Quick Reference\hss}%
- \hbox to .5\textwidth{\hfill\thepage}}
- \let\@evenhead\@oddhead
- \def\@oddfoot{}\def\@evenfoot{}}
-
-% For page numbering in the QR:
-\setbox\pst@boxg=\hbox{\UsageFont 99}
-\newdimen\refnumdim
-\refnumdim=\wd\pst@boxg
-\def\refnum#1{\hbox to \refnumdim{\hss\rmfamily\bfseries\pageref{#1}}}
-
-% Section commands that add an entry to the QR:
-\def\Section#1{\addtoquickref{section}{#1}\@checksec\section{#1}}
-\def\Subsection#1{\addtoquickref{section}{#1}\subsection{#1}}
-
-% This is just an error checker:
-\def\@checksec{%
- \def\@tempa{document}%
- \ifx\@tempa\@currenvir\else
- \@latexerr{\string\Section\space occurred inside
- \@currenvir\space environment}\@ehc
- \expandafter\end\expandafter{\@currenvir}%
- \expandafter\@checksec
- \fi}
-
-% The qr@ definitions:
-\def\qr@@object#1{\mbox{\begingroup\escapechar`\+%
- \refnum{\string#1}\endgroup\hskip 1em\string#1}}
-\def\qr@object#1{\qr@@object#1\par}
-\def\qr@@param#1=#2\@nil{\refnum{\string#1}}
-\def\qr@param#1{\leavevmode\hbox to\hsize{\qr@@param#1\@nil\hskip 1em#1}\par}
-\def\qr@section#1{\subsection*{#1}}
-\long\def\qr@center#1{\begin{center}#1\end{center}}
-
-%%%%%%%%%%%%%%%%%%%% Parts %%%%%%%%%%%%%%%%%%%%
-
-\font\bighelv=phvb at 88bp
-
-% Macro names changed for compatibility with `hyperref' (D.G. - 02/28/03)
-\def\part{\clearpage\leavevmode\@ifstar{\part@ii}{\part@i}}
-\def\part@i#1{%
- \refstepcounter{part}%
- \addcontentsline{toc}{part}{\protect\pnumberline{\thepart}#1}%
- \lower 20pt\hbox to \z@{\hss{\bighelv\Roman{part}}\hskip 2em}%
- \part@iii{#1}}
-\def\part@ii#1{\addcontentsline{toc}{part}{#1}\part@iii{#1}}
-\def\part@iii#1{%
-\markright{#1}{\sffamily\Huge\bfseries#1}\par\vskip 2cm\@afterheading}
-\def\thepart{\Roman{part}}
-% Problem with `hyperref' (D.G. - 02/28/03)
-%\def\pnumberline#1{\hbox to2cm{Part #1\hfill}}
-\def\pnumberline#1{Part #1\hspace{1cm}}
-
-\def\l@part#1#2{%
- \addpenalty{\@secpenalty}%
- \addvspace{\lpartskip}%
- \begingroup
- \@tempdima 1em
- \parindent \z@ \rightskip \@pnumwidth
- \parfillskip -\@pnumwidth
- {\large\bfseries\leavevmode#1\hfil \hbox to\@pnumwidth{\hss #2}}\par
- \nobreak
- \endgroup}
-\newskip\lpartskip
-\lpartskip 1.25em plus 1pt minus 1pt
-
-%%%%%%%%%%%%%%%%%%%% Parameter definitions and indexing %%%%%%%%%%%%%%%%%%%%
-
-% Like \MainEnvIndex, etc., but for parameters:
-\def\MainParIndex{\SpecialIndex{parameter}{main}}
-\def\UsageParIndex{\SpecialIndex{parameter}{usage}}
-
-% Like \MainPar, but for parameters. Can optionally include =foo.
-\def\MainPar#1{\@MainPar#1==\@nil}
-\def\@MainPar#1=#2=#3\@nil{%
- \MainParIndex{#1}%
- \label{#1}%
- {\MainFont #1\ifx#3=\relax=\MetaFont#2\fi}}
-
-% Analogous to \n, but optionally argument can include =foo.
-\def\p#1{\@p#1==\@nil}
-\def\@p#1=#2=#3\@nil{%
- \UsageParIndex{#1}%
- {\UsageFont #1\ifx#3=\relax=#2\fi}}
-
-% For listing parameter definitions in a {description} environment:
-\def\pitem[#1]{\@ifnextchar({\@pitem#1}{\@@pitem#1\@nil}}
-\def\@pitem#1=#2(#3){%
- \item[\MainFont#1=\MetaFont#2]% % Set the definition in \MainFont
- \MainParIndex{#1}%
- \label{#1}%
- \addtoquickref{param}{#1={\MetaFont #2}\hfill {\rmfamily Default:} #3}%
- \hfill {\MainFont {\rmfamily Default:} #3}\par}
-\def\@@pitem#1=#2\@nil{%
- \@ifundefined{default@#1}%
- {\@warning{Parameter `#1' default not defined.}\@eha\@pitem#1=#2()}
- {\@pitem#1=#2(\csname default@#1\endcsname)}}
-
-% Read in a list of defaults extracted from pstricks.doc:
-\begingroup
- \catcode`\@=12
- \catcode`\{=12
- \catcode`\}=12
- \catcode`\&=1
- \catcode`\^=2
- \def\psset@&%
- \begingroup
- \catcode`\\=12
- \pssetxx^
- \def\pssetxx#1{#2}&%
- \expandafter\gdef\csname default@#1\endcsname&#2^%
- \endgroup^
- \csname @input\endcsname&defaults.pst^
-\endgroup
-
-% For putting parameter definitions in an Ex environment:
-\def\Par#1{\@ifnextchar({\@Par#1}{\@@Par#1\@nil}}
-\def\@Par#1=#2(#3){%
- \leavevmode
- \MainParIndex{#1}%
- \label{#1}%
- \addtoquickref{param}{#1={\MetaFont #2}\hfill {\rmfamily Default:} #3}%
- \hbox to\linewidth{%
- \MainFont #1={\MetaFont#2}\hfill {\rmfamily Default:} #3}\par}
-\def\@@Par#1=#2\@nil{%
- \@ifundefined{default@#1}%
- {\@warning{Parameter `#1' default not defined.}\@Par#1=#2()}
- {\@Par#1=#2(\csname default@#1\endcsname)}}
-
-
-%%%%%%%%%%%%%%%%%%%% Macro definitions and indexing %%%%%%%%%%%%%%%%%%%%
-
-% There are four commands for listing macro definitions:
-% 1. \mitem : List in a description environment
-% 2. \oitem : Like \mitem, but optional *[par] automatically inserted.
-% 3. \object : List in a description environment.
-% 4. \Mac : Short for \begin{Ex}\object foo\end{Ex}.
-%
-% In each case:
-% 1. definition is delimited only by end-of-line.
-% 2. {}, () and [] are literal, with contents set in \MetaFont
-% 3. = and , are literal.
-% 4. `foo' is for optional arguments.
-% 5. <foo> is meta, as usual.
-
-\begingroup
- \catcode`\(=13
- \catcode`\,=13
- \catcode`\==13
- \gdef\MacroDefCodes{%
- \@MD
- \catcode`\(13
- \catcode`\^^M12
- \catcode`\`13
- \catcode`\,13
- \catcode`\!1
- \catcode`\@2
- \def~{}%
- \def={{\fontshape{n}\selectfont\string=}}%
- \def,{{\fontshape{n}\selectfont\string,}}%
- \def(##1){\string({\MetaFont ##1})}}
-\endgroup
-
-\begingroup
- \catcode`\`=13 \gdef`#1'{{\OpArgFont #1}}
-\endgroup
-
-\begingroup
- \catcode`\^^M=12\relax%
- \gdef\GetMacroDef#1{\begingroup\MacroDefCodes\@GetMacroDef{#1}}%
- \gdef\@GetMacroDef#1#2^^M{#1{#2}\endgroup}%
-\endgroup
-
-% For listing macro definitions in a "description" environment:
-\def\mitem{\GetMacroDef\@mitem}
-\def\@mitem#1{%
- \item[{\MainFont\Main#1}]%
- \addtoquickref{object}{#1}%
- \leavevmode\par}
-
-% For listing graphics object definitions in a {description} environment:
-% The optional *[par] is inserted automatically.
-\def\oitem{\GetMacroDef\@oitem}
-\def\@oitem#1{\@@oitem#1\@nil}
-\def\@@oitem#1#2\@nil{\@mitem{#1{\OpArgFont*[{\MetaFont par}]}#2}}
-
-% For generic macro definition, usually to be put in a displayed env.
-\def\object{\GetMacroDef\@object}
-\def\@object#1{\addtoquickref{object}{#1}{\MainFont\Main#1\@@par}}
-
-% For a single displayed macro definition:
-\def\Mac{\GetMacroDef\@Mac}
-\def\@Mac#1{\begin{Ex}\@object{#1}\end{Ex}}
-
-
-%% We must hack the generation of indexes modified by `hyperref'
-%% to generate the \hyperpage macro by ourselves (D.G. - 02/28/03)
-\def\@@wrindex#1|#2|#3\\{%
- \ifx\\#2\\%
- \protected@write\@indexfile{}{%
-% D.G. modification begin - Feb. 28, 2003
-% \string\indexentry{#1|hyperpage}{\thepage}%
- \string\indexentry{#1}{\thepage}%
-% D.G. modification end
- }%
- \else
- \def\Hy@temp@A{#2}%
- \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
- \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
- \relax
- \protected@write\@indexfile{}{%
- \string\indexentry{#1|#2}{\thepage}%
- }%
- \else
- \protected@write\@indexfile{}{%
- \string\indexentry{#1|#2hyperpage}{\thepage}%
- }%
- \fi
- \fi
- \endgroup
- \@esphack
-}
-
-%%%%%%%%%%%%%%%%%%%% Indexes %%%%%%%%%%%%%%%%%%%%
-
-\def\PrintUserIndex{%
- \clearpage
- \columnsep=20pt
- \advance\oddsidemargin\sechang
- \advance\evensidemargin\sechang
- \advance\textwidth-\sechang
- \sechang=0pt
- \onecolumn
- \@input{\jobname.ind}}
-
-%%%%%%%%%%%%%%%%%%%% Special indexing for User's Guides %%%%%%%%%%%%%%%%%%%%
-
-\@ifundefined{actualchar}{\def\actualchar{@}}{}
-\@ifundefined{quotechar}{\def\quotechar{"}}{}
-\@ifundefined{levelchar}{\def\levelchar{!}}{}
-\@ifundefined{encapchar}{\def\encapchar{|}}{}
-\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
-
-%% These are the indexing commands:
-
-%% Commands: \MainIndex \UsageIndex
-%% Environments: \MainEnvIndex \UsageEnvIndex
-%% Style options: \MainOptionIndex \UsageOptionIndex
-%% Counters: \MainCntIndex \UsageCntIndex
-
-\def\@Index#1{\@bsphack\index{#1}\@esphack}
-\def\Index#1#2{%
- \@bsphack
- \index{\expandafter\@gobble\string#2\actualchar\string
- \verb\quotechar*\verbatimchar\string#2\verbatimchar
- \encapchar #1}}
-{\catcode`\!=0 !catcode`!\=12!gdef!special@gobble#1{!if\#1!else#1!fi}}
-\def\MainIndex{\Index{main}}
-\def\UsageIndex{\Index{usage}}
-\def\SpecialIndex#1#2#3{%
- \@Index{#3\actualchar{\ttfamily #3} (#1)\encapchar #2}%
- \@Index{#1s:\levelchar{\ttfamily #3}\encapchar #2}}
-\def\MainEnvIndex{\SpecialIndex{environment}{main}}
-\def\UsageEnvIndex{\SpecialIndex{environment}{usage}}
-\def\MainOptionIndex{\SpecialIndex{option}{main}}
-\def\UsageOptionIndex{\SpecialIndex{option}{usage}}
-\def\MainCntIndex{\SpecialIndex{counter}{main}}
-\def\UsageCntIndex{\SpecialIndex{counter}{usage}}
-
-%% Font for index page numbers:
-%% We add hyperlinks (D.G. - 02/28/03)
-\def\main#1{\textbf{\hyperpage{#1}}}
-\def\usage#1{\hyperpage{#1}}
-
-%% These combine various functions:
-
-%% Commands: \Main \Usage
-%% Environments: \MainEnv \UsageEnv
-%% Style options: \MainOption \UsageOption
-%% Counters: \MainCnt \UsageCnt
-
-%% The "Main" ones
-%% * Index argument.
-%% * Print argument with \MainFont
-%% * Create label +foo, e+foo or o+foo.
-
-%% The "Usage" ones
-%% * Index argument.
-%% * Print argument with \UsageFont.
-
-\def\SpecialLabel#1#2+{\label{+#2}}
-\def\LabelIndex#1{\MainIndex{#1}\expandafter\SpecialLabel\string#1+}
-\def\Main#1{%
- \MainIndex{#1}%
- \expandafter\SpecialLabel\string#1+%
- {\MainFont\string#1}}
-\def\Usage#1{\UsageIndex{#1}{\UsageFont\string#1}}
-\def\MainEnv#1{%
- \MainEnvIndex{#1}%
- \label{e+#1}%
- {\MainFont #1}}
-\def\UsageEnv#1{\UsageEnvIndex{#1}{\UsageFont #1}}
-\def\MainOption#1{%
- \MainOptionIndex{#1}%
- \label{o+#1}%
- {\MainFont #1}}
-\def\UsageOption#1{\UsageOptionIndex{#1}{\UsageFont #1}}
-\def\MainCnt#1{%
- \MainCntIndex{#1}%
- \label{c+#1}%
- {\MainFont #1}}
-\def\UsageCnt#1{\UsageCntIndex{#1}{\UsageFont #1}}
-
-%% These are abbreviations.
-\def\N{\Main}
-\def\n{\Usage}
-\def\E{\MainEnv}
-\def\e{\UsageEnv}
-\def\O{\MainOption}
-\def\o{\UsageOption}
-\def\C{\MainCnt}
-% D.G. modification begin - Mar. 4, 2003
-% The \c macro was already defined for coordinates
-%\def\c{\UsageCnt}
-% D.G. modification end
-
-%% User's guide and documented code have different index prologue.
-\def\PrintUserIndex{{\let\ps@plain\@empty\@input{\jobname.ind}}}
-
-%% This is for listing commands in a description environment.
-\def\xitem#1{\item[\Main{#1}]}
-
-\begingroup
- \catcode`\<=1 \catcode`\>=2
- \catcode`\{=13 \catcode`\}=12
- \catcode`\[=13
- \gdef\@MD<%
- \catcode`\{=13 \catcode`\}=12 \catcode`\[=13
- \def{##1}<\{<\MetaFont ##1\/>\}>%
- \def[##1]<\string[<\MetaFont ##1\/>]>>
-\endgroup
-\def\MD{%
- \NotNested
- \Ex
- \begingroup
- \@MD
- \def\end{\par\endgroup\end}%
- \def\\{\@centercr\Main}%
- \MainFont
- \Main}
-\def\endMD{\endEx}
-
-%%%%%%%%%%%%%%%%%%%% Framed warnings %%%%%%%%%%%%%%%%%%%%
-
-\newbox\bombbox
-\setbox\bombbox=\hbox to\z@{%
- \hss
- \rput[r](-1.5cm,0){%
- \psset{unit=7pt}
- \begin{pspicture}(-4,-4)(4,4)
- \pscircle[fillcolor=gray,fillstyle=solid]{4}
- \rput{45}{\psscaleboxto(6,0){PS\kern-1pt}}
- \psellipse*(0,3.8)(1,.2)
- \psellipse*(0,5.5)(1,.2)
- \psframe*(-1,3.8)(1,5.5)
- \psbezier(0,5.5)(0,7)(1,8)(3.5,8)
- \multido{\r=-0+40}{9}{\rput{\r}(3.5,8){\psline(0,0)(.4,0)}}
- \end{pspicture}}}
-
-\def\Warning{%
- \trivlist\item[]
- \leavevmode\kern\@totalleftmargin
- \valign\bgroup%
- \vfil##\vfil\cr
- \copy\bombbox\cr
- \minipage{\textwidth}
- \quote
- \emph{Warning:}\hskip 1em
- \ignorespaces}
-\def\endWarning{\endquote\endminipage\cr\egroup\endtrivlist}
-
-\newbox\filebox
-\setbox\filebox=\hbox{%
- \pspicture(-1,-.5)(1,.7)
- \pspolygon[linearc=2pt,shadow=true,shadowangle=45,xunit=1.1]%
- (-1,-.55)(-1,.5)(-.8,.5)(-.8,.65)(-.2,.65)(-.2,.5)(1,.5)(1,-.55)
- \endpspicture}
-\def\File#1{%
- \leavevmode
- \marginpar{%
- \leavevmode\lower 20pt\hbox{%
- \hbox to0pt{\hbox to \linewidth{\hss\copy\filebox\hss}\hss}%
- \raise 10pt\hbox to \linewidth{\hss\large\bfseries\sffamily #1\hss}}}%
- \ignorespaces}
-
-
-%%%%%%%%%%%%%%%%%%%% Miscellaneous %%%%%%%%%%%%%%%%%%%%
-
-% Driver notes:
-\def\drivers{\noindent\small Driver notes:\hskip 1em\ignorespaces}
-
-\endinput
-
-%% END pst-user.cls
diff --git a/Master/texmf-dist/source/generic/pstricks/pst-user.ist b/Master/texmf-dist/source/generic/pstricks/pst-user.ist
deleted file mode 100644
index a00718a2e08..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/pst-user.ist
+++ /dev/null
@@ -1,7 +0,0 @@
-% headings_flag 1
-% heading_prefix "{\\Large\\textbf{Letter}"
-% heading_suffix "}"
-
-delim_0 " \\dotfill \ "
-delim_1 " \\dotfill \ "
-delim_2 " \\dotfill \ "
diff --git a/Master/texmf-dist/source/generic/pstricks/pst-user.tex b/Master/texmf-dist/source/generic/pstricks/pst-user.tex
deleted file mode 100644
index 08ef5b2bc5b..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/pst-user.tex
+++ /dev/null
@@ -1,87 +0,0 @@
-%% BEGIN pst-user.tex
-%%
-%% LaTeX file pst-user.tex. Source for the PSTricks User's Guide.
-%%
-%% COPYRIGHT 1993-2003, by Timothy Van Zandt, tvz@econ.insead.fr
-%% COPYRIGHT 2008, by Herbert Voss, voss@pstricks.de
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the Artistic License.
-%% A copy of that license is included in the file artistic.txt.
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Under normal circumstances, you do not need to LaTeX this file because
-%% the User's Guide is distributed with the PSTricks package, already
-%% typeset and converted to PDF in the file pst-user.pdf.
-%%
-%% If you do need/want to run it again, here is what to do:
-%%
-%% * You must have installed the PSTricks package.
-%%
-%% * You must have the LaTeX packages `fancybox', `fancyvrb', `geometry',
-%% `hyperref' and the file "pst-user.cls" which is the document class
-%% to format this documentation.
-%%
-%% * An index, pst-user.ind, is also distributed with PSTricks. You
-%% can use makeindex, without any special styles, to remake the index.
-%%
-%% * Style options:
-%% a4paper : For A4 paper.
-%% twoside : For two-sided printing.
-%% 2up : For two-up printing.
-%% makeindex : Create a new idx file for making an index.
-%% (it is not necessary to remake the index,
-%% if you make no other changes.)
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\listfiles
-
-%\documentclass[a4paper]{pst-user}
-%\documentclass[11pt,makeindex]{pst-user}
-\documentclass[11pt]{pst-user}
-
-\def\Date{07/12/10}
-\def\Version{1.5}
-
-\includeonly{%
- psd-cove,%
- psd-esse,%
- psd-basi,%
- psd-para,%
- psd-cust,%
- psd-pict,%
- psd-text,%
- psd-node,%
- psd-tree,%
- psd-fill,%
- psd-3d,%
- psd-spec,%
- psd-help%
-}
-
-\makeindex % Comment it to do regenerate the index
-
-\begin{document}
-
-\include{psd-cove} % Cover page; Table of Contents
-\include{psd-esse} % Welcome to PSTricks; The essentials
-\include{psd-basi} % Basic graphics objects
-\include{psd-para} % More graphics parameters
-\include{psd-cust} % Custom graphics
-\include{psd-pict} % Picture tools
-\include{psd-text} % Text tricks
-\include{psd-node} % Nodes and node connections
-\include{psd-tree} % Trees
-\include{psd-fill} % Filling and tilings
-\include{psd-3d} % 3d graphics
-\include{psd-spec} % Special Tricks
-\include{psd-help} % Help (appendix)
-
-\PrintUserIndex % Comment out to suppress index
-\QuickReference % Comment out to suppress quick reference
-
-\end{document}
-
-%% END pst-user.tex