summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-06-22 10:07:49 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-06-22 10:07:49 +0000
commit9e4f6fc5a8c0bb587b302b8c7f1c85767bab67df (patch)
treeddfab0e5c68d38bace224d898a704de5dd4396a2 /Master/texmf-dist/doc/generic
parentf56f5c2bd174eec41eda5091640366a52fccaac3 (diff)
real pstricks update (oops) 21jun08
git-svn-id: svn://tug.org/texlive/trunk@8922 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Changes.generic83
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Changes.latex28
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/Makefile105
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/defaults.pst149
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/changes.pdfbin0 -> 62337 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/changes.tex662
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/chartest.pdfbin0 -> 10025 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/chartest.tex25
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/denis1.pdfbin0 -> 21760 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/denis1.tex41
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/denis2.pdfbin0 -> 5005 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/denis2.tex36
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/filetest.dat71
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/filetest.pdfbin0 -> 12054 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/filetest.raw6
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/filetest.tex84
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/pst-test.pdfbin0 -> 16781 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/pst-test.tex126
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/samples.pdfbin0 -> 47029 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/samples.tex443
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/tp-test.pdfbin0 -> 16906 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/tp-test.tex72
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-3d.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-basi.tex648
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-cove.tex108
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-cust.tex406
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-esse.tex392
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-fill.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-help.tex332
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-node.tex1279
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-para.tex345
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-pict.tex500
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-spec.tex500
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-text.tex260
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/psd-tree.tex816
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-user.cls1111
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-user.ist7
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-user.tex87
38 files changed, 1705 insertions, 7041 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.generic b/Master/texmf-dist/doc/generic/pstricks/Changes.generic
new file mode 100644
index 00000000000..7f6e9558747
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/Changes.generic
@@ -0,0 +1,83 @@
+pstricks.tex --------
+1.24 2008-06-17 - added \psDEBUG[#1]#2 for better dubugging
+1.23 2008-05-23 - add octogon symbol (hv)
+ - fix bug with D>-<D (hv)
+1.22 2008-04-14 - added shift=* option to get vertically centered
+ pspicture box. It is the old \pspciture[0.5] option
+ - add \pscircleOA(center)(point on the circle)
+1.21 2008-01-24 - changed code for transparency making distiller work
+1.20 2008-01-01 - added opacity for normal stroke operation (lines)
+ - added the arrowtype <D-D> and <D<D-D>D>, which draws the
+ sides as betier curves (ArrowD type in pstricks.pro)
+ - add special coor type (*x f(x)), which invokes the
+ algebraic parser for f(x) before using the default
+ (!x y) coor type
+ - add option linejoin=0,1,or 2 for connecting lines
+ - add option linecap=0,1,or 2 for line ends
+ - small tweaks to psellipticarc x y -> xOrig yOrig
+ - fix introduced bug with \newpsstyle: \pst@tempa->\pst@tempA
+ - add PS subroutines /UserCoor and /ScreenCoor for easy
+ transforming into user or screen coordinates
+ - changed wrong name of \psk@shift to \pst@shift
+ - fix bug with pst-node and \\[name=...]. It now uses
+ \ps@ifnextchar for scanning the next token
+ - fix bug with pst@tempg in \polar@coor. It was already used in
+ \pst@getangle.
+ - new option gridfont for the label font of \psgrid
+ can now be any of the PS-fonts Helvetica (Default),
+ Times-Roman, Palatino-Roman, ...
+1.15a 2007-01-05 - \parabola->\psparabola (old name still valid) (hv)
+1.15 2006-12-19 - add support for more dot styles (from Etienne Riga)
+1.14c 2006-04-29 - add option linecap for dashed lines
+1.14b 2006-04-20 - fix a bug in \psset@linetype
+1.14a 2006-02-06 - revert the changes for pslongbox (introduced bug)
+1.14 2005-12-17 - make the color part compatible to color/xcolor
+1.13 2005-12-15 - fix bug of \psdot*
+1.12 2005-10-25 - spurious blank for \multirput
+ - shift only for an absolute length
+ - add the missing arrows ]-[)-(
+1.11 2005-09-08 - rename \rotateleft | right | down to
+ \psrotateleft | right | down to be consistant to the
+ other PSTricks macro names
+ - new fillstyle options
+ - move the code for arcs of an ellipse into pstricks.pro
+1.10 2005-08-13 - fix bug with \multips (spurious blank) (hv)
+ - allow empty optional arrow argument \psline[..]{}(2,2)
+ - redefined \psarc@iv for negative loops of \nccircle
+ - introduce new options shift and showgrid for the
+ main pspicture environment
+ - rename \scalebox and \scaleboxto to
+ \psscalebox(to) to be consistant to the
+ other PSTricks macro names
+1.08 2005-06-02 fix bug with \multips (spurious blank) (hv)
+1.07 2005-05-06 make \nccircle working for counter-clockwise
+ orientation (hv)
+1.06 2005-02-24 fix spurious blank in doublestroke (hv)
+
+
+pst-node.tex --------
+1.00 2007-08-18 - new option pcRef for the first node (hv)
+ - new option Circle for psmatrix (hv)
+ - fix bug with pst-node and \\[name=...]. It now uses
+ \ps@ifnextchar for scanning the next token (defined
+ in pstricks.tex)
+
+
+pst-plot.tex --------
+1.02 2008-03-21 - added an additional optional argument for \psaxes
+ which allows to put labels at the end of the axes
+ [Xtext,Xangle,Ytext,Yangle]
+1.01 2008-01-26 - make negative Dx/Dy work (hv)
+1.00 2007-06-26 - added two new line style LineToXaxis/LineToYaxis (hv)
+
+
+pst-tree.tex --------
+1.00 2007-01-03 - fix bug with \endpsTree (hv)
+
+
+xdvipdfmx.con ------
+0.01 2007-03-11 - first CTAN version, must be renamed to pstricks.con
+ when used with XeTeX
+
+vtex.con ------
+0.02 2008-01-01 - disable transparent color setting
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.latex b/Master/texmf-dist/doc/generic/pstricks/Changes.latex
new file mode 100644
index 00000000000..a1116de2b6d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/Changes.latex
@@ -0,0 +1,28 @@
+pstricks.sty --------
+0.37 2008-01-24 - add option distiller for transparent colors
+0.36 2008-01-22 - Better error message, when the document
+ has the same name than a PSTricks file. (RN)
+0.35 2008-01-01 - add message for loading pstalpparser.pro
+ - add option vtex to disable opacity values
+0.34 2007-09-13 - add message for loading pstricks.pro
+ - and pst-dots.pro (hv)
+0.33 2007-02-18 set initial color (hv)
+0.32 2006-08-10 message for loading the pro file (hv)
+0.31 2005-12-19 one more step to a better color support (hv)
+0.30 2005-11-15 drop test for pstcol
+ fix bug with xcolor (hv)
+0.24 2005-08-30 drop support for \sclabox check, it is now renamed
+ in pstricks.tex (hv)
+0.23 2005-06-02 Option DIA to prevent a clash with \scalebox (hv)
+0.22 2005-02-25 changes were done in the wrong version
+0.21 2005-02-21 fix problem with \newrgbcolor (RN,hv)
+
+pst-node.sty --------
+ 2007-09-13 add message for loading pst-node.pro (hv)
+ 2006-01-01 message for loading the pro file
+
+pst-all.sty --------
+ 2008-01-01 load pstricks-add
+ 2007-09-13 change order of the packages
+ 2006-12-19 do not load pst-char, it is now part of pst-text
+ \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pstricks/Makefile b/Master/texmf-dist/doc/generic/pstricks/Makefile
index ce772c9e8cd..38c4f089a4f 100644
--- a/Master/texmf-dist/doc/generic/pstricks/Makefile
+++ b/Master/texmf-dist/doc/generic/pstricks/Makefile
@@ -1,97 +1,48 @@
-# Rolf Niepraschk, niepraschk@ptb.de, 2003-02-23
+# `Makefile' for `pst-3dplot.pdf', hv, 2007/03/17
-.SUFFIXES : .tex .dvi .ps .pdf .eps
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
-MAIN = pst-user
+PACKAGE = pst-news2008
-# 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
+MAIN = $(PACKAGE)
-PICS := $(PICS:.eps=.pdf)
+LATEX = latex
-# 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)
-ARCHNAME = $(MAIN)-$(shell date +%y%m%d).zip
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
-# D.G. modification begin - Mar. 7, 2003
-TARNAME = $(MAIN)-$(shell date +%y%m%d).tar
-# D.G. modification end
+all : doc clean
+doc: $(MAIN).pdf
-# D.G. modification begin - Feb. 28, 2003
-#all : $(MAIN).pdf $(MAIN)-old.pdf
-all : $(MAIN).pdf
-# D.G. modification end
+$(MAIN).pdf : $(MAIN).ps
+ GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
+$(MAIN).ps : $(MAIN).dvi
+ dvips $<
-$(MAIN).dvi : $(MAIN).tex $(ADDINPUTS)
+$(MAIN).dvi : $(MAIN).tex
+ $(LATEX) $<
+ $(LATEX) $<
+ if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
+ if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
+ makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
+ $(basename $<).glo
+ makeindex -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
$(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
+ $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
+ $(RM) $(addprefix $(MAIN), .dvi .ps)
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
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
arch :
- zip $(ARCHNAME) $(MAIN).tex $(ADDINPUTS) pst-user-old.tex Makefile
- @ echo ; echo $(ARCHNAME) ; echo
+ zip $(ARCHNAME).zip $(ARCHFILES)
-# 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
+# EOF
diff --git a/Master/texmf-dist/doc/generic/pstricks/defaults.pst b/Master/texmf-dist/doc/generic/pstricks/defaults.pst
deleted file mode 100644
index 4e3ba5f27f2..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/examples/changes.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/changes.pdf
new file mode 100644
index 00000000000..7d921997282
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex b/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex
new file mode 100644
index 00000000000..d431a41be2c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex
@@ -0,0 +1,662 @@
+%% BEGIN changes.tex
+%%
+%% Changes listing for PSTricks.
+%% Run with LaTeX, with or without the NFSS.
+%%
+%% Change these for a4 paper:
+%\def\paperwidth{8.5in}
+%\def\paperheight{11in}
+
+\def\FileVersion{0.93a}
+\def\FileDate{March 12, 1993}
+
+\documentclass[11pt,a4paper]{article}
+\usepackage[T1]{fontenc}
+
+%% PAGE PARAMETERS
+
+\usepackage{fancybox}
+% Paragraphs are marked by large space rather than indentation:
+\parindent 0pt
+\parskip 6pt plus 1pt minus 1pt
+
+% No headers, 1in top margin
+\usepackage[dvips]{geometry}
+\geometry{tmargin=0pt,bmargin=3.3cm,headheight=0pt,headsep=0pt,
+textheight=9in, footskip=.625in}
+\usepackage[scaled]{luximono}
+\usepackage{mathpazo}
+
+
+% Now adjust for different paper size:
+\newdimen\mydim
+\mydim=\paperwidth
+\advance\mydim-8.5in
+\divide\mydim 2
+\advance\oddsidemargin \mydim
+\advance\evensidemargin \mydim
+\mydim=\paperheight
+\advance\mydim-11in
+\divide\mydim 2
+\advance\topmargin \mydim
+
+%% OTHER
+
+\renewcommand{\EveryVerbatimLine}[2]{}
+
+% Short meta (works in verbatim. Can't use < for other purposes.
+\catcode`\<=13 \def<#1>{{\rm\it #1\/}} % <meta> (works in verbatim)
+
+% Short verbatim.
+\catcode`\"=13
+\def"{\verb"}
+
+\catcode`\@=12 % In case I'm using AmS-LaTeX
+
+\begin{document}
+
+\begin{center}
+{\large\bfseries Changes listing for PSTricks}\\[6pt]
+ Version \FileVersion\\
+ \FileDate\\[6pt]
+ Timothy Van Zandt\\
+ tvz@Princeton.EDU
+\end{center}
+
+ The PSTricks package is still preliminary. The features list
+ and user interface are unlikely to change much in the short term, but
+ the internal code is not stable.
+
+\section{VERSION 0.93 and 0.93a}
+
+ There have been substantial changes (hopefully for the last time).
+
+ This section describes the changes from 0.92 to 0.93a. The only differencea
+between 0.93 and 0.93a are that a bug in "\nccircle" was fixed, and the
+features in "\pst-old.tex" where either incorporated into the main files
+("\Rput", "\Lput", "\Mput", "\Polar" and "\Cartesian") or eliminated entirely
+("\NewPsput", "\OldPsput" and the old "\pscustom" commands). What is described
+\subsection{Incompatible changes}
+
+ {\bf
+ These changes may require modification to files prepared with version 0.92.
+Sorry about the inconvenience. To avoid letting new changes catch you by
+surprise, get on the PSTricks mailing list.}
+\begin{enumerate}
+
+\item
+ "\SpecialCoor" has changed completely. See User's Guide for details. Most of
+these changes were announced shortly after the release of v0.92, but
+"pst-beta.tex" users should note that raw PostScript coordinates are now
+delimited by "!" rather than by ":".
+
+ {\bfseries How to fix files:} Search for "\SpecialCoor" in your file. Change the
+old syntax to the new syntax according to this table:
+ \begin{center}
+ \begin{tabular}{ccl}
+ {\em Old} & {\em New} & {\em Type}\\[2pt]
+ "(c<x>,<y>)" & "(<x>,<y>)" & Cartesian.\\
+ "(p<r>,<a>)" & "(<r>;<a>)" & Polar.\\
+ "(n{<node>})" & "(<node>)" & Center of <node>.\\
+ "(N[<par>]{<node>})" & "([<par>]<node>)" & Relative to <node>.\\
+ "(m{<coor1>}{<coor2>})" & "(<coor1>|<coor2>)" & Mixed.
+ \end{tabular}
+ \end{center}
+In addition, if you used the syntax "(:<ps>)" from "pst-beta.tex" for raw
+postscript code, search for "(:" and replace by "(!".
+
+\item
+ Angles can no longer be specified by "{<x>,<y>}". "\SpecialCoor" lets you
+use coordinates as angles, but they must be enclosed in "()". E.g.,
+"{(<x>,<y>)}". See User's Guide for details.
+
+ {\bfseries How to fix files:} Add the parentheses "()" to angles given by
+"{<x>,<y>}" and and precede this usage by "\SpecialCoor". However, there is no
+easy way to search for "{<x>,<y>}" (unless you are good at using Unix's
+regular expressions). On the other hand, you probably didn't use this features
+much, and it will be easier to just wait for the old usage to cause errors.
+
+\item
+ The
+\begin{LVerbatim}
+ arrowsize=<dim num1 num2 num3>
+\end{LVerbatim}
+parameter has been replaced by
+\begin{LVerbatim}
+ arrowsize=<dim num1>
+ arrowlength=<num2>
+ arrowinset=<num3>
+\end{LVerbatim}
+
+ {\bfseries How to fix files:}
+ Search for "arrowsize", and break up your parameter change. You can also
+just do nothing, because if you use the old syntax for "arrowsize", <num2> and
+<num3> will simply be ignored.
+
+\item
+ The
+\begin{LVerbatim}
+ tbarsize=<dim num1 num2>
+\end{LVerbatim}
+parameter has been replaced by
+\begin{LVerbatim}
+ tbarsize=<dim num1>
+ bracketlength=<num2> % For square brackets.
+ rbracketlength=<num2> % For round brackets.
+\end{LVerbatim}
+
+ {\bfseries How to fix files:}
+ Search for "tbarsize", and break up your parameter change. You can also just
+do nothing, because if you use the old syntax for "tbarsize", <num2> will
+simply be ignored.
+
+\item
+ "\pscustom" has changed substantially. E.g., (i) there is no "(x,y)"
+argument, (ii) plots ("\psplot", etc.) no longer run backwards, and (iii) the
+treatment of the currentpoint is much different. Also, most of the special
+commands for use only within "\pscustom" have changed. See the User's Guide
+for details.
+
+ {\bfseries How to fix files:}
+ You must search for each use of "\pscustom", and make the following changes:
+ \begin{itemize}
+ \item Replace "\pscustom"'s old "(<x>,<y>)" argument by "\moveto(<x>,<y>)"
+at the beginning of "\pscustom"'s main argument.
+
+ \item Make the following substitutions inside "\pscustom"'s main argument:
+ \begin{center}
+ \begin{tabular}{ll}
+ {\em Old} & {\em New}\\[2pt]
+ "\pscode" & "\code"\\
+ "\pscoor" & "\coor"\\
+ "\psdim" & "\dim"\\
+ "\psmove" & "\moveto"\\
+ "\psclosepath" & "\closepath"\\
+ "\psgroup{<stuff>}" & "\gsave" <stuff> "\grestore"\\
+ "\psstroke" & "\stroke"\\
+ "\psfill" & "\fill"
+ \end{tabular}
+ \end{center}
+ You can instead define, e.g.,
+ \begin{quote}
+ "\def\pscode{\code}" , or\\
+ "\newcommand{\pscode}{\code}"
+ \end{quote}
+ and
+ \begin{quote}
+ "\def\psgroup#1{\gsave #1 \grestore}" , or\\
+ "\newcommand{\psgroup}{\gsave #1 \grestore}"
+ \end{quote}
+
+ \item Check the output from your "\pscustom" command. If, after making the
+above changes, things come out differently than inspected, it is probably
+because the plot commands run ``forwards'' rather than ``backwards'', or
+because of the new way that "\pscustom" treats the current point. Fix these on
+a case-by-case basis.
+ \end{itemize}
+
+\item
+ "\listplot", "\psplot" and "\parametricplot" no longer have an "(<x>,<y>)"
+argument. Use the "origin" parameter instead.
+
+ {\bfseries How to fix files:}
+ Search for "\listplot", "\psplot" and "\parametricplot". Replace any
+"(<x>,<y>)" argument by the parameter change "[origin={<x>,<y>}]".
+
+\item
+ To suppress labels with "\psaxes", use "labels=none/x/y", rather than
+setting "Dx" and "Dy" to empty values.
+
+ {\bfseries How to fix files:}
+ Search for "=}", "=," and "=]". Remove the "Dx=," and other such parameter
+settings you find, and replace instead by "labels=none/x/y", depending on
+whether you want no labels, labels on the x-axes only, or labels on the y-axis
+only.
+
+\item
+ The "\scalebox" macro should use a space rather than a comma to separate the
+x and y scaling factors, when two scaling factors are given.
+
+ {\bfseries How to fix files:}
+ Wait to get error about bad numbers, or search for "\scalebox" and replace
+"\scalebox{<num1>,<num2>}" by "\scalebox{<num1> <num2>}".
+
+\item
+ The "dblframewidth" parameter is gone, because "\psdblframebox" is now just
+a variant of "\psframebox" with "doubleline=true". The width of each frame is
+now just "linewidth"
+
+ {\bfseries How to fix files:}
+ Search for "dblframewidth" and replace the parameter setting be a
+"linewidth" parameter setting.
+
+\item
+ The "\OldPsput" and "\Newpsput" commands are gone. These were originally
+devised to retain compatibility with an older version of PSTricks that had a
+"\psput" command instead of "\rput".
+
+ {\bfseries How to fix files:}
+ If you used "\psput" with the new syntax, then search for "\psput" and
+replace by "\rput".
+
+ If you used "\psput" with the old syntax, then either search for "\psput"
+commands and replace with "\rput" commands with the new syntax, or put the
+following in a file so that the "\OldPsput" command defines "\psput" with the
+old syntax:
+\begingroup\catcode`\<=12
+\begin{LVerbatim}
+ \def\old@psput{\begingroup\old@psput@}
+ \def\old@psput@{%
+ \def\refpoint@x{.5}\def\refpoint@y{.5}%
+ \pst@ifstar{\@ifnextchar[%
+ {\old@psput@i}{\def\pst@rot{}\old@psput@ii}}}
+ \def\old@psput@i[#1]{\pst@getangle{#1}\pst@rot\old@psput@ii}
+ \def\old@psput@ii{\@ifnextchar<{\old@psput@iii}{\old@psput@iv}}
+ \def\old@psput@iii<#1>{\pst@@getref\old@psput@iv[#1]}
+ \def\old@psput@iv{%
+ \@ifnextchar({\end@psput\rput@i}{\end@psput\rput@i(0,0)}}
+ \def\OldPsput{\let\psput\old@psput}
+ \def\NewPsput{\let\psput\rput}
+\end{LVerbatim}
+\endgroup
+
+\end{enumerate}
+
+
+\subsection{New files with old stuff}
+
+Remember to input these files when needed. To have these files loaded
+automatically, put an "\input" command after "\customization" in the
+configuration file ("pstricks.con").
+
+\begin{description}
+
+\item[pst-node]
+ All the node stuff has been put in "pst-node.tex" / "pst-node.sty".
+
+\item[pst-plot]
+ The plot commands ("\psplot", etc.) and the "\psaxes" command have been put
+in "pst-plot.tex" / "pst-plot.sty". ("pst-plot.tex" automatically loads
+"multido.tex", which is required by the axes macros.) There are also some
+variants of "\listplot", "\fileplot" and "\dataplot", that are less likely to
+exceed PostScript operand stack limits.
+
+\item[colortab]
+ The table coloring commands have been put in "colortab.tex" /
+"colortab.sty". This is no longer PSTricks specific, but most of the old stuff
+works the same as before. The only exception is that "\omit{}" is not needed
+when a column is not to be colored. The documentation for "colortab.tex" is in
+"colortab.doc". There are also some new features:
+\begin{itemize}
+\item
+ "\SP" and "\RP": These let "\LCC" ... "\ECC" work with nested arrays or
+"\multicolumns" when using Mittelbach's array.sty. See "colortab.doc" for
+details.
+
+\item
+ "LColors", "\LC", "\LCi", "\LCii", "\LCiii", "\LCz", for shading the cells
+in the "longtable" environment. See "colortab.doc" for details.
+
+umns when using Mittelbach's array.sty. See "colortab.doc" for details.
+
+\item
+ "LColors", "\LC", "\LCi", "\LCii", "\LCiii", "\LCz", for shading the cells
+in the "longtable" environment. See "colortab.doc" for details.
+\end{itemize}
+
+\end{description}
+
+\subsection{Obsolete but retained features}
+
+ The features listed below are obsolete and are documented in footnotes.
+
+\begin{itemize}
+\item
+ "\Polar": Use "\SpecialCoor" and "(r;a)" instead.
+
+\item
+ "\Cartesian(x,y)" Use "\psset{xunit=x,yunit=y}" instead.
+
+\item
+ "\Rput": Use "\uput" instead.
+
+\item
+ "\Lput" and "\Mput": Use "\aput", "\bput", "\Aput" and "\Bput" instead.
+
+\end{itemize}
+
+\subsection{New features}
+
+This is a partial listing. See also the next section on new files.
+
+\begin{itemize}
+
+\item
+ "\uput": Replaces "\Rput".
+
+\item
+ "\aput", "\bput", "\Aput", "\Bput": Replace "\Lput" and "\Mput".
+
+\item
+ "\clipbox" has optional argument "[<dim>]" that sets the clippath distance
+<dim> from box. E.g., "\clipbox[1pt]{foo}".
+
+\item
+ "\newpsstyle": E.g.,
+\begin{LVerbatim}
+ \newpsstyle{foo}{linewidth=5pt,linestyle=dashed}
+ \psline[style=foo](4,5)
+\end{LVerbatim}
+
+\item
+ "\PSTricksOff" suppresses the PostScript. Useful for printing or previewing
+drafts of your document with a non-PostScript driver.
+
+\item
+ New arrow styles: {\catcode`\<=12 \tt
+ >-<, <<->>, >>-<<. |*-|* }.
+
+\item
+ Many new features for the "\pscustom" command.
+
+\item
+ "dimen" parameter (for controlling whether dimensions for "\psframe",
+"\pscircle", "\pswedge" and "\psellipse" refer to the inside, outside or
+middle of the boundary.
+
+\item
+ "bordercolor" parameter.
+
+\item
+ "doubleline", "doublesep" and "doublecolor" parameters.
+
+\item
+ "ticks" and "labels" parameters, for suppressing ticks and labels with
+"\psaxes".
+
+\item
+ "shadow" and "shadowangle" parameters.
+
+\item
+ Shadow parameters now apply to all graphics objects.
+
+\item
+ "\psmathboxtrue", "\psmathboxfalse", for controling whether box
+ macros preserve math mode.
+
+\item
+ "\pslongbox": For making box environment out of box commands.
+
+\item
+ "\psverbboxtrue", "\psverbboxfalse": For controlling whether verbatim
+ text is allowed in box commands.
+
+\end{itemize}
+
+\subsection{New files with new stuff}
+
+\begin{description}
+
+\item[pst-coil]
+ Contains "\pscoil", "\psCoil", "\pszigzag", "\nccoil" and "\nczigzag". Uses
+"pst-coil.pro" (optionally).
+
+\item[pst2eps]
+ Contains "\TeXtoEPS", to make it easier to convert \TeX\ boxes to EPS files
+with dvips, and "\PSTtoEPS", for creating EPS files directly from PSTricks
+graphics.
+
+\item[textpath]
+ Contains "\pstextpath" command, for typesetting text along a path. Use
+"textpath.pro".
+
+\item[gradient]
+ "gradient" fillstyle. Uses "gradient.pro".
+
+\item[charpath]
+ Contains "\pscharpath" command, for stroking and filling character paths.
+Also, "\pscharclip" ... "\endpscharclip" sets clipping path as well.
+
+\item[piecharts.sh]
+ A sh/awk script by Denis Girou for converting data to PSTricks piecharts.
+
+\end{description}
+
+\subsection{Bug fixes}
+
+This list is incomplete.
+
+\begin{itemize}
+
+\item
+ "\scalebox" and "\scaleboxto" now work when the vertical scaling factor
+ is less than 1.
+
+\item
+ "\lput" and company now work with dvips 4.90 and later.
+
+\item
+ "\multips" can now be nested.
+
+\item
+ "\psclip" fixed.
+
+\item
+ "\clipbox" and clip option for "\pspicture" fixed.
+
+\end{itemize}
+
+\subsection{Other changes}
+
+In some cases, there is a small chance these will require that you modify old
+files.
+
+\begin{itemize}
+
+\item
+ Specifying "\rput"'s <refpoint> argument as, e.g., "[.3,1]" rather than
+"[br]" is now an undocumented feature.
+
+\item
+ All arguments to "\psplot", "\listplot" and "\parametric" plot are passed
+on directly as PostScript.
+
+\item
+ Dictionaries when including raw PostScript have changed. See appendix of
+User's Guide for details.
+
+\item
+ "\psset{unit=dim}" always changes "\psunit", "\psxunit" and "\psyunit". To
+change only "\psunit", use "runit=dim".
+
+\item
+ "border" parameter affects closed curves.
+
+\item The "hatchsep" parameter now refers to the width of the space between
+the lines, rather than the distance between the middle of the lines.
+\end{itemize}
+
+\renewcommand{\EveryVerbatimLine}{}
+\renewcommand{\VerbatimFont}{\small\tt}
+\renewcommand{\VerbatimFuzz}{2cm}
+
+\section{VERSION 0.92}
+
+\subsection{Incompatible changes}
+
+\begin{Verbatim}
+ ! V0.91 had two curve interpolation algorithsm: \pscurve and \psdoodle
+ (and variants). These have been merged into a single algorithm retaining
+ the names \pscurve, etc. Now the three curvature parameter has three
+ numbers:
+ num1 num2 num3
+ When num3 is 0 (the default), you get the old \psdoodle algorithm, and
+ and num1 and num2 act just like the old doodature parameter. When
+ num3=-1, you get the old \pscurve algorithm, but positive values are
+ usually nicer.
+
+ If you have used \pscurve or its variants, the shape of the curves
+ will change under 0.92. If you have also used the curvature
+ parameter, you will get errors because the old curvature parameter is
+ a single number and the new curvature parameter consists of 3 numbers.
+
+ If you have used \psdoodle or its variants, then you can either search
+ and replace doodle->curve and your use of doodature (which had 2 numbers)
+ to curvature (which has 3 number), or you can put the following in the
+ customization section of pstricks.con:
+ \let\psdoodle\pscurve
+ \let\psedoodle\psecurve
+ \let\pscdoodle\psccurve
+ \def\psset@doodature#1{\psset@curvature{#1 0}}
+
+ ! In \psdblframebox: The inner frame now has \pslinewidth, and the outer
+ frame now has width (dblframewidth x \pslinewidth), where dblframewidth is
+ a new graphics parameter whose default value is 2.
+
+ ! The angle, angleA and angleB parameters no longer apply to
+ \ncarc, and the default values have been changed to 0. For
+ \ncarc, the angle is now controlled by the arcangle, arcangleA
+ and arcangleB parameters. The default is still 8.
+
+ ! \multido has been off-loaded to the file multido.tex. The syntax has
+ been changed to make it consistent with \psmultiput and LaTeX's
+ \multiput: The variable declarations are now the first argument
+ and the number of repetitions are now the second argument. Also,
+ for number variables, the initial value and increment must now
+ have the same number of digits to the right of the decimal,
+ unless the initial value is an integer. There is no * version.
+ Instead, the contents is never grouped, and there is even a variant
+ that doesn't group the whole macro. See multido.ps, which is distributed
+ with PSTricks, for details.
+
+ ! 'diamond', 'diamond*', and 'x' dotstyles are gone. Use dotangle
+ parameter instead.
+\end{Verbatim}
+
+\subsection{New features}
+
+\begin{Verbatim}
+ + New dot style: |.
+
+ + New graphics objects: \pscustom.
+
+ + New box framing macros: \psovalbox, \pscirclebox.
+
+ + New box scaling macro: \scaleboxto.
+
+ + New nodes: \ovalnode, \circlenode.
+
+ + New node connection: \ncdiagg.
+
+ + New loop macro: \multips.
+
+ + New graphics parameters: dotscale, dotangle, dblframewidth.
+
+ + New arrow styles: c and C.
+
+ + \SpecialCoor allows using nodes as coordinates and mixing
+ coordinates.
+\end{Verbatim}
+
+\subsection{Other changes}
+
+\begin{Verbatim}
+ * arrowscale parameter allows non-square scaling.
+
+ * Documentation has been greatly improved.
+
+ * A bug that caused problems with Arbortext's dvips (previously
+ listed in pstricks.bug) was fixed.
+
+ * Memory stats with LaTeX's article style:
+ 43290 words of memory
+ 2895 multiletter control sequences
+\end{Verbatim}
+
+\section{VERSION 0.91}
+
+\subsection{Incompatible changes}
+
+\begin{Verbatim}
+ ! \dbox and \rotate eliminated.
+
+ ! \psput replaced by \rput, with new syntax:
+ OLD: \psput[angle]<ref point>(x,y){stuff}
+ NEW: \rput[ref point]{angle}(x,y){stuff}
+ \OldPsput sets up \psput with the old syntax (this may disappear some
+ day; keep it in a safe place if you expect to need it for a long time).
+
+ ! System for specifying angles for nested rotations with \psput has changed.
+ OLD: p0{angle}, p1{angle}, p2{angle}, etc.
+ NEW: *angle works like p0{angle}; p1{angle} capability eliminated.
+ N, S, E and W have same meaning as before.
+
+ ! enddotsize parameter changed to dotsize.
+
+ ! For specifying the origin as the baseline for the \pspicture
+ environment, leave the optional argument [] empty (rather than
+ [o]).
+
+ ! B is not allowed as the y-coordinate when setting the reference point
+ in \rput using coordinates. E.g., [Bl] and [B] are OK, but [.3,B] is
+ not.
+
+\end{Verbatim}
+
+\subsection{New features}
+
+\begin{Verbatim}
+ + cornersize parameter added, for specifying whether radius of corners
+ in \psframe and related box macros is given in relative terms (using
+ framearc) or absolute terms (using linearc).
+
+ + \psclip and \clipbox macros added.
+
+ + \Cartesian and \Polar commands added, for switching coordinate
+ systems.
+
+ + border=dim parameter added, for giving appearance of one line
+ crossing over another.
+
+ + showpoints=bool parameter added. If true, a dot is placed at appropriate
+ coordinates.
+
+ + \psdots graphics object added.
+
+ + \psarc graphics object added.
+
+ + \parabola graphics object added.
+
+ + \pscurve, \psccurve, \psecurve, \psdoodle, \psedoodle, and \pscdoodle
+ graphics objects added.
+
+ + \qline and \qdisk graphics objects added.
+
+ + \psplot, \parametericplot and \listplot graphics objects added.
+
+ + node connection (e.g., tree) macros added!!
+\end{Verbatim}
+
+\subsection{Other changes}
+
+\begin{Verbatim}
+ * \sunpatch not needed anymore.
+
+ * PostScript header file (if being used) is included at the beginning,
+ rather than on demand.
+
+ * In spite of the many new features, the input file is smaller in bytes,
+ and runs significantly faster (at least if used with a header file).
+ The macros use up slightly more words of memory, and significantly
+ more command sequences. Here are the stats with LaTeX's article
+ style:
+ 41586 words of memory
+ 2966 multiletter control sequences
+\end{Verbatim}
+
+\section{VERSION 0.9}
+
+Much internal code was changed, and additional features were added.
+
+\end{document}
+%% END changes.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/chartest.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/chartest.pdf
new file mode 100644
index 00000000000..d42fc926130
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/chartest.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/chartest.tex b/Master/texmf-dist/doc/generic/pstricks/examples/chartest.tex
new file mode 100644
index 00000000000..cf9a608161a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/chartest.tex
@@ -0,0 +1,25 @@
+%% BEGIN chartest.tex
+%% PSTricks test file for charpath.tex.
+%% Run with Plain TeX.
+
+\input pstricks
+\input pst-text
+
+% phvb should be name of Helvetica-Bold tfm or vf file:
+\font\bighelv=phvb at 70pt
+\bighelv
+
+\vskip 1in
+
+\pscharpath[linestyle=dotted]{Denis Girous}
+
+\vskip 1in
+
+\pscharpath[fillstyle=crosshatch]{Denis Girous}
+
+\vskip 1in
+
+\pscharpath[fillstyle=solid,fillcolor=red]{Denis Girous}
+
+\bye
+%% END chartest.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/denis1.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/denis1.pdf
new file mode 100644
index 00000000000..c356d7af123
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/denis1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/denis1.tex b/Master/texmf-dist/doc/generic/pstricks/examples/denis1.tex
new file mode 100644
index 00000000000..2818fcb74f0
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/denis1.tex
@@ -0,0 +1,41 @@
+%% BEGIN denis1.tex
+% PSTricks sample that combines
+% \pscharpath, \pstextpath, and gradient fillstyle.
+
+% Run with Plain TeX.
+
+% Takes a long time to print.
+
+\hsize 9in
+\vsize 6.5in
+\special{landscape} % works with Rokicki's dvips.
+
+\input pstricks
+\input pst-text
+\input pst-grad
+
+% phvb should be name of Helvetica-Bold tfm or vf file:
+\font\bighelv=phvb at 5in
+\font\smallhelv=ptmr at 8pt
+
+\newcount\mycount
+\parindent 0pt
+
+\null
+\vfill
+
+\pstextpath(0,-8pt)%
+ {\pscharpath*[linestyle=none,fillstyle=gradient,
+ gradangle=45,gradmidpoint=.5]{\bighelv D G}}%
+ {\smallhelv
+ \mycount=70
+ \loop
+ \advance\mycount -1
+ \ifnum\mycount>0
+ Denis Girou
+ \repeat}
+
+\vfill
+
+\bye
+%% END denis1.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/denis2.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/denis2.pdf
new file mode 100644
index 00000000000..b24a0dcde42
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/denis2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/denis2.tex b/Master/texmf-dist/doc/generic/pstricks/examples/denis2.tex
new file mode 100644
index 00000000000..0c5a4f3a4ba
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/denis2.tex
@@ -0,0 +1,36 @@
+%% BEGIN denis2.tex
+% PSTricks sample that combines
+% \pscharpath and \psclip.
+
+% Run with Plain TeX.
+
+\hsize 9in
+\vsize 6.5in
+\special{landscape} % works with Rokicki's dvips.
+
+\input pstricks
+\input pst-text
+
+% phvb should be name of Helvetica-Bold tfm or vf file:
+\font\bighelv=phvb at 5.5in
+\font\smallrm=ptmr at 10pt
+
+\newcount\mycount
+\parindent 0pt
+
+\vglue 1in
+
+\pscharclip[linewidth=2pt]{\rput[tl](0,0){\bighelv DG}}
+ \rput[t]{45}(0,0){\vbox{%
+ \hsize 12in
+ \smallrm
+ \mycount=1000
+ \loop
+ \advance\mycount -1
+ \ifnum\mycount>0
+ Denis Girou
+ \repeat}}
+\endpscharclip
+
+\bye
+%% END denis2.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/filetest.dat b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.dat
new file mode 100644
index 00000000000..68945e6e95e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.dat
@@ -0,0 +1,71 @@
+%% BEGIN filetest.dat
+[
+{{0, 0}, {0.1, 0.489217}, {0.2, 0.914933},
+
+ {0.3, 1.21952}, {0.4, 1.35655}, {0.5, 1.29517},
+
+ {0.6, 1.02301}, {0.7, 0.547479}, {0.8, -0.104732},
+
+ {0.9, -0.889868}, {1., -1.75088}, {1.1, -2.62238},
+
+ {1.2, -3.4364}, {1.3, -4.12831}, {1.4, -4.64256},
+
+ {1.5, -4.93756}, {1.6, -4.98935}, {1.7, -4.7937},
+
+ {1.8, -4.36653}, {1.9, -3.74246}, {2., -2.97178},
+
+ {2.1, -2.11599}, {2.2, -1.24239}, {2.3, -0.418164},
+
+ {2.4, 0.295512}, {2.5, 0.84882}, {2.6, 1.2076},
+
+ {2.7, 1.35627}, {2.8, 1.29903}, {2.9, 1.0593},
+
+ {3., 0.677496}, {3.1, 0.207184}, {3.2, -0.289882},
+
+ {3.3, -0.749475}, {3.4, -1.11083}, {3.5, -1.32228},
+
+ {3.6, -1.34604}, {3.7, -1.16179}, {3.8, -0.768677},
+
+ {3.9, -0.185544}, {4., 0.550574}, {4.1, 1.38761},
+
+ {4.2, 2.263}, {4.3, 3.1091}, {4.4, 3.85919},
+
+ {4.5, 4.45329}, {4.6, 4.84347}, {4.7, 4.99808},
+
+ {4.8, 4.90456}, {4.9, 4.5705}, {5., 4.02303},
+
+ {5.1, 3.30639}, {5.2, 2.47802}, {5.3, 1.60352},
+
+ {5.4, 0.750856}, {5.5, -0.0156125}, {5.6, -0.640751},
+
+ {5.7, -1.08345}, {5.8, -1.32014}, {5.9, -1.34676},
+
+ {6., -1.17893}, {6.1, -0.850365}, {6.2, -0.409711},
+
+ {6.3, 0.084022}, {6.4, 0.566914}, {6.5, 0.97605},
+
+ {6.6, 1.25533}, {6.7, 1.36069}, {6.8, 1.2642},
+
+ {6.9, 0.956782}, {7., 0.449173}, {7.1, -0.228866},
+
+ {7.2, -1.03104}, {7.3, -1.89854}, {7.4, -2.76511},
+
+ {7.5, -3.56294}, {7.6, -4.22854}, {7.7, -4.70839},
+
+ {7.8, -4.96365}, {7.9, -4.97357}, {8., -4.73734},
+
+ {8.1, -4.27417}, {8.2, -3.62157}, {8.3, -2.83204},
+
+ {8.4, -1.96848}, {8.5, -1.09857}, {8.6, -0.288905},
+
+ {8.7, 0.400909}, {8.8, 0.92342}, {8.9, 1.24743},
+
+ {9., 1.36064}, {9.1, 1.27057}, {9.2, 1.00372},
+
+ {9.3, 0.602995}, {9.4, 0.123725}, {9.5, -0.371511},
+
+ {9.6, -0.818656}, {9.7, -1.1581}, {9.8, -1.34019},
+
+ {9.9, -1.32988}, {10., -1.11003}}
+]
+%% END filetest.dat
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/filetest.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.pdf
new file mode 100644
index 00000000000..dac3755ff38
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/filetest.raw b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.raw
new file mode 100644
index 00000000000..69a459f7e7d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.raw
@@ -0,0 +1,6 @@
+%% BEGIN filetest.raw
+% test of \rawfile, with testfile.tex
+0 0 moveto
+100 100 lineto
+100 0 lineto
+%% END filetest.raw
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/filetest.tex b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.tex
new file mode 100644
index 00000000000..52ac7732d2b
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/filetest.tex
@@ -0,0 +1,84 @@
+%% BEGIN filetest.tex
+%
+% This is test file for some of the PSTricks commands that
+% read from and write to files.
+%
+% Run with plain tex.
+%
+% You must have the epsf.tex macros, which are distributed with
+% Rokicki's dvips, and change the reference to \epsf below.
+%
+% This inputs filetest.raw, filetest.dat and filetest.eps.
+% It also write filetest.eps.
+%
+% If using Rokicki's dvips v5.47 or later, try
+%
+% dvips filetest -E-o
+%
+% to create an eps file filetest.ps from the whole picture.
+
+\input pstricks
+\input pst-eps
+\input pst-plot
+\input epsf
+
+\TeXtoEPS % Make an EPS picture out of .dvi file, with dvips -E.
+ \pspicture(-5,-10)(10,10)
+
+ % Test two similar ways to use data from a file:
+ % \fileplot
+ \AltClipMode
+ \psclip{\psframe[linestyle=none](0,-10)(10,10)}
+ \pscustom{%
+ \fileplot{filetest.dat}
+ \gsave
+ \lineto(100,100)
+ \lineto(0,100)
+ \closedshadow
+ \grestore}
+ \endpsclip
+
+ \psaxes(0,0)(-5,-10)(10,10)
+
+ % And \readdata and \dataplot:
+ \readdata\mydata{filetest.dat}
+ \dataplot[plotstyle=dots,swapaxes=true]{\mydata}
+
+ % Save some data:
+
+ \savedata{\total}[
+ {{0,163},{1,187},{2,166},{3,232},{4,237},{5,201},{6,196},{7,203}}]
+ \savedata{\general}[
+ {7,193}{6,182}{5,167}{4,153}{3,129}{2,108}{1,101}{0,104}]
+
+ % Now make an EPS file from the graphics objects:
+ \PSTtoEPS[bbury=5cm,bburx=10.5cm,
+ bblly=2cm,bbllx=0cm,makeeps=all]{filetest.eps}{%
+
+ % Now when I concatenate \total and \general, I get the points that
+ % delineate the boundary for the area you want to fill.
+
+ \psyunit=.02cm
+ \psxunit=1.5cm
+
+ \pscustom[plotstyle=curve,linestyle=none,fillstyle=solid,
+ fillcolor=gray]{\listplot{\general}\listplot[liftpen=1]{\total}}
+ \psset{plotstyle=curve,showpoints=true,dotscale=1.5}
+ \listplot[dotstyle=pentagon*]{\total}
+ \listplot[dotstyle=triangle]{\general}
+ } % end \PSTtoEPS
+
+ % Now use the EPS file just created:
+ \rput[bl](-1,-10){\psdblframebox{\epsffile{filetest.eps}}}
+
+ % Now try inputting raw ps code with \pscustom:
+ \pscustom[shadowsize=5pt,origin={5,4}]{%
+ \file{filetest.raw}
+ \closepath
+ \closedshadow}
+
+ \endpspicture
+\endTeXtoEPS
+
+\bye
+%% END filetest.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.pdf
new file mode 100644
index 00000000000..947988f698c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.tex b/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.tex
new file mode 100644
index 00000000000..890af15b8fc
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/pst-test.tex
@@ -0,0 +1,126 @@
+%%%%%%%%%%%%%%%%%%% pst-test.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Test file for pstricks.tex, v0.93 and maybe later versions.
+%%
+%% Run with Plain TeX.
+%%
+%% PAGE 1: Pure graphics objects. These us \pstunit and \pstverb.
+%%
+\input pstricks
+\input pst-node
+
+\newpsobject{mygrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=7pt}
+\hbox{}\vfill
+
+\pspicture(-1,-1)(9,2)\mygrid
+\psline[linewidth=1.5pt,linestyle=dotted]{**-)}(2.5,1.5)
+\psline[linewidth=2pt,linestyle=dashed,
+ linearc=.5,linecolor=gray]{|->}(3,-.5)(5.5,1.8)(7,-1)
+\qline(9,-1)(8,2)
+\endpspicture
+
+\vfill
+
+\pspicture(-1,-1)(9,2)\mygrid
+\qdisk(0,0){1}
+\pswedge[linecolor=gray,fillstyle=solid]{.8}{0}{70}
+\pscircle[linewidth=2pt,linestyle=dashed](4,.5){1.5}
+\psellipse[fillstyle=crosshatch*,fillcolor=lightgray]
+ (7.5,.5)(1,1.5)
+\endpspicture
+
+\vfill
+
+\pspicture(-1,-1)(9,3)\mygrid
+\parabola*(0,0)(1,3)
+\parabola[xunit=.01]{<->}(900,3)(600,-1)
+\endpspicture
+
+\vfill
+
+\eject
+
+%% PAGE 2: Color (using \pstVerb) and rotation (using \pstVerb and \pstrotate).
+
+\hbox{}\vfill
+
+Here is {\gray some gray text }
+
+\vskip 1cm
+Here is a lightgray line:{\lightgray \hrulefill}
+
+\vskip 1cm
+And a dark gray blob:
+
+{\darkgray \hrule height 1cm width 5 cm }
+\vfill
+
+\centerline{
+\rotateleft{Left} \rotatedown{Down} \rotateright{Right}
+\psscalebox{2}{Big} \psscalebox{1 -1}{Flip}}
+
+\vfill
+
+\rput[l]{-45}{This runs diagonally down and to the right}
+\rput{45}(2in,0){This runs up to the right}
+
+\vfill
+
+\eject
+
+%% PAGE 3: Nodes and node connections. These use \pstVerb, \pstverbscale,
+%% and maybe \pstrotate.
+
+\null
+\vfill
+
+$$
+\matrix{%
+ &\rnode{a}{A}\cr
+ \noalign{\vskip 2cm}%
+ \rnode{b}{B}\qquad&\rnode{c}{C}\cr}
+\psset{nodesep=3pt}
+\everypsbox{\scriptstyle}
+\ncline{->}{a}{b}\Bput{f}
+\ncline{->}{a}{c}\Aput{g}
+\ncline[linestyle=dotted]{->}{b}{c}\Aput{h}
+$$
+
+\vfill
+
+\vskip 2cm
+
+\cnode*(0,0){3pt}{A}
+\cnode*(4,2){3pt}{B}
+\ncline[nodesep=3pt]{A}{B}
+\mput*{1}
+
+\vfill
+
+\pspicture(0.4,.2)(9.8,6.2)
+ \rput(2,6){\rnode{G}{\psframebox{GOAT}}}
+ \rput(2,.5){\rnode{I}{\psframebox{GOAT}}}
+ \ncangles[angleA=90, angleB=180, nodesepB=3pt, linearc=3pt,
+ armA=2cm]{<-**}{I}{G}
+ \lput*(2.5){Doom}
+ \aput(.5){Zoom}
+ \SpecialCoor
+ \rput{10}(7;30){\rnode{A}{\psframebox{Polar Coor}}}
+ \rput(5;10){\rnode{B}{\psframebox{Polar Coor}}}%
+ \ncline{->}{A}{B}
+ \mput{\pnode{Y}}
+ \cnodeput[linewidth=1.5pt](9.5,6){H}{H}
+ \cnodeput[linewidth=1.5pt](8,1){M}{M}
+ \newpsobject{myarc}{ncarc}{nodesep=3pt,offset=2pt,arrows=->}
+ \myarc{H}{M}
+ \mput*{r}
+ \myarc{M}{H}
+ \mput*{l}
+ \lput(.75){\pnode{Z}}
+ \nccurve[angle=135, ncurv=1.8]{Y}{Z}
+ \aput{:U}{Doom}
+\endpspicture
+
+\vfill
+
+\bye
+%% END pst-test.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/samples.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/samples.pdf
new file mode 100644
index 00000000000..18cf8a44824
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/samples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/samples.tex b/Master/texmf-dist/doc/generic/pstricks/examples/samples.tex
new file mode 100644
index 00000000000..57b8ad0d8ac
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/samples.tex
@@ -0,0 +1,443 @@
+%% samples.pst : PSTricks samples. Run with LaTeX.
+%% Last edited: 93/03/03
+
+\documentclass[11pt,a4paper]{article}
+
+\makeatletter
+
+%% INPUT FANCYBOX.STY HERE TO CHECK FILE VERSION.
+
+\usepackage[T1]{fontenc}
+\usepackage[dvips]{geometry}
+\geometry{tmargin=2cm,bmargin=3.3cm,headheight=20pt,headsep=10pt,
+textheight=9in, footskip=.625in}
+\usepackage[scaled]{luximono}
+\usepackage{mathpazo}
+\usepackage{pstricks,pst-node,pst-coil,fancybox}
+
+\let\Ldots\ldots
+\def\ldots{\mbox{$\Ldots$}} % In case we're using AmS-LaTeX.
+\makeatletter
+\def\ps@samples{%
+ \def\@oddhead{\bf PSTricks samples \hfill \thepage}%
+ \def\@oddfoot{}}
+\makeatother
+\pagestyle{samples}
+
+\newbox\sample
+
+\def\example{\setbox\sample\vbox\bgroup}
+\def\endexample{%
+ \egroup
+ \vbox{\vskip 1cm
+ \hbox{\psframebox[boxsep=false,linewidth=2pt,linearc=.5cm,framesep=.5cm,
+ cornersize=absolute]{\box\sample}}
+ \vskip 1cm}}
+\def\rquote#1{{\begin{quote}\vskip-\topsep
+ \raggedright\hskip -2em#1\end{quote}}}
+\def\creator#1{\rquote{{\bf Creator:}\hskip 1em#1}}
+\def\title#1{\rquote{{\bf Description:}\hskip 1em#1}}
+
+\def\N#1{{\tt\string#1}}
+
+\begin{document}
+
+\begin{example}
+ \creator{Gisli Ottarsson \tt <gisli@liapunov.eecs.umich.edu>}
+ \title{Calvin and Hobbes}
+
+ $$
+ \pspicture(-3.,29)(3.,38)
+ \def\anglei{5}
+ \def\angleii{-5}
+ \psset{linewidth=1pt,hatchwidth=0.8pt}
+ \def\tower#1{%
+ \psline[linewidth=2pt](0,0)(0,7)
+ \psset{fillstyle=solid,dimen=middle,linewidth=1.5pt}
+ \cnode(0,2){.5}{A#1}
+ \cnode(0,5){.8}{B#1}
+ \cnode(0,7){.5}{C#1}
+ \psset{linestyle=solid,linewidth=1pt}
+ \psline{->}(0,1)(2,1)
+ \SpecialCoor
+ \rput([angle=90]B#1){\psline{->}(2,0)}
+ \rput([angle=90]C#1){\psline{->}(2,0)}}%
+ \pscustom[linewidth=2pt]{%
+ \psarc(0,0){30}{80}{100}
+ \gsave
+ \psarcn(0,0){29.25}{100}{80}
+ \fill[fillstyle=vlines]
+ \grestore}
+ \rput{\anglei}{\rput(0,30){%
+ \psset{fillcolor=lightgray}
+ \tower{1}}}
+ \rput{\angleii}{\rput(0,30){%
+ \psset{linestyle=dashed}
+ \tower{2}}}
+ \psset{linewidth=1.5pt,coilwidth=.45}
+ \nczigzag{B1}{A2}
+ \aput[.25](.85){$k_{c_3}$}
+ \ncline[linecolor=white,linewidth=.6]{A1}{B2}
+ \nczigzag{A1}{B2}
+ \bput[.3](.85){$k_{c_3}$}
+ \nczigzag{A1}{A2}
+ \bput[.3](.5){$k_{c_1}$}
+ \nczigzag{B1}{B2}
+ \aput[.3](.5){$k_{c_2}$}
+ \endpspicture
+ $$
+\end{example}
+
+\begin{example}
+ \creator{\tt{leecheng@liapunov.eecs.umich.edu}}
+ \title{Dripping faucet model.}
+
+ \psset{unit=.4cm}
+ \begin{center}
+ \begin{pspicture}(0,-2)(31,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)
+ \end{pspicture}
+ \end{center}
+\end{example}
+
+\begin{example}
+ \creator{\tt{Christian Schytt <pierre@diku.dk>}}
+ \title{Primal and dual.}
+
+ \hbox to \hsize{%
+ % DUAL
+ \psset{linewidth=0.5pt}
+ \pspicture(-2,-1)(6,5)
+ \psline{->}(5,0)\psline{->}(0,4)
+ %
+ \qdisk(2,0){2pt}
+ \rput(2,0){\pnode{Z}}
+ \uput[dl](2,0){$c_{ij}$}
+ %
+ \uput[d](5,0){$p_i-p_j$}
+ \uput[r](0,4){\parbox{2cm}{Dual cost \\ of arc $(i,j)$}}
+ \uput[l](0,4){$q_{ij}(p_i-p_j)$}
+ %
+ \rput(.5,1.5){\pnode{U}}
+ \rput(2.5,-1.5){\pnode{V}}
+ \ncline{Z}{U}\mput{\pnode{X}}
+ \ncline{Z}{V}\mput{\pnode{Y}}
+ %
+ \rput[b](2,2){\rnode{A}{Slope: ${}-l_{ij}$}}
+ \ncline{->}{A}{X}
+ \rput[b](0,-0.75){\rnode{B}{Slope: ${}-u_{ij}$}}
+ \ncline{->}{B}{Y}
+ \endpspicture\hfill
+ % PRIMAL
+ \pspicture(0,-1)(6,5)
+ \psline{->}(5,0)\psline{->}(0,4)
+ \qdisk(1.5,0){2pt}
+ \qdisk(3.5,0){2pt}
+ \uput[d](1.5,0){$l_{ij}$}
+ \uput[d](3.5,0){$u_{ij}$}
+ \uput[d](5,0){$f_{ij}$}
+ \uput[r](0,4){\parbox{2cm}{\raggedright Primal cost \\ of arc $(i,j)$}}
+ %
+ \rput(1.5,1){\pnode{A}}
+ \rput(3.5,2){\pnode{B}}
+ \ncline{-}{A}{B}\mput{a\pnode{Y}}
+ %
+ \psline[linestyle=dashed]{-}(1.5,0)(1.5,3)
+ \psline[linestyle=dashed]{-}(3.5,0)(3.5,3)
+ %
+ \rput[l](4,1){\rnode{X}{Slope: $c_{ij}$}}
+ \ncline{->}{X}{Y}
+ \endpspicture
+ }\medskip
+\end{example}
+
+\begin{example}
+ \creator{Gisli Ottarsson \tt <gisli@liapunov.eecs.umich.edu>}
+
+ \begin{center}
+ \psset{unit=1in,linewidth=1pt,hatchwidth=0.8pt}
+ \pspicture(1,0)(5.,3)
+ \psline[linewidth=2pt,arrowscale=1.5]{->}(1.5,2.4)(3.5,2.4)
+ \psellipse[fillcolor=darkgray,fillstyle=solid](1.5,1.5)(.5,1.3)
+ \psellipse[fillcolor=white,fillstyle=solid](1.4,1.5)(.5,1.3)
+ \psline(1.5,2.8)(1.4,2.8)
+ \psline(1.5,0.2)(1.4,0.2)
+ \psline[linewidth=1.5pt,linestyle=dashed](1.3,2.4)(1.7,2.4)
+ \pscircle*(1.3,2.4){3pt}
+ \rput(1.3,2.2){$(r_o,\theta_o)$}
+ \rput(3.3,2.65){$u(r_o,\theta_o)$}
+ \psline[linewidth=2pt,arrowscale=1.5]{|->}(2.5,0.65)(4.5,0.65)
+ \rput(4.5,0.85){$w(x_o)$}
+ \psline{<->}(1.93,1.0)(2.5,.65)
+ \rput(2.2,.65){$x_o$}
+ \pscircle[fillcolor=lightgray,fillstyle=solid](1.93,1.2){0.05}
+ \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=lightgray]
+ (1.935,1.24)(3.5,.38)(3.5,.22)(1.935,1.16)
+ \pscircle[fillcolor=lightgray,fillstyle=solid](2.53,0.855){0.058}
+ \pscircle[fillcolor=lightgray,fillstyle=solid,linecolor=lightgray]
+ (2.545,0.845){0.056}
+ \pscircle[fillcolor=gray,fillstyle=solid](3.5,.3){0.08}
+ \psline(1.93,1.245)(3.5,.38)
+ \psline(3.5,.22)(1.92,1.156)
+ \endpspicture
+ \end{center}
+\end{example}
+
+
+\begin{example}
+\creator{tvz}
+\title{Another example of \N\pspolygon. The coordinates where determined
+ using \N\psgrid, after making the table.\label{ex-pspolygon}}
+
+\begin{center}
+ \def\arraystretch{2}\tabcolsep=10pt\small\bf
+ {\em Result is true for values in shaded region:}\\[5pt]
+ \pspolygon[linearc=.4,fillcolor=lightgray,fillstyle=solid]
+ (3,2)(5.9,2)(5.9,0)(7.4,0)(7.4,-2)(1.45,-2)(1.45,0)(3,0)
+ \begin{tabular}{cccccc}
+ X11 & X12 & X13 & X14 & X15 & X16\\
+ X21 & X22 & X23 & X24 & X25 & X26\\
+ X31 & X32 & X33 & X34 & X35 & X36\\
+ X41 & X42 & X43 & X44 & X45 & X46
+\end{tabular}
+\end{center}
+
+\end{example}
+
+
+\begin{example}
+ \creator{tvz}
+ \title{Nodes.\label{ex-nodes1}}
+
+ \begin{center}
+ \begin{pspicture}(0,-1)(8,3)
+ \psset{arrows=->, nodesep=6pt}
+ \rput(3,3){\rnode{A}{Returns to Scale}}
+ \rput(1,1){\rnode{B}{Production}}
+ \rput(5,1){\rnode{C}{Managing}}
+ \rput(3,-1){\rnode{D}{Supervision}}
+ \rput(7,-1){\rnode{E}{Information Processing}}
+ \ncline{A}{B} \ncline{A}{C} \ncline{C}{D} \ncline{C}{E}
+ \end{pspicture}
+ \end{center}
+\end{example}
+
+
+\begin{example}
+ \creator{tvz}
+ \title{Another example of nodes.\label{ex-nodes3}}
+
+ \begin{center}
+ \begin{pspicture}(0,-1)(7.5,1)
+ \pnode{a}
+ \cnodeput(1.5,0){b}{0}
+ \cnodeput(3,0){c}{1}
+ \cnodeput(4.5,0){d}{2}
+ \cnodeput(6,0){e}{3}
+ \scriptsize
+ \psset{arrows=->,nodesep=0}
+ \pslabelsep=3pt
+ \ncline{a}{b}\Aput{start}
+ \ncline{b}{c}\Bput{a}
+ \ncline{c}{d}\Aput{b}
+ \ncline{d}{e}\Aput{b}
+ \psset{arm=.6,linearc=.4,angleA=0,angleB=90}
+ \ncangles{b}{b}\Aput{b}
+ \ncangles{e}{b}\Aput{b}
+ \psset{angleB=-90}
+ \ncangles{c}{c}\Bput{a}
+ \ncangles{d}{c}\Bput{a}
+ \ncangles{e}{c}\Bput{a}
+ \end{pspicture}
+ \end{center}
+\end{example}
+
+\begin{example}
+ \creator{tvz}
+ \title{Nonsense examples of nodes.\label{ex-nodes4}}
+
+ The tempestuous \rnode{E}{Maggie} and her alcoholic husband
+ \rnode{A}{Brick} \ldots
+ \vskip 2cm
+ \cnode*{3pt}{D}\hskip 1em Much Ado about \rnode{B}{Nothing}.
+ \vskip 1in
+ and \rnode{J}{\psframebox{another}} another
+ \rnode{K}{\psframebox{another}} another another \rnode{C}{book}
+ \ncline[linecolor=darkgray,linewidth=1.5pt,nodesep=3pt]{->}{A}{B}
+ \ncline[nodesep=3pt,linestyle=dashed,border=3pt]{->}{C}{E}
+ \ncangle[nodesep=1pt,angleA=-90,angleB=150, armB=3cm]{D}{C}
+ \ncbar[angle=90]{<-oo}{J}{K}
+\end{example}
+
+
+\begin{example}
+ \creator{tvz}
+ \title{More node nonsense.\label{ex-nodes5}}
+
+ \begin{center}
+ \begin{pspicture}(0.4,.2)(9.8,6.2)
+ \rput(2,6){\rnode{G}{\psframebox{GOAT}}}
+ \rput(2,.5){\rnode{I}{\psframebox{GOAT}}}
+ \ncangles[angleA=90, angleB=180, nodesepB=3pt, linearc=3pt,
+ armA=2cm]{<-**}{I}{G}
+ \lput*(2.5){Doom}
+ \bput(.5){Zoom}
+ \SpecialCoor
+ \rput{10}(7;30){\rnode{A}{\psframebox{Polar Coor}}}
+ \rput(5;10){\rnode{B}{\psframebox{Polar Coor}}}
+ \ncline{->}{A}{B}
+ \mput{\pnode{Y}}
+ \cnodeput[linewidth=1.5pt](9.5,6){H}{H}
+ \cnodeput[linewidth=1.5pt](8,1){M}{M}
+ \newpsobject{myarc}{ncarc}{nodesep=3pt,offset=2pt,arrows=->}
+ \myarc{H}{M}\mput*{r}
+ \myarc{M}{H}\mput*{l}\lput(.75){\pnode{Z}}
+ \nccurve[angleA=135, angleB=135, ncurv=1.8]{Z}{Y}\bput{:D}{Doom}
+ \end{pspicture}
+ \end{center}
+\end{example}
+
+\begin{example}
+ \creator{tvz}
+ \title{}
+
+ \[
+ \def\arraystretch{3.5}
+ \arraycolsep .7cm
+ \begin{array}{ccc}
+ \rnode{a}{U}\\
+ & \rnode{b}{X\times_Z Y} & \rnode{c}{X}\\
+ & \rnode{d}{Y} & \rnode{e}{Z}
+ \end{array}
+ \psset{arrows=->,nodesep=3pt}
+ \pslabelsep 3pt
+ \everypsbox{\scriptstyle}
+ \ncLine{a}{b}\Bput{y}
+ \ncLine{a}{c}\Aput{x}
+ \ncLine{b}{d}\Bput{q}
+ \ncLine{b}{c}\Bput{p}
+ \ncLine{c}{e}\Aput{f}
+ \ncLine{d}{e}\Bput{g}
+ \]
+\end{example}
+
+\begin{example}
+ \creator{tvz}
+ \title{Several ways to connect nodes to themselves}
+
+ \def\arrow(#1,#2){\ncline{->}{#1}{#2}}
+ $$
+ \begin{array}{c@{\hskip 1.5cm}c@{\hskip 1.5cm}c}
+ \rnode{a}{\bullet} & \rnode{b}{\bullet} & \rnode{c}{\bullet}\\[1cm]
+ \end{array}
+ \everypsbox{\scriptstyle}
+ \psset{nodesep=5pt,arm=.6,linearc=.4,angleA=0,angleB=90}
+ \ncangles{->}{a}{a}
+ \ncangles{->}{b}{b}
+ \ncangles{->}{c}{c}
+ \arrow(a,b)
+ \arrow(b,c)
+ \ncarc[arcangleA=-30, arcangleB=-30]{->}{a}{c}
+ $$
+ $$
+ \everypsbox{\scriptstyle}
+ \def\cn#1#2{%
+ \cnode*{2pt}{#1}
+ \ncloop[arm=.4,linearc=.39,loopsize=.8,nodesep=5pt,angleB=180]
+ {->}{#1}{#1}
+ \Bput{#2}}
+ \begin{array}{c@{\hskip 1.5cm}c@{\hskip 1.5cm}c}
+ \cn{a}{1} & \cn{b}{2} & \cn{c}{3}\\[1cm]
+ \end{array}
+ \psset{nodesep=5pt,arm=.6,linearc=.4}\arrow(a,b)
+ \arrow(b,c)
+ \ncarc[arcangleA=-30, arcangleB=-30]{->}{a}{c}
+ $$
+ $$
+ \everypsbox{\scriptstyle}
+ \def\cn#1#2{%
+ \cnode*{2pt}{#1}
+ \nccircle[nodesep=5pt]{->}{#1}{.5}
+ \Bput{#2}}
+ \begin{array}{c@{\hskip 1.5cm}c@{\hskip 1.5cm}c}
+ \cn{a}{1} & \cn{b}{2} & \cn{c}{3}\\[1cm]
+ \end{array}
+ \psset{nodesep=5pt,arm=.6,linearc=.4}\arrow(a,b)
+ \arrow(b,c)
+ \ncarc[arcangleA=-30, arcangleB=-30]{->}{a}{c}
+ $$
+\end{example}
+
+\begin{example}
+ \creator{tvz}
+ \title{}
+
+\centerline{%
+ \rnode{a}{\psframebox{\Huge A connection}}%
+ \hskip 1.6cm
+ \rnode{b}{\psframebox{\Huge Unto another}}}
+\ncloop[loopsize=-1cm,arm=.8cm,linearc=.3]{->}{a}{b}
+\end{example}
+
+
+\begin{example}
+ \creator{tvz}
+ \title{}
+
+ \newbox\mybox
+ \setbox\mybox=\hbox{%
+ \psset{unit=4pt}
+ \pspicture(-2.8,0)(2.8,7.75)
+ \psset{linewidth=.1}
+ \psline(-.3,0)(-.3,3)
+ \psline(.3,0)(.3,3)
+ \psline(-2,0)(2,0)
+ \rput{45}(0,2){%
+ \psframe[framearc=.1,fillstyle=solid](0,0)(4,4)
+ \psline[linewidth=.4,linearc=.2](1.5,.4)(.4,2.5)(3.6,1.5)(2.5,3.6)}
+ \psdots[dotstyle=square,dotsize=.4 0](0,7.5)
+ \endpspicture}%
+ \centerline{\copy\mybox\hskip 1pt\copy\mybox}
+\end{example}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.pdf b/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.pdf
new file mode 100644
index 00000000000..2e2db9df0e5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.tex b/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.tex
new file mode 100644
index 00000000000..355851eee33
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/tp-test.tex
@@ -0,0 +1,72 @@
+%% BEGIN tp-test.tex
+%%
+%% LaTeX test file for textpath.tex/textpath.sty.
+%%
+%% To use PostScript fonts with the New Font Selection Scheme:
+%% - Include the style option "npsfont".
+%% - You may have to change the font file names given below.
+%% - "npsfont.sty" is distributed with PSTricks.
+
+\documentclass[11pt,a4paper]{article}
+
+\makeatletter
+
+%% INPUT FANCYBOX.STY HERE TO CHECK FILE VERSION.
+
+\usepackage{fancybox}
+\usepackage[T1]{fontenc}
+\usepackage[dvips]{geometry}
+\geometry{tmargin=2cm,bmargin=3.3cm,headheight=20pt,headsep=10pt,
+textheight=9in, footskip=.625in}
+\usepackage[scaled]{luximono}
+\usepackage{mathptmx}
+\usepackage{pstricks,pst-text}
+
+\begin{document}
+The first sample shows that math works. I let the line be drawn to make the sample clearer.
+\begin{verbatim}
+ \large
+ \pstextpath[c]%
+ {\pscurve[linecolor=gray](0,1)(4,3)(6,2)(9,0)(12,1)(15,1)}%
+ {$S_\alpha=\Omega(\gamma_\beta)$ is a connected snarf and
+ $B=(\otimes,\rightarrow,\theta)$ is Boolean left subideal.}
+\end{verbatim}
+
+\vskip 3.5cm
+
+\begin{large}
+ \pstextpath[c]%
+ {\pscurve[linecolor=gray](0,1)(4,3)(6,2)(9,0)(12,1)(15,1)}%
+ {$S_\alpha=\Omega(\gamma_\beta)$ is a connected snarf and
+ $B=(\otimes,\rightarrow,\theta)$ is Boolean left subideal.}
+\end{large}
+
+\vskip 1cm
+
+\begin{verbatim}
+ \psset{linestyle=none}
+ \pstextpath[c]{\psarcn(0,0){73pt}{180}{0}}%
+ {Centre National de la}
+ \pstextpath[c]{\psarc(0,0){73pt}{180}{0}}%
+ {Recherche Scientifique}
+\end{verbatim}
+
+\begin{center}
+ \vskip 2cm
+ \Huge
+ \psset{linestyle=none}
+ \pstextpath[c]{\psarcn(0,0){73pt}{180}{0}}%
+ {Centre National de la}
+ \pstextpath[c]{\psarc(0,0){73pt}{180}{0}}%
+ {Recherche Scientifique}
+ \vskip 2cm
+\end{center}
+
+\begin{center}
+ \pstextpath[c](0,0){\psarcn[linestyle=none](0,-6){4}{180}{0}}%
+ {\parbox{3.5in}{In principle, it is possible to use
+ parbox, but let's see what really happens. It seems
+ hard to believe that someone would want to do this.}}
+\end{center}
+\end{document}
+%% END tp-test.tex
diff --git a/Master/texmf-dist/doc/generic/pstricks/psd-3d.tex b/Master/texmf-dist/doc/generic/pstricks/psd-3d.tex
deleted file mode 100644
index 9837db6e91f..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-basi.tex b/Master/texmf-dist/doc/generic/pstricks/psd-basi.tex
deleted file mode 100644
index 0d9f5ccea8b..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-cove.tex b/Master/texmf-dist/doc/generic/pstricks/psd-cove.tex
deleted file mode 100644
index 177e0bff2c1..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-cust.tex b/Master/texmf-dist/doc/generic/pstricks/psd-cust.tex
deleted file mode 100644
index 03441baca4f..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-esse.tex b/Master/texmf-dist/doc/generic/pstricks/psd-esse.tex
deleted file mode 100644
index a76636d0d3b..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-fill.tex b/Master/texmf-dist/doc/generic/pstricks/psd-fill.tex
deleted file mode 100644
index e9df05eb744..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-help.tex b/Master/texmf-dist/doc/generic/pstricks/psd-help.tex
deleted file mode 100644
index 0c4bf708ab0..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-node.tex b/Master/texmf-dist/doc/generic/pstricks/psd-node.tex
deleted file mode 100644
index e6504ca8bf2..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-para.tex b/Master/texmf-dist/doc/generic/pstricks/psd-para.tex
deleted file mode 100644
index d644733a5dc..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-pict.tex b/Master/texmf-dist/doc/generic/pstricks/psd-pict.tex
deleted file mode 100644
index 59fa301d2dd..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-spec.tex b/Master/texmf-dist/doc/generic/pstricks/psd-spec.tex
deleted file mode 100644
index 1b7e205a311..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-text.tex b/Master/texmf-dist/doc/generic/pstricks/psd-text.tex
deleted file mode 100644
index ebc44abd8d7..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/psd-tree.tex b/Master/texmf-dist/doc/generic/pstricks/psd-tree.tex
deleted file mode 100644
index c7a7d78320e..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/pst-user.cls b/Master/texmf-dist/doc/generic/pstricks/pst-user.cls
deleted file mode 100644
index 19cd07b6ee6..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/pst-user.ist b/Master/texmf-dist/doc/generic/pstricks/pst-user.ist
deleted file mode 100644
index a00718a2e08..00000000000
--- a/Master/texmf-dist/doc/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/doc/generic/pstricks/pst-user.tex b/Master/texmf-dist/doc/generic/pstricks/pst-user.tex
deleted file mode 100644
index 08ef5b2bc5b..00000000000
--- a/Master/texmf-dist/doc/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