summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/libraries
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
commit873660d1a83ece926fe7206288dda9c36b349c1b (patch)
treea48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/pgf/libraries
parent2939242967231097459df0fc3150fabc2f639111 (diff)
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/libraries')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex806
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex189
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex450
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex208
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex289
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex369
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex131
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex94
8 files changed, 2536 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
new file mode 100644
index 00000000000..e953e2d28b1
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
@@ -0,0 +1,806 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.2 2005/07/06 15:58:57 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+% A square bracket shaped arrow
+
+\pgfarrowsdeclare{[}{]}
+{
+ \@tempdima=1pt%
+ \advance\@tempdima by1.25\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdima}
+ \pgfarrowsrightextend{.5\pgflinewidth}
+}
+{
+ \@tempdima=2pt%
+ \advance\@tempdima by1.5\pgflinewidth%
+ \@tempdimb=\@tempdima%
+ \advance\@tempdimb by\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfsetbuttcap
+ \pgfpathmoveto{\pgfpoint{-.5\@tempdimb}{-\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0pt}{\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-.5\@tempdimb}{\@tempdima}}
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclarereversed{]}{[}{[}{]}
+
+
+% A round bracket shaped arrow
+
+\pgfarrowsdeclare{(}{)}
+{
+ \@tempdima=2pt%
+ \advance\@tempdima by1.5\pgflinewidth%
+ \@tempdimb=0.0625\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+ \@tempdimb=0.5\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+}
+{
+ \@tempdima=2pt%
+ \advance\@tempdima by1.5\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{-.5\@tempdima}{-\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{.25\@tempdima}{-.5\@tempdima}}
+ {\pgfpoint{.25\@tempdima}{.5\@tempdima}}
+ {\pgfpoint{-.5\@tempdima}{\@tempdima}}
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclarereversed{)}{(}{(}{)}
+
+
+
+
+% A pointed bracket shaped arrow
+
+\pgfarrowsdeclare{angle 90}{angle 90}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=5.5\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by0.707\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpoint{-5.5\@tempdima}{-6\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-5.5\@tempdima}{6\@tempdima}}
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclarereversed{angle 90 reversed}{angle 90 reversed}{angle 90}{angle 90}
+
+
+\pgfarrowsdeclare{angle 60}{angle 60}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=7.29\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}}
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclarereversed{angle 60 reversed}{angle 60 reversed}{angle 60}{angle 60}
+
+
+
+\pgfarrowsdeclare{angle 45}{angle 45}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=8.705\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by1.28\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.3pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}}
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclarereversed{angle 45 reversed}{angle 45 reversed}{angle 45}{angle 45}
+
+
+
+% A dot shaped arrow
+
+\pgfarrowsdeclare{*}{*}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \@tempdimb=5.5\@tempdima\advance\@tempdimb by\pgflinewidth
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=1.5\@tempdima\advance\@tempdimb by.5\pgflinewidth
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfpathcircle{\pgfpoint{-3\@tempdima}{0pt}}{4.5\@tempdima}
+ \pgfusepathqfillstroke
+}
+
+
+% An open dot shaped arrow
+
+\pgfarrowsdeclare{o}{o}
+{
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \@tempdimb=9\@tempdima\advance\@tempdimb by.5\pgflinewidth
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfpathcircle{\pgfpoint{4.5\@tempdima}{0bp}}{4.5\@tempdima}
+ \pgfusepathqstroke
+}
+
+
+
+% A diamond shaped arrow
+
+\pgfarrowsdeclare{diamond}{diamond}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.275\pgflinewidth%
+ \@tempdimb=13\@tempdima\advance\@tempdimb by.5\pgflinewidth
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=1\@tempdima\advance\@tempdimb by.5\pgflinewidth
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.275\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundjoin
+ \pgfpathmoveto{\pgfpoint{1\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-6\@tempdima}{4\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-13\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-6\@tempdima}{-4\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfarrowsdeclare{open diamond}{open diamond}%{{-.5bp}{14.5bp}}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.275\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=14\@tempdima\advance\@tempdimb by.5\pgflinewidth
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.275\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundjoin
+ \pgfpathmoveto{\pgfpoint{14\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{7\@tempdima}{4\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{7\@tempdima}{-4\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+% A triangle shaped arrow
+
+\pgfarrowsdeclare{triangle 90}{triangle 90}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=5.5\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by0.707\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpoint{-5.5\@tempdima}{-6\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-5.5\@tempdima}{6\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfarrowsdeclarereversed{triangle 90 reversed}{triangle 90 reversed}{triangle 90}{triangle 90}
+
+
+\pgfarrowsdeclare{triangle 60}{triangle 60}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=7.29\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfarrowsdeclarereversed{triangle 60 reversed}{triangle 60 reversed}{triangle 60}{triangle 60}
+
+
+
+
+\pgfarrowsdeclare{triangle 45}{triangle 45}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \@tempdimb=8.705\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=.5\@tempdima\advance\@tempdimb by1.28\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfarrowsdeclarereversed{triangle 45 reversed}{triangle 45 reversed}{triangle 45}{triangle 45}
+
+
+
+
+\pgfarrowsdeclare{open triangle 90}{open triangle 90}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=6\@tempdima\advance\@tempdimb by0.707\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpoint{0\@tempdima}{-6\@tempdima}}
+ \pgfpathlineto{\pgfpoint{6\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0\@tempdima}{6\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+\pgfarrowsdeclare{open triangle 90 reversed}{open triangle 90 reversed}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-.707\pgflinewidth}
+ \@tempdimb=6\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpoint{6\@tempdima}{-6\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{6\@tempdima}{6\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+\pgfarrowsdeclare{open triangle 60}{open triangle 60}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=7.794\@tempdima\advance\@tempdimb by\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{7.794\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{7.794\@tempdima}{0pt}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{7.794\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+\pgfarrowsdeclare{open triangle 60 reversed}{open triangle 60 reversed}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-\pgflinewidth}
+ \@tempdimb=7.794\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointpolar{30}{9\@tempdima}}
+ \pgfpathlineto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{-30}{9\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+\pgfarrowsdeclare{open triangle 45}{open triangle 45}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=9.205\@tempdima\advance\@tempdimb by1.28\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{9.205\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}}
+ \pgfpathlineto{\pgfpoint{9.205\@tempdima}{0pt}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{9.205\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+\pgfarrowsdeclare{open triangle 45 reversed}{open triangle 45 reversed}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfarrowsleftextend{-1.28\pgflinewidth}
+ \@tempdimb=9.205\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.5pt%
+ \advance\@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetmiterjoin
+ \pgfpathmoveto{\pgfpointpolar{23}{10\@tempdima}}
+ \pgfpathlineto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{-23}{10\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+
+% A less fleshy variant of LaTeX's orginal arrow type
+
+\pgfarrowsdeclare{latex'}{latex'}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{-4\@tempdima}
+ \pgfarrowsrightextend{6\@tempdima}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfpathmoveto{\pgfpoint{6\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{3.5\@tempdima}{.5\@tempdima}}
+ {\pgfpoint{-1\@tempdima}{1.5\@tempdima}}
+ {\pgfpoint{-4\@tempdima}{3.75\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-1.5\@tempdima}{1\@tempdima}}
+ {\pgfpoint{-1.5\@tempdima}{-1\@tempdima}}
+ {\pgfpoint{-4\@tempdima}{-3.75\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-1\@tempdima}{-1.5\@tempdima}}
+ {\pgfpoint{3.5\@tempdima}{-.5\@tempdima}}
+ {\pgfpoint{6\@tempdima}{0\@tempdima}}
+ \pgfusepathqfill
+}
+
+\pgfarrowsdeclarereversed{latex' reversed}{latex' reversed}{latex'}{latex'}
+
+
+% A rounded variant of the stealth arrow
+
+\pgfarrowsdeclare{stealth'}{stealth'}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \@tempdimb=6\@tempdima\advance\@tempdimb by.5\pgflinewidth%
+ \pgfarrowsleftextend{-\@tempdimb}
+ \@tempdimb=2\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundjoin
+ \pgfpathmoveto{\pgfpoint{2\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-.5\@tempdima}{.5\@tempdima}}
+ {\pgfpoint{-3\@tempdima}{1.5\@tempdima}}
+ {\pgfpoint{-6\@tempdima}{3.25\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-3\@tempdima}{1\@tempdima}}
+ {\pgfpoint{-3\@tempdima}{-1\@tempdima}}
+ {\pgfpoint{-6\@tempdima}{-3.25\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-3\@tempdima}{-1.5\@tempdima}}
+ {\pgfpoint{-.5\@tempdima}{-.5\@tempdima}}
+ {\pgfpoint{2\@tempdima}{0\@tempdima}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\pgfarrowsdeclarereversed{stealth' reversed}{stealth' reversed}{stealth'}{stealth'}
+
+
+
+% The two half of the $\to$ arrow
+
+\pgfarrowsdeclare{left to}{left to}
+{
+ \@tempdima=-0.84pt%
+ \advance\@tempdima by-1.3\pgflinewidth%
+ \@tempdimb=0.21pt%
+ \advance\@tempdimb by.625\pgflinewidth%
+ \pgfarrowsleftextend{\@tempdima}
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfsetlinewidth{0.8\pgflinewidth}
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfsetroundjoin
+ \pgfpathmoveto{\pgfpoint{-3\@tempdima}{4\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-2.75\@tempdima}{2.5\@tempdima}}
+ {\pgfpoint{0pt}{0.25\@tempdima}}
+ {\pgfpoint{0.75\@tempdima}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0.55\@tempdima}{-0.125\pgflinewidth}}
+ {\pgfpoint{0.5\@tempdima}{-0.125\pgflinewidth}}
+ {\pgfpoint{0.5\@tempdima}{-0.125\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{0pt}{-0.125\pgflinewidth}}
+ \pgfusepathqstroke
+}
+
+
+\pgfarrowsdeclare{right to}{right to}
+{
+ \@tempdima=-0.84pt%
+ \advance\@tempdima by-1.3\pgflinewidth%
+ \@tempdimb=0.21pt%
+ \advance\@tempdimb by.625\pgflinewidth%
+ \pgfarrowsleftextend{\@tempdima}
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfsetlinewidth{0.8\pgflinewidth}
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfsetroundjoin
+ \pgfpathmoveto{\pgfpoint{-3\@tempdima}{-4\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-2.75\@tempdima}{-2.5\@tempdima}}
+ {\pgfpoint{0pt}{-0.25\@tempdima}}
+ {\pgfpoint{0.75\@tempdima}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0.55\@tempdima}{0.125\pgflinewidth}}
+ {\pgfpoint{0.5\@tempdima}{0.125\pgflinewidth}}
+ {\pgfpoint{0.5\@tempdima}{0.125\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{0pt}{0.125\pgflinewidth}}
+ \pgfusepathqstroke
+}
+
+
+
+% The halfs of the $\to$ arrow reversed
+
+\pgfarrowsdeclare{left to reversed}{left to reversed}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{-.1\pgflinewidth}
+ \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.9\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundjoin
+ \pgfsetbuttcap
+ \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}}
+ \pgfusepathqstroke
+ \pgfsetroundcap
+ \pgfsetlinewidth{.8\pgflinewidth}
+ {\pgftransformxshift{0.625\pgflinewidth}
+ \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{4\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{0.25\@tempdima}}{\pgfpoint{0pt}{0.125\pgflinewidth}}
+ \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{4\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{0.25\@tempdima}}{\pgfpoint{0pt}{-0.125\pgflinewidth}}
+ }
+ \pgfusepathqstroke%
+}
+
+\pgfarrowsdeclare{right to reversed}{right to reversed}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{-.1\pgflinewidth}
+ \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.9\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.28pt%
+ \advance\@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundjoin
+ \pgfsetbuttcap
+ \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}}
+ \pgfusepathqstroke
+ \pgfsetroundcap
+ \pgfsetlinewidth{.8\pgflinewidth}
+ {\pgftransformxshift{0.625\pgflinewidth}
+ \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{-4\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{-2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{-0.25\@tempdima}}{\pgfpoint{0pt}{-0.125\pgflinewidth}}
+ \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{-4\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{-2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{-0.25\@tempdima}}{\pgfpoint{0pt}{0.125\pgflinewidth}}
+ }
+ \pgfusepathqstroke%
+}
+
+
+
+% A left hook
+
+\pgfarrowsdeclare{left hook}{left hook}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{3\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{6\@tempdima}}{\pgfpoint{0.75\@tempdima}{6\@tempdima}}
+ \pgfusepathqstroke%
+}
+
+\pgfarrowsdeclarereversed{left hook reversed}{left hook reversed}{left hook}{left hook}
+
+
+
+% A right hook
+
+\pgfarrowsdeclare{right hook}{right hook}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{-1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{-3\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{-4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{-6\@tempdima}}{\pgfpoint{0.75\@tempdima}{-6\@tempdima}}
+ \pgfusepathqstroke%
+}
+
+\pgfarrowsdeclarereversed{right hook reversed}{right hook reversed}{right hook}{right hook}
+
+
+% Hooks in both directions
+
+\pgfarrowsdeclare{hooks}{hooks}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfarrowsleftextend{-.5\pgflinewidth}
+ \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
+ \pgfarrowsrightextend{\@tempdimb}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{3\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{6\@tempdima}}{\pgfpoint{0.75\@tempdima}{6\@tempdima}}
+ \pgfpathmoveto{\pgfpoint{0.75\@tempdima}{0\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{-1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{-3\@tempdima}}
+ \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{-4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{-6\@tempdima}}{\pgfpoint{0.75\@tempdima}{-6\@tempdima}}
+ \pgfusepathqstroke%
+}
+
+\pgfarrowsdeclarereversed{hooks reversed}{hooks reversed}{hooks}{hooks}
+
+
+
+
+% Round cap
+
+\pgfarrowsdeclare{round cap}{round cap}
+{\pgfarrowsleftextend{0pt}\pgfarrowsrightextend{\pgflinewidth}}
+{
+ \pgfsetdash{}{0pt}
+ \pgfsetroundcap
+ \pgfpathmoveto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfusepathqstroke
+}
+
+
+% Butt cap
+
+\pgfarrowsdeclare{butt cap}{butt cap}
+{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{.5\pgflinewidth}}
+{
+ \pgfsetdash{}{0pt}
+ \pgfsetbuttcap
+ \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfusepathqstroke
+}
+
+
+
+% 90 degrees cap
+
+\pgfarrowsdeclare{triangle 90 cap}{triangle 90 cap}
+{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}}
+{
+ \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
+ \pgfusepathqfill
+}
+
+
+% reversed 90 degrees cap
+
+\pgfarrowsdeclare{triangle 90 cap reversed}{triangle 90 cap reversed}
+{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}}
+{
+ \pgfpathmoveto{\pgfpoint{1\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0\pgflinewidth}}
+ \pgfusepathqfill
+}
+
+
+
+% fast
+
+\pgfarrowsdeclare{fast cap}{fast cap}
+{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{2\pgflinewidth}}
+{
+ \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{1\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{2\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathclose
+ \pgfusepathqfill
+}
+
+
+\pgfarrowsdeclare{fast cap reversed}{fast cap reversed}
+{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{2\pgflinewidth}}
+{
+ \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{1.5\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{2\pgflinewidth}{0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{2\pgflinewidth}{-.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{-0.5\pgflinewidth}}
+ \pgfpathlineto{\pgfpoint{1\pgflinewidth}{0\pgflinewidth}}
+ \pgfpathclose
+ \pgfusepathqfill
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex
new file mode 100644
index 00000000000..be801d0a7df
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex
@@ -0,0 +1,189 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryautomata.code.tex,v 1.1 2005/10/13 10:12:31 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+\newbox\pgfnodepartoutputbox
+
+
+
+%
+% Node for states without output. This is just an alias for a circle
+% node.
+%
+\pgfdeclareshape{state}
+{
+ \inheritsavedanchors[from=circle] % this is a circle
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \inheritbackgroundpath[from=circle]
+}
+
+
+%
+% Moore state node (a state with output).
+%
+% This node consists of two parts: The main part is the state
+% name. The second part is the (optional) state output. This output is
+% shown in the lower half of the node.
+%
+% Parts: text (=state name), output
+
+\pgfdeclareshape{state with output}
+{
+ %
+ % Node parts
+ %
+ \nodeparts{text,output}
+
+ %
+ % Anchors
+ %
+ \savedanchor\centerpoint{%
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \setlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-\pgf@y%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }%
+ \savedanchor\outputanchor{%
+ \pgf@x=-.5\wd\pgfnodepartoutputbox%
+ \advance\pgf@x by.5\wd\pgfnodeparttextbox%
+ \setlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-2\pgf@y%
+ \advance\pgf@y by-\ht\pgfnodepartoutputbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }
+
+ \saveddimen\radius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf@ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\ht\pgfnodepartoutputbox%
+ \advance\pgf@ya by.5\dp\pgfnodepartoutputbox%
+ \advance\pgf@ya by.5\pgflinewidth%
+ \setlength\pgf@yb{\pgfshapeinnerysep}%
+ \advance\pgf@ya by2\pgf@yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf@xa=.5\wd\pgfnodeparttextbox%
+ \ifdim\pgf@xa<.5\wd\pgfnodepartoutputbox%
+ \pgf@xa=.5\wd\pgfnodepartoutputbox%
+ \fi%
+ \setlength\pgf@xb{\pgfshapeinnerxsep}%
+ \advance\pgf@xa by\pgf@xb%
+ %
+ % Calculate length of radius vector:
+ %
+ \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
+ \ifdim\pgf@x>\pgf@y%
+ \c@pgf@counta=\pgf@x%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@xa=16\pgf@xa\relax%
+ \divide\pgf@xa by\c@pgf@counta%
+ \pgf@xa=16\pgf@xa\relax%
+ \fi%
+ \else%
+ \c@pgf@counta=\pgf@y%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@ya=16\pgf@ya\relax%
+ \divide\pgf@ya by\c@pgf@counta%
+ \pgf@xa=16\pgf@ya\relax%
+ \fi%
+ \fi%
+ \pgf@x=\pgf@xa%
+ %
+ % If necessary, adjust radius so that the size requirements are
+ % met:
+ %
+ \setlength{\pgf@xb}{\pgfshapeminwidth}%
+ \setlength{\pgf@yb}{\pgfshapeminheight}%
+ \ifdim\pgf@x<.5\pgf@xb%
+ \pgf@x=.5\pgf@xb%
+ \fi%
+ \ifdim\pgf@x<.5\pgf@yb%
+ \pgf@x=.5\pgf@yb%
+ \fi%
+ %
+ % Now, add larger of outer sepearations.
+ %
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\pgf@x by\pgf@yb%
+ \else%
+ \advance\pgf@x by\pgf@xb%
+ \fi%
+ }
+
+ %
+ % Anchors
+ %
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \anchor{output}{\outputanchor}
+
+ %
+ % Background path
+ %
+ \inheritbackgroundpath[from=circle]
+ \beforebackgroundpath{
+ \@tempdima=\radius%
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\@tempdima by-\pgf@yb%
+ \else%
+ \advance\@tempdima by-\pgf@xb%
+ \fi%
+ \advance\@tempdima by-.5\pgflinewidth%
+ \pgfsetarrows{-}%
+ \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpoint{-\@tempdima}{0pt}}}%
+ \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}}%
+ \pgfusepath{stroke}%
+ }
+}
+
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
new file mode 100644
index 00000000000..7bbaa4b24bb
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
@@ -0,0 +1,450 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.3 2005/07/06 15:58:57 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+\newif\ifpgf@plot@started
+
+
+% This handler converts each plot stream command into a curveto
+% command, except for the first, which is converted to the previously
+% specified action.
+%
+% Example:
+%
+% \pgfpathmoveto{\pgfpointorigin}
+% \pgfsetlinetofirstplotpoint
+% \pgfplothandlercurveto
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlercurveto{%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@initial%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\pgf@plot@curveto@handler@finish%
+ \global\pgf@plot@startedfalse%
+ }%
+}
+
+\def\pgf@plot@curveto@handler@initial#1{%
+ \pgf@process{#1}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@plot@first@action{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+ \xdef\pgf@plot@curveto@first{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}%
+ \global\let\pgf@plot@curveto@first@support=\pgf@plot@curveto@first%
+ \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@second%
+}
+
+\def\pgf@plot@curveto@handler@second#1{%
+ \pgf@process{#1}%
+ \xdef\pgf@plot@curveto@second{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@third%
+ \global\pgf@plot@startedtrue%
+}
+
+\def\pgf@plot@curveto@handler@third#1{%
+ \pgf@process{#1}%
+ \xdef\pgf@plot@curveto@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ % compute difference vector:
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgf@plot@curveto@first}
+ \advance\pgf@xa by-\pgf@x%
+ \advance\pgf@ya by-\pgf@y%
+ % compute support directions:
+ \pgf@xa=\pgf@plottension\pgf@xa%
+ \pgf@ya=\pgf@plottension\pgf@ya%
+ % first marshal:
+ \pgf@process{\pgf@plot@curveto@second}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \advance\pgf@xc by\pgf@xa%
+ \advance\pgf@yc by\pgf@ya%
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@curveto@first@support}%
+ {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@curveto@second}}%
+ {\pgf@marshal}%
+ % Prepare next:
+ \global\let\pgf@plot@curveto@first=\pgf@plot@curveto@second%
+ \global\let\pgf@plot@curveto@second=\pgf@plot@curveto@current%
+ \xdef\pgf@plot@curveto@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+}
+
+\def\pgf@plot@curveto@handler@finish{%
+ \ifpgf@plot@started%
+ \pgfpathcurveto{\pgf@plot@curveto@first@support}{\pgf@plot@curveto@second}{\pgf@plot@curveto@second}%
+ \fi%
+}
+
+
+% This commands sets the tension for smoothing of plots.
+%
+% #1 = tension of curves. A value of 1 will yield a circle when the
+% control points are at quarters of a circle. A smaller value
+% will result in a tighter curve. Default is 0.5.
+%
+% Example:
+%
+% \pgfsetplottension{0.2}
+
+\def\pgfsetplottension#1{%
+ \pgf@x=#1pt\relax%
+ \pgf@x=0.2775\pgf@x\relax%
+ \edef\pgf@plottension{\pgf@sys@tonumber\pgf@x}}
+\pgfsetplottension{0.5}
+
+
+% This handler converts the plot stream command into a curveto
+% command that is closed using a closepath.
+%
+% Example:
+%
+% \pgfpathmoveto{\pgfpointorigin}
+% \pgfplothandlerclosedcurve
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlerclosedcurve{%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@initial%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\pgf@plot@closedcurve@handler@finish%
+ }%
+}
+
+\def\pgf@plot@closedcurve@handler@initial#1{%
+ \pgf@process{#1}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \xdef\pgf@plot@closedcurve@initial{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}%
+ \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@second%
+ \global\pgf@plot@startedfalse%
+}
+
+\def\pgf@plot@closedcurve@handler@second#1{%
+ \pgf@process{#1}%
+ \xdef\pgf@plot@closedcurve@after@initial{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ {\pgfpathmoveto{}}%
+ \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@third%
+}
+
+\def\pgf@plot@closedcurve@handler@third#1{%
+ \global\pgf@plot@startedtrue%
+ \pgf@process{#1}%
+ \xdef\pgf@plot@closedcurve@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ % compute difference vector:
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgf@plot@closedcurve@initial}
+ \advance\pgf@xa by-\pgf@x%
+ \advance\pgf@ya by-\pgf@y%
+ % compute support directions:
+ \pgf@xa=\pgf@plottension\pgf@xa%
+ \pgf@ya=\pgf@plottension\pgf@ya%
+ % first marshal:
+ \pgf@process{\pgf@plot@closedcurve@after@initial}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \advance\pgf@xc by\pgf@xa%
+ \advance\pgf@yc by\pgf@ya%
+ \global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@after@initial%
+ \global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current%
+ \xdef\pgf@plot@closedcurve@after@initial@presupport{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@fourth%
+}
+
+\def\pgf@plot@closedcurve@handler@fourth#1{%
+ \pgf@process{#1}%
+ \xdef\pgf@plot@closedcurve@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ % compute difference vector:
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgf@plot@closedcurve@first}
+ \advance\pgf@xa by-\pgf@x%
+ \advance\pgf@ya by-\pgf@y%
+ % compute support directions:
+ \pgf@xa=\pgf@plottension\pgf@xa%
+ \pgf@ya=\pgf@plottension\pgf@ya%
+ % first marshal:
+ \pgf@process{\pgf@plot@closedcurve@second}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \advance\pgf@xc by\pgf@xa%
+ \advance\pgf@yc by\pgf@ya%
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
+ {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
+ {\pgf@marshal}%
+ % Prepare next:
+ \global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@second%
+ \global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+}
+
+\def\pgf@plot@closedcurve@handler@finish{%
+ \ifpgf@plot@started
+ %
+ % first, draw line from 2nd last to last:
+ %
+ \pgf@process{\pgf@plot@closedcurve@initial}%
+ % compute difference vector:
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgf@plot@closedcurve@first}%
+ \advance\pgf@xa by-\pgf@x%
+ \advance\pgf@ya by-\pgf@y%
+ % compute support directions:
+ \pgf@xa=\pgf@plottension\pgf@xa%
+ \pgf@ya=\pgf@plottension\pgf@ya%
+ % first marshal:
+ \pgf@process{\pgf@plot@closedcurve@second}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \advance\pgf@xc by\pgf@xa%
+ \advance\pgf@yc by\pgf@ya%
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
+ {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
+ {\pgf@marshal}%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ %
+ % second, draw line from last point to start:
+ %
+ \pgf@process{\pgf@plot@closedcurve@after@initial}%
+ % compute difference vector:
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\pgf@plot@closedcurve@second}%
+ \advance\pgf@xa by-\pgf@x%
+ \advance\pgf@ya by-\pgf@y%
+ % compute support directions:
+ \pgf@xa=\pgf@plottension\pgf@xa%
+ \pgf@ya=\pgf@plottension\pgf@ya%
+ % first marshal:
+ \pgf@process{\pgf@plot@closedcurve@initial}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \advance\pgf@xc by\pgf@xa%
+ \advance\pgf@yc by\pgf@ya%
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
+ {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@initial}}%
+ {\pgf@marshal}%
+ %
+ % third, draw line from first to second point:
+ %
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ {\noexpand\pgf@plot@closedcurve@after@initial@presupport}{\noexpand\pgf@plot@closedcurve@after@initial}}%
+ {\pgf@marshal}%
+ \pgfpathclose%
+ \fi%
+}
+
+
+
+
+
+% This handler converts each point in a stream into a line from the
+% $y$-axis to the given points coordinate, resulting in a
+% ``comb.''
+%
+% Example:
+%
+% \pgfplothandlerxcomb
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlerxcomb{%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@xcomb@handler%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\relax%
+ }%
+}
+
+\def\pgf@plot@xcomb@handler#1{%
+ \pgf@process{#1}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgf@ya}}%
+ \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+}
+
+
+% This handler converts each point in a stream into a line from the
+% $x$-axis straight up to the given points coordinate, resulting in a
+% ``comb.''
+%
+% Example:
+%
+% \pgfplothandlerycomb
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlerycomb{%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@ycomb@handler%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\relax%
+ }%
+}
+
+\def\pgf@plot@ycomb@handler#1{%
+ \pgf@process{#1}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgfpathmoveto{\pgfpoint{\pgf@xa}{0pt}}%
+ \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+}
+
+
+
+
+
+
+% This handler converts each point in a stream into a line from the
+% origin to the point's coordinate, resulting in a ``star''.
+%
+% Example:
+%
+% \pgfplothandlerpolarcomb
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlerpolarcomb{%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@polarcomb@handler%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\relax%
+ }%
+}
+
+\def\pgf@plot@polarcomb@handler#1{%
+ \pgf@process{#1}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgfpathmoveto{\pgfpointorigin}%
+ \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+}
+
+
+
+
+% This handler draws a given mark at each point.
+%
+% #1 = some code to be executed at each point (with the coordinate
+% system translated to that point).
+% Typically, this code will be \pgfuseplotmark{whatever}.
+%
+% Example:
+%
+% \pgfplothandlermark{\pgfuseplotmark{*}}
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlermark#1{%
+ \def\pgf@plot@mark{#1}%
+ \def\pgf@plotstreamstart{%
+ \global\let\pgf@plotstreampoint=\pgf@plot@mark@handler%
+ \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamend=\relax%
+ }%
+}
+
+\def\pgf@plot@mark@handler#1{%
+ {\pgftransformshift{#1}\pgf@plot@mark}%
+}
+
+
+% Define a new plot mark for use with \pgfplotmark.
+%
+% #1 = a plot mark mnemonic
+% #2 = code for drawing the mark
+%
+% Example:
+%
+% \pgfdeclareplotmark{*}{\pgfpathcircle{\pgfpointorigin}{2pt}\pgfusepathqfill}
+
+\def\pgfdeclareplotmark#1#2{\expandafter\def\csname pgf@plot@mark@#1\endcsname{#2}}
+
+
+% Set the size of plot marks. For circles, this will be the radius,
+% for other shapes it should be about half the width/height.
+%
+% Example:
+%
+% \pgfsetplotmarksize{1pt}
+
+\def\pgfsetplotmarksize#1{\setlength\pgfplotmarksize{#1}}
+
+\newdimen\pgfplotmarksize
+\pgfplotmarksize=2pt
+
+
+% Insert a plot mark's code at the origin.
+%
+% #1 = plot mark mnemonic
+%
+% Example:
+%
+% \pgfuseplotmark{*}
+
+\def\pgfuseplotmark#1{\csname pgf@plot@mark@#1\endcsname}
+
+
+% A stroke-filled circle mark
+
+\pgfdeclareplotmark{*}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfusepathqfillstroke
+}
+
+
+% A plus-sign like mark
+
+\pgfdeclareplotmark{+}
+{%
+ \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+
+% An x-shaped mark
+
+\pgfdeclareplotmark{x}
+{%
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+% See pgflibraryplotmarks for more plot marks
+
+
+
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
new file mode 100644
index 00000000000..760998738b4
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
@@ -0,0 +1,208 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplotmarks.code.tex,v 1.2 2005/07/06 15:58:57 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+% A stroked circle mark
+
+\pgfdeclareplotmark{o}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfusepathqstroke
+}
+
+
+
+% A six-pointed star mark
+
+\pgfdeclareplotmark{asterisk}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointpolar{30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{210}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-210}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+
+% A five-pointed star mark
+
+\pgfdeclareplotmark{star}
+{%
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+
+% An \oplus mark
+
+\pgfdeclareplotmark{oplus}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+\pgfdeclareplotmark{oplus*}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfusepathqfillstroke
+}
+
+
+% An \otimes mark
+
+\pgfdeclareplotmark{otimes}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+\pgfdeclareplotmark{otimes*}
+{%
+ \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfusepathqfillstroke
+}
+
+
+% A vertical bar mark
+
+\pgfdeclareplotmark{|}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+
+
+% A horizontal bar mark
+
+\pgfdeclareplotmark{-}
+{%
+ \pgfpathmoveto{\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfusepathqstroke
+}
+
+
+% A square stroked mark
+
+\pgfdeclareplotmark{square}
+{%
+ \pgfpathrectangle{\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
+ \pgfusepathqstroke
+}
+
+% A square stroked-filled mark
+
+\pgfdeclareplotmark{square*}
+{%
+ \pgfpathrectangle{\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
+ \pgfusepathqfillstroke
+}
+
+
+% A triangle mark
+
+\pgfdeclareplotmark{triangle}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-150}{\pgfplotmarksize}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+% A stroke-filled triangle mark
+
+\pgfdeclareplotmark{triangle*}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-150}{\pgfplotmarksize}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+
+
+% A diamond-shaped mark
+
+\pgfdeclareplotmark{diamond}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.75\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{-.75\pgfplotmarksize}{0pt}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+
+% A stroke-filled diamond-shaped mark
+
+\pgfdeclareplotmark{diamond*}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{.75\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpoint{-.75\pgfplotmarksize}{0pt}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+
+
+% A pentagon-shaped mark
+
+\pgfdeclareplotmark{pentagon}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfpathclose
+ \pgfusepathqstroke
+}
+
+% A stroke-filled pentagon-shaped mark
+
+\pgfdeclareplotmark{pentagon*}
+{%
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfpathclose
+ \pgfusepathqfillstroke
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
new file mode 100644
index 00000000000..2c777ef5504
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
@@ -0,0 +1,289 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.code.tex,v 1.5 2005/10/13 10:12:31 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+\pgfdeclareshape{ellipse}
+%
+% Draws a circle around the text
+%
+{
+ \savedanchor\centerpoint{%
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \pgf@y=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\dp\pgfnodeparttextbox%
+ }
+ \savedanchor\radius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf@y=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by.5\dp\pgfnodeparttextbox%
+ \setlength\pgf@yb{\pgfshapeinnerysep}%
+ \advance\pgf@y by\pgf@yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \setlength\pgf@xb{\pgfshapeinnerxsep}%
+ \advance\pgf@x by\pgf@xb%
+ %
+ % Adjust
+ %
+ \pgf@x=1.4142136\pgf@x%
+ \pgf@y=1.4142136\pgf@y%
+ %
+ % Adjust hieght, if necessary
+ %
+ \setlength\pgf@yc{\pgfshapeminheight}%
+ \ifdim\pgf@y<.5\pgf@yc%
+ \pgf@y=.5\pgf@yc%
+ \fi%
+ %
+ % Adjust width, if necessary
+ %
+ \setlength\pgf@xc{\pgfshapeminwidth}%
+ \ifdim\pgf@x<.5\pgf@xc%
+ \pgf@x=.5\pgf@xc%
+ \fi%
+ %
+ % Add outer sep
+ %
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \advance\pgf@x by\pgf@xb%
+ \advance\pgf@y by\pgf@yb%
+ }
+
+ %
+ % Anchors
+ %
+ \anchor{center}{\centerpoint}
+ \anchor{mid}{\centerpoint\setlength\pgf@y{.5ex}}
+ \anchor{base}{\centerpoint\pgf@y=0pt}
+ \anchor{north}
+ {
+ \pgf@process{\radius}
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@y by\pgf@ya
+ }
+ \anchor{south}
+ {
+ \pgf@process{\radius}
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@y by-\pgf@ya
+ }
+ \anchor{west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa
+ }
+ \anchor{mid west}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa%
+ \setlength\pgf@y{.5ex}
+ }
+ \anchor{base west}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa%
+ \pgf@y=0pt
+ }
+ \anchor{north west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-0.707107\pgf@xa
+ \advance\pgf@y by0.707107\pgf@ya
+ }
+ \anchor{south west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-0.707107\pgf@xa
+ \advance\pgf@y by-0.707107\pgf@ya
+ }
+ \anchor{east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa
+ }
+ \anchor{mid east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa%
+ \setlength\pgf@y{.5ex}
+ }
+ \anchor{base east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa%
+ \pgf@y=0pt
+ }
+ \anchor{north east}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by0.707107\pgf@xa
+ \advance\pgf@y by0.707107\pgf@ya
+ }
+ \anchor{south east}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by0.707107\pgf@xa
+ \advance\pgf@y by-0.707107\pgf@ya
+ }
+ \anchorborder{
+ \edef\pgf@marshal{%
+ \noexpand\pgfpointborderellipse
+ {\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
+ {\noexpand\radius}%
+ }%
+ \pgf@marshal%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \centerpoint%
+ \advance\pgf@x by\pgf@xa%
+ \advance\pgf@y by\pgf@ya%
+ }
+
+ %
+ % Background path
+ %
+ \backgroundpath
+ {
+ \pgf@process{\radius}%
+ \@tempdima=\pgf@x%
+ \@tempdimb=\pgf@y%
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \advance\@tempdima by-\pgf@xb%
+ \advance\@tempdimb by-\pgf@yb%
+ \pgfpathellipse{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}{\pgfpoint{0pt}{\@tempdimb}}%
+ }
+}
+
+
+\pgfdeclareshape{cross out}
+{
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+ % store lower right in xa/ya and upper right in xb/yb
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
+ \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@yb}}
+ \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
+ }
+}
+
+
+\pgfdeclareshape{strike out}
+{
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+ \pgfpathmoveto{\southwest}
+ \pgfpathlineto{\northeast}
+ }
+}
+
+
+\pgfdeclareshape{forbidden sign}
+{
+ \inheritsavedanchors[from=circle] % this is nearly a circle
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \inheritbackgroundpath[from=circle]
+ \foregroundpath{
+ \centerpoint%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \@tempdima=\radius%
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\@tempdima by-\pgf@yb%
+ \else%
+ \advance\@tempdima by-\pgf@xb%
+ \fi%
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{\pgf@xc}{\pgf@yc}}{\pgfpoint{-0.707107\@tempdima}{-0.707107\@tempdima}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{\pgf@xc}{\pgf@yc}}{\pgfpoint{0.707107\@tempdima}{0.707107\@tempdima}}}
+ }
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
new file mode 100644
index 00000000000..3440477499e
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
@@ -0,0 +1,369 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarysnakes.code.tex,v 1.9 2005/10/13 10:12:31 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+\newdimen\pgfsnakesegmentamplitude
+\newdimen\pgfsnakesegmentlength
+\def\pgfsnakesegmentangle{45}
+\def\pgfsnakesegmentobjectlength{\pgfsnakesegmentamplitude}
+\def\pgfsnakesegmentaspect{0.5}
+
+\pgfsnakesegmentlength=10pt
+\pgfsnakesegmentamplitude=2.5pt
+
+
+
+% snake snake
+%
+% This snake produces a hopefully optically pleasing squiggly snake.
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{snake}{initial}
+{
+ \state{initial}[switch if less than=.625\pgfsnakesegmentlength to final,
+ width=.3125\pgfsnakesegmentlength,
+ next state=down]
+ {
+ \pgfpathcurveto
+ {\pgfpoint{.125\pgfsnakesegmentlength}{0pt}}
+ {\pgfpoint{.1875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.3125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ }
+ \state{down}[switch if less than=.8125\pgfsnakesegmentlength to end down,
+ width=.5\pgfsnakesegmentlength,
+ next state=up]
+ {
+ \pgfpathcosine{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathsine{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ }
+ \state{up}[switch if less than=.8125\pgfsnakesegmentlength to end up,
+ width=.5\pgfsnakesegmentlength,
+ next state=down]
+ {
+ \pgfpathcosine{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathsine{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ }
+ \state{end down}[width=.3125\pgfsnakesegmentlength,
+ next state=final]
+ {
+ \pgfpathcurveto
+ {\pgfpoint{.125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.1875\pgfsnakesegmentlength}{0pt}}
+ {\pgfpoint{.3125\pgfsnakesegmentlength}{0pt}}
+ }
+ \state{end up}[width=.3125\pgfsnakesegmentlength,
+ next state=final]
+ {
+ \pgfpathcurveto
+ {\pgfpoint{.125\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.1875\pgfsnakesegmentlength}{0pt}}
+ {\pgfpoint{.3125\pgfsnakesegmentlength}{0pt}}
+ }
+ \state{final}
+ { \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+}
+
+
+
+
+% zigzag snake
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{zigzag}{up}
+{
+ \state{up}[width=.5\pgfsnakesegmentlength,%
+ next state=down]
+ {
+ \pgfpathlineto{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{.5\pgfsnakesegmentlength}{0pt}}
+ }
+ \state{down}[width=.5\pgfsnakesegmentlength,%
+ next state=up]
+ {
+ \pgfpathlineto{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{.5\pgfsnakesegmentlength}{0pt}}
+ }
+ \state{final}
+ { \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+}
+
+
+
+% saw snake
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{saw}{initial}
+{
+ \state{initial}[width=\pgfsnakesegmentlength]
+ {
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentlength}{0pt}}
+ }
+ \state{final}
+ {
+ \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+% coil snake
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentlength,
+
+\pgfdeclaresnake{coil}{coil}
+{
+ \state{coil}[switch if less than=%
+ 1.5\pgfsnakesegmentlength+%
+ \pgfsnakesegmentaspect\pgfsnakesegmentamplitude+%
+ \pgfsnakesegmentaspect\pgfsnakesegmentamplitude to last,
+ width=\pgfsnakesegmentlength]
+ {
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{0 }{ 0.555}{1}}
+ {\pgfpoint@oncoil{0.445}{ 1 }{2}}
+ {\pgfpoint@oncoil{1 }{ 1 }{3}}
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{1.555}{ 1 }{4}}
+ {\pgfpoint@oncoil{2 }{ 0.555}{5}}
+ {\pgfpoint@oncoil{2 }{ 0 }{6}}
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{2 }{-0.555}{7}}
+ {\pgfpoint@oncoil{1.555}{-1 }{8}}
+ {\pgfpoint@oncoil{1 }{-1 }{9}}
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{0.445}{-1 }{10}}
+ {\pgfpoint@oncoil{0 }{-0.555}{11}}
+ {\pgfpoint@oncoil{0 }{ 0 }{12}}
+ }
+ \state{last}[width=.5\pgfsnakesegmentlength+%
+ \pgfsnakesegmentaspect\pgfsnakesegmentamplitude+%
+ \pgfsnakesegmentaspect\pgfsnakesegmentamplitude,next state=final]
+ {
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{0 }{ 0.555}{1}}
+ {\pgfpoint@oncoil{0.445}{ 1 }{2}}
+ {\pgfpoint@oncoil{1 }{ 1 }{3}}
+ \pgfpathcurveto
+ {\pgfpoint@oncoil{1.555}{ 1 }{4}}
+ {\pgfpoint@oncoil{2 }{ 0.555}{5}}
+ {\pgfpoint@oncoil{2 }{ 0 }{6}}
+ }
+ \state{final}
+ {
+ \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+\def\pgfpoint@oncoil#1#2#3{%
+ \pgf@x=#1\pgfsnakesegmentamplitude%
+ \pgf@x=\pgfsnakesegmentaspect\pgf@x%
+ \pgf@y=#2\pgfsnakesegmentamplitude%
+ \pgf@xa=0.083333333333\pgfsnakesegmentlength%
+ \advance\pgf@x by#3\pgf@xa%
+}
+
+
+% bumps snake
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{bumps}{initial}
+{
+ \state{initial}[width=.5\pgfsnakesegmentlength]
+ {
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{.555\pgfsnakesegmentamplitude}}
+ {\pgfpoint{0.11125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathcurveto
+ {\pgfpoint{.38875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.5\pgfsnakesegmentlength}{.5\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.5\pgfsnakesegmentlength}{0\pgfsnakesegmentamplitude}}
+ }
+ \state{final}
+ {
+ \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+
+% expanding waves snake
+%
+% Parameters: \pgfsnakesegmentangle, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{expanding waves}{initial}
+{
+ \state{initial}[width=\pgfsnakesegmentlength,next state=wave]
+ {}
+
+ \state{wave}[switch if less than=\pgfsnakesegmentlength to last,
+ width=\pgfsnakesegmentlength]
+ {
+ \pgfpathmoveto{
+ \pgfpointadd
+ {\pgfpoint{-\pgfsnakecompleteddistance}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}%
+ }
+ \state{last}[width=0pt,next state=final]
+ {
+ \pgfpathmoveto{
+ \pgfpointadd
+ {\pgfpoint{-\pgfsnakecompleteddistance}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}%
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+
+% waves snake
+%
+% Parameters: \pgfsnakesegmentangle, \pgfsnakesegmentlength
+
+\pgfdeclaresnake{waves}{wave}
+{
+ \state{wave}[width=\pgfsnakesegmentlength]
+ {
+ \pgftransformxshift{\pgfsnakesegmentlength}
+ \pgfpathmoveto{
+ \pgfpointadd
+ {\pgfpoint{-\pgfsnakesegmentobjectlength}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentobjectlength}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakesegmentobjectlength}%
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+% triangle snakes
+%
+% Parameters: \pgfsnakesegmentlength, \pgfsnakeobjectsize, \pgfsnakesegmentamplitude
+
+\pgfdeclaresnake{triangles}{triangle}
+{
+ \state{triangle}[switch if less than=\pgfsnakesegmentlength to last,
+ width=\pgfsnakesegmentlength]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathclose
+ }
+ \state{last}[width=\pgfsnakesegmentobjectlength,next state=final]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathclose
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+
+% ticks snakes
+%
+% Parameters: \pgfsnakesegmentlength, \pgfsnakesegmentamplitude
+
+\pgfdeclaresnake{ticks}{ticks}
+{
+ \state{ticks}[width=\pgfsnakesegmentlength]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+% border snake
+%
+% Parameters: \pgfsnakesegmentlength, \pgfsnakesegmentamplitude, \pgfsnakesegmentangle
+
+\pgfdeclaresnake{border}{tick}
+{
+ \state{tick}[switch if less than=\pgfsnakesegmentlength to last,
+ width=\pgfsnakesegmentlength]
+ {
+ \pgfpathmoveto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentamplitude}}
+ }
+ \state{last}[width=\pgfsnakesegmentamplitude,next state=final]
+ {
+ \pgfpathmoveto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentamplitude}}
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+
+
+% brace snakes
+%
+% Parameters: \pgfsnakesegmentamplitude
+
+\pgfdeclaresnake{brace}{brace}
+{
+ \state{brace}[width=\pgfsnakeremainingdistance,next state=final]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {
+ \pgftransformxshift{\pgfsnakesegmentaspect\pgfsnakeremainingdistance}
+ \pgfpathlineto{\pgfpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ \pgfpathcurveto
+ {\pgfpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfpoint{-.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
+ {\pgfpoint{0\pgfsnakesegmentamplitude}{1\pgfsnakesegmentamplitude}}
+ \pgfpathcurveto
+ {\pgfpoint{.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
+ {\pgfpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ }
+ {
+ \pgftransformxshift{\pgfsnakeremainingdistance}
+ \pgfpathlineto{\pgfpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ \pgfpathcurveto
+ {\pgfpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfpoint{-.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
+ {\pgfpoint{0pt}{0pt}}
+ }
+ }
+ \state{final}
+ {}
+}
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
new file mode 100644
index 00000000000..260a8f9a28a
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
@@ -0,0 +1,131 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex,v 1.1 2005/08/13 18:59:56 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+% Layers
+
+\pgfdeclarelayer{background}
+\pgfsetlayers{background,main}
+
+
+% Main style
+
+\tikzstyle{background rectangle}= [draw]
+\tikzstyle{background top}= [draw]
+\tikzstyle{background bottom}= [draw]
+\tikzstyle{background left}= [draw]
+\tikzstyle{background right}= [draw]
+\tikzstyle{background grid}= [help lines,draw]
+
+\define@key{tikz}{inner frame sep}{\def\tikz@framexsep{#1}\def\tikz@frameysep{#1}}
+\define@key{tikz}{inner frame xsep}{\def\tikz@framexsep{#1}}
+\define@key{tikz}{inerr frame ysep}{\def\tikz@frameysep{#1}}
+\def\tikz@framexsep{1ex}
+\def\tikz@frameysep{1ex}
+
+\define@key{tikz}{outer frame sep}{\def\tikz@outerframexsep{#1}\def\tikz@outerframeysep{#1}}
+\define@key{tikz}{outer frame xsep}{\def\tikz@outerframexsep{#1}}
+\define@key{tikz}{outer frame ysep}{\def\tikz@outerframeysep{#1}}
+\def\tikz@outerframexsep{0ex}
+\def\tikz@outerframeysep{0ex}
+
+
+% Looseness
+
+\tikzstyle{loose background}= [inner frame sep=2ex]
+\tikzstyle{tight background}= [inner frame sep=0ex]
+
+
+
+% Showing background styles
+
+\tikzstyle{framed}= [style=show background rectangle]
+\tikzstyle{gridded}= [style=show background grid]
+
+\tikzstyle{show background rectangle}=[execute at end picture=\tikz@background@framed]
+\tikzstyle{show background top}= [execute at end picture=\tikz@background@top]
+\tikzstyle{show background bottom}= [execute at end picture=\tikz@background@bottom]
+\tikzstyle{show background left}= [execute at end picture=\tikz@background@left]
+\tikzstyle{show background right}= [execute at end picture=\tikz@background@right]
+\tikzstyle{show background grid}= [execute at end picture=\tikz@background@grid]
+
+
+% Implementation
+
+\def\tikz@background@save{%
+ \ifx\tikz@bg@minx\@undefined%
+ \pgf@xb=\pgf@picminx%
+ \pgf@yb=\pgf@picminy%
+ \pgf@xc=\pgf@picmaxx%
+ \pgf@yc=\pgf@picmaxy%
+ \setlength{\pgf@x}{\tikz@framexsep}%
+ \setlength{\pgf@y}{\tikz@frameysep}%
+ \advance\pgf@xb by-\pgf@x%
+ \advance\pgf@yb by-\pgf@y%
+ \advance\pgf@xc by\pgf@x%
+ \advance\pgf@yc by\pgf@y%
+ \edef\tikz@bg@minx{\the\pgf@xb}%
+ \edef\tikz@bg@miny{\the\pgf@yb}%
+ \edef\tikz@bg@maxx{\the\pgf@xc}%
+ \edef\tikz@bg@maxy{\the\pgf@yc}%
+ \setlength{\pgf@x}{\tikz@outerframexsep}%
+ \setlength{\pgf@y}{\tikz@outerframeysep}%
+ \advance\pgf@xb by-\pgf@x%
+ \advance\pgf@yb by-\pgf@y%
+ \advance\pgf@xc by\pgf@x%
+ \advance\pgf@yc by\pgf@y%
+ \edef\tikz@bg@outerminx{\the\pgf@xb}%
+ \edef\tikz@bg@outerminy{\the\pgf@yb}%
+ \edef\tikz@bg@outermaxx{\the\pgf@xc}%
+ \edef\tikz@bg@outermaxy{\the\pgf@yc}%
+ \fi%
+}
+
+\def\tikz@background@framed{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background rectangle] (\tikz@bg@minx,\tikz@bg@miny) rectangle (\tikz@bg@maxx,\tikz@bg@maxy);
+ \endpgfonlayer
+}
+
+\def\tikz@background@top{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background top] (\tikz@bg@outerminx,\tikz@bg@maxy) -- (\tikz@bg@outermaxx,\tikz@bg@maxy);
+ \endpgfonlayer
+}
+
+\def\tikz@background@bottom{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background bottom] (\tikz@bg@outerminx,\tikz@bg@miny) -- (\tikz@bg@outermaxx,\tikz@bg@miny);
+ \endpgfonlayer
+}
+
+\def\tikz@background@left{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background left] (\tikz@bg@minx,\tikz@bg@outerminy) -- (\tikz@bg@minx,\tikz@bg@outermaxy);
+ \endpgfonlayer
+}
+
+\def\tikz@background@right{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background right] (\tikz@bg@maxx,\tikz@bg@outerminy) -- (\tikz@bg@maxx,\tikz@bg@outermaxy);
+ \endpgfonlayer
+}
+
+\def\tikz@background@grid{%
+ \tikz@background@save%
+ \pgfonlayer{background}
+ \path[style=background grid] (\tikz@bg@minx,\tikz@bg@miny) grid (\tikz@bg@maxx,\tikz@bg@maxy);
+ \endpgfonlayer
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
new file mode 100644
index 00000000000..8f472237604
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
@@ -0,0 +1,94 @@
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztrees.code.tex,v 1.4 2005/09/02 16:05:44 tantau Exp $
+
+% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+
+
+%
+% Three point growth
+%
+
+\define@key{tikz}{grow via three points}{\let\tikz@grow=\tikz@grow@three\tikz@parse@three#1}
+
+\def\tikz@parse@three one child at#1(#2)#3and two children at#4(#5)#6and#7(#8){%
+ \def\tikz@tree@one@child{\tikz@scan@one@point\pgf@process(#2)}
+ \def\tikz@tree@left@child{\tikz@scan@one@point\pgf@process(#5)}
+ \def\tikz@tree@right@child{\tikz@scan@one@point\pgf@process(#8)}
+}
+
+\def\tikz@grow@three{%
+ \pgf@process{\tikz@tree@one@child}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\tikz@tree@left@child}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \advance\pgf@xb by-\pgf@xa%
+ \advance\pgf@yb by-\pgf@ya%
+ \pgf@process{\tikz@tree@right@child}%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \advance\pgf@xc by-\pgf@xa%
+ \advance\pgf@yc by-\pgf@ya%
+ \advance\pgf@xc by-\pgf@xb%
+ \advance\pgf@yc by-\pgf@yb%
+ \advance\tikznumberofchildren by-1\relax%
+ \pgf@xb=\tikznumberofchildren\pgf@xb\relax%
+ \pgf@yb=\tikznumberofchildren\pgf@yb\relax%
+ \advance\tikznumberofcurrentchild by-1\relax%
+ \pgf@xc=\tikznumberofcurrentchild\pgf@xc\relax%
+ \pgf@yc=\tikznumberofcurrentchild\pgf@yc\relax%
+ \advance\pgf@xa by\pgf@xb%
+ \advance\pgf@xa by\pgf@xc%
+ \advance\pgf@ya by\pgf@yb%
+ \advance\pgf@ya by\pgf@yc%
+ \edef\pgf@temp{\noexpand\pgftransformshift{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}}%
+ \pgf@temp%
+}
+
+%
+% Circle grow
+%
+
+\tikzstyle{grow cyclic}=[growth function=\tikz@grow@circle]
+
+\define@key{tikz}{sibling angle}{\edef\tikz@sibling@angle{#1}}
+\def\tikz@sibling@angle{20}
+
+\def\tikz@grow@circle{%
+ \c@pgf@counta=\tikz@sibling@angle\relax%
+ \c@pgf@countb=\tikz@sibling@angle\relax%
+ \divide\c@pgf@counta by2\relax%
+ \multiply\c@pgf@countb by\tikznumberofcurrentchild\relax%
+ \c@pgf@countc=-\c@pgf@counta\relax
+ \multiply\c@pgf@countc by\tikznumberofchildren\relax%
+ \advance\c@pgf@countc by-\c@pgf@counta\relax
+ \advance\c@pgf@countc by\c@pgf@countb\relax
+ \pgftransformrotate{\the\c@pgf@countc}%
+ \pgftransformxshift{\the\tikzleveldistance}%
+}
+
+
+%
+% Connections
+%
+
+\tikzstyle{edge from parent fork down}=
+ [edge from parent path={(\tikzparentnode\tikzparentanchor) -- +(0pt,-.5\tikzleveldistance) -| (\tikzchildnode\tikzchildanchor)}]
+
+\tikzstyle{edge from parent fork up}=
+ [edge from parent path={(\tikzparentnode\tikzparentanchor) -- +(0pt,.5\tikzleveldistance) -| (\tikzchildnode\tikzchildanchor)}]
+
+\tikzstyle{edge from parent fork left}=
+ [edge from parent path={(\tikzparentnode\tikzparentanchor) -- +(-.5\tikzleveldistance,0pt) |- (\tikzchildnode\tikzchildanchor)}]
+
+\tikzstyle{edge from parent fork right}=
+ [edge from parent path={(\tikzparentnode\tikzparentanchor) -- +(.5\tikzleveldistance,0pt) |- (\tikzchildnode\tikzchildanchor)}]
+
+
+
+\endinput