From 873660d1a83ece926fe7206288dda9c36b349c1b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:46:03 +0000
Subject: generic 1

git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
---
 .../pgf/libraries/pgflibraryarrows.code.tex        | 806 +++++++++++++++++++++
 1 file changed, 806 insertions(+)
 create mode 100644 Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex

(limited to 'Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex')

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
-- 
cgit v1.2.3

